Claude, Compose Outreach.

When Claude drafts outreach, the personal line is not free-styled. The compose-outreach skill names one job, four trigger phrases and one signal source, Common Room signals, and the personal detail is something Claude was told to find.

2:11 video3 min readWatch on YouTube

Ask Claude to draft outreach to a real contact and the natural guess is that it invents the personal touch. The video says it does not. Claude fetches a specific signal from data and writes around that. The question it works through is what "personalized" actually means here, using the compose-outreach skill as the example.

Not a template, and not free-styled

The video starts with the requirement that the message has to actually be about that person, rather than being a template with a name dropped in. The tempting explanation is that Claude free-styles the personal touch, inferring a detail from its own general sense of the contact. The video tests that guess with a simple thought experiment: ask for a draft twice for the same contact. A free-styling writer might return two different flavors of flattery. Here, the file names one source to pull from, so both drafts point at the same signal.

A skill is a folder Claude reads

That consistency comes from the way the skill is built. A skill is a folder Claude reads before it acts. Inside compose-outreach sit a SKILL.md file and a references folder, with the instructions in plain language. The skill also names its own triggers: four phrases, "draft outreach to," "write an email to," "compose a message for," or any outreach-drafting request.

One job, one named source

The skill has exactly one job: to generate personalized outreach messages using Common Room signals. That is a named external data source, not Claude's general sense of the contact. The skill then works its steps in order: read the file, look up the signal, return the draft. There is no branching and no improvising.

What a title change looks like

The video uses a running example. Say a contact's title has changed since your last outreach. The line in the draft that mentions it is not a flourish. It is the signal the file told Claude to go find. When a draft names a real signal, such as a title change or a usage spike, that is the skill doing its job: a fact from the data, not a guess.

Why a generic draft is not broken

When a draft reads generic, that does not mean it broke. It can mean that no strong signal was on file for that contact. The file never tells Claude to invent one to fill the gap. The video is careful not to claim that a generic-sounding draft means the skill failed, and it does not judge whether Common Room signals are the right basis for personalized outreach. It only explains the mechanism and its edges.

Key takeaways

  • Claude does not invent the personal touch in outreach; the skill has it fetch a signal from data.
  • Asking twice for the same contact gives drafts that point at the same signal, because the file names one source.
  • The compose-outreach skill is a folder with SKILL.md and a references folder.
  • Its four triggers are "draft outreach to," "write an email to," "compose a message for," and any outreach-drafting request.
  • Its one job is generating personalized messages using Common Room signals.
  • The steps are read the file, look up the signal, return the draft, with no improvising.
  • A generic draft can simply mean no strong signal was on file.

Try it yourself

Before Claude drafts outreach to a contact, ask it to read the compose-outreach SKILL.md and tell you exactly which signal source it is pulling from and what triggered it. Then have it draft the message and show you which line traces back to a real signal. Watch two things: does it name the signal source before writing a single line, and does the personal line actually trace back to something it named, or is it padding?

Chapters

  1. 0:00Claude, compose outreach — it invents the personal touch, right?
  2. 0:12Not a template — the message has to be about that person
  3. 0:19The guess: free-styled personalization
  4. 0:27Break it — ask it twice, both drafts point at the same signal
  5. 0:38A skill is a folder: SKILL.md + references, 2 files
  6. 0:49Anchor planted — a contact's title just changed
  7. 0:53What triggers compose-outreach: four named phrases
  8. 1:02One named source: Common Room signals, not a hunch
  9. 1:12How the skill works: read, look up, return
  10. 1:19Anchor payoff — the title change, fetched not invented
  11. 1:27A named signal is real
  12. 1:35Generic isn't broken
  13. 1:45Carry-out: found, not invented
  14. 1:51Your turn
  15. 2:08Outro
Full transcript(auto-generated, with timestamps)

Claude, compose outreach — it invents the personal touch, right?

[0:00]Someone might ask Claude to compose outreach and assume it invents the personal touch. It doesn't. It fetches a specific signal from data and writes around that. So, what does personalized actually mean here? You ask Claude to draft outreach to a

Not a template — the message has to be about that person

[0:13]Real contact. The message has to actually be about that person, not a template with a name dropped in.

The guess: free-styled personalization

[0:20]The natural guess, Claude freestyles the personal touch, inferring a detail from its own general sense of the contact.

Break it — ask it twice, both drafts point at the same signal

[0:27]Ask it twice for the same contact. A freestyling writer might return two different flavors of flattery. This doesn't. The file names one source to pull from, so both drafts point at the same signal.

A skill is a folder: SKILL.md + references, 2 files

[0:38]That's because a skill is a folder Claude reads before it acts. Inside compose outreach sits skill.md and a references folder, the instructions in plain language. Say a contact's title

Anchor planted — a contact's title just changed

[0:50]Changed since your last outreach. Hold on to that.

What triggers compose-outreach: four named phrases

[0:53]It also names its own trigger, four phrases, draft outreach to, write an email to, compose a message for, or any outreach drafting request. And it names

One named source: Common Room signals, not a hunch

[1:02]Exactly one job, generate personalized outreach messages using common room signals, a named external data source, not Claude's general sense of the contact. Then it works the steps in

How the skill works: read, look up, return

[1:13]Order, read the file, look up the signal, return the draft. No branching, no improvising.

Anchor payoff — the title change, fetched not invented

[1:19]Back to that title change. The line in the draft that mentions it isn't a flourish. It's the signal the file told Claude to go find.

A named signal is real

[1:27]When the draft names a real signal, a title change or usage spike, that's the skill doing its job, a fact from the data, not a guess.

Generic isn't broken

[1:35]When a draft reads generic, that doesn't mean it broke. It can mean no strong signal was on file. The file never says invent one to fill the gap. The personal line in that email is a signal Claude

Carry-out: found, not invented

[1:46]Was told to go find, not one it made up. Your turn. Here's the prompt. Read it with me. Ask Claude before you draft

Your turn

[1:52]Outreach to this contact, read the compose outreach skill.md and tell me exactly what signal source you're pulling from and what triggered you. Then draft it and check whether the personal line traces back to something real or nothing at all. Claude compose outreach. Lay them in for

Outro

[2:09]Bear.

More from Claude Basics

Humanitarians AI Lyrical Literacy Project