Skip to main content
skill CX Codex

write · ohad6k — Claude Code skill: copy in your own voice

This skill loads your Emulo writing profile and drafts marketing copy, posts and replies in your voice. It picks the register from context.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add ohad6k/emulo --skill write -a claude-code
Open on GitHub

What write does

The skill pulls in your Emulo writing profile and applies it to marketing, social, replies, product copy and launch copy. It looks for emulo.py two directories above the skill, and falls back to ./emulo.py only for a direct repo checkout. The resolved path goes into EMULO_PY, then it runs python "$EMULO_PY" plugin profile-path --domain write.

A nonzero exit stops the load: the skill hands you the recovery instruction from that command instead of pulling personal context. Otherwise it reads every returned path in full — the core working profile first, the writing profile second — and applies both.

Register is inferred, never asked about. An explicit audience statement from you wins over everything else. A profile with register sections always loads the voice laws plus exactly one register. When the picked register has no section, only the voice laws apply and the other register is never substituted; the skill says so and points at run emulo and deepen write to mine it.

What it helps with

  • draft a launch announcement in the author's voice
  • reply in a thread without corporate tone
  • write product copy for a specific register
  • keep one voice across posts and emails
  • rewrite a formal email for a given recipient

Example prompts for the agent

  • Write a post about the new release for a builder community
  • Reply to this thread as me, casual tone
  • Draft a formal email to a client about the slipped deadline

How to install write

1Skills CLI (Vercel)

npx skills add ohad6k/emulo --skill write -a claude-code

2Manually: put the files in place

~/.claude/skills/write/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/write/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about write

How do I install write in Claude Code?

Run npx skills add ohad6k/emulo --skill write -a claude-code. The skill lands at ~/.claude/skills/write/SKILL.md.

What does the write skill do?

It loads your Emulo writing profile and drafts marketing copy, posts, replies and product copy in your voice. Register comes from the task context.

What does write need to work?

An emulo.py file and a mined writing profile. If the profile-path command exits nonzero, the skill stops and does not load personal context.

Source text

SKILL.md · MIT
---
name: write
description: Use for marketing, social, replies, product copy, launch copy, and writing in the user's voice when their Emulo writing profile should guide the task. Do not use for unrelated execution or UI/UX design alone.
---

# Emulo write

1. Locate `emulo.py` two directories above this skill; fall back to `./emulo.py` only for a direct repo checkout.
2. Store the resolved absolute runtime path as `EMULO_PY`, then run `python "$EMULO_PY" plugin profile-path --domain write`.
3. If it exits nonzero, give its exact recovery or targeted-deepen instruction and stop loading personal context.
4. Read every returned path completely. The first is the core working profile; the second is the writing profile. Apply both.
5. Pick the register from context; never ask. A writing profile with register sections (`## Voice laws`, `## Casual register`, `## Professional register`) loads voice laws always, plus exactly one register:
   - An explicit audience statement from the user ("for my boss", "make it formal") always wins.
   - Otherwise infer from what is in the task: a pasted thread with a manager, client, or customer, a formal email, documentation, or official product copy selects professional; a community reply, social post, chat banter, or a builder-to-builder thread selects casual; a pasted conversation selects the register matching that thread's own audience and tone.
   - State the pick in one short line ("using professional register") so it is correctable, then write; never block on register confirmation.
   - If the picked register has no section in the profile, load the voice laws only and never substitute the other register; say so in the same line ("professional register not mined yet, using voice laws only") and suggest `run emulo and deepen write` to mine it.
   - A flat profile without register sections applies in full, unchanged.
6. Never imitate a generic voice when the writing domain is inactive.

© ohad6k · MIT · ohad6k/emulo

Similar skills

Everything for Marketing and content →

write by other authors comes first.

From the same set2

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor