# Writing Cold Open

> Generates the first sentence of a message or email when you can't get past the blank cursor. Offers 2-3 openings matched to the relationship and goal, then steps out — you write the rest. Use when user says "cold open", "help me start this message", "how do I begin", "stuck on opening", "first sentence", or invokes /writing-cold-open.

- Skill: `risadams/writing-cold-open` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add risadams/writing-cold-open`
- Raw SKILL.md: https://api.skillmd.com/api/skills/risadams/writing-cold-open/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- License: MIT
- Author: risadams (https://skillmd.com/u/risadams)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/risadams/writing-cold-open

---


# Cold Open

The user knows what they need to say. They cannot type the first word. The blank cursor is winning. Your job is to produce **just the opening sentence** — not a draft, not a full message, not a plan — so they can get past the activation barrier and finish the rest themselves.

Sibling to [task-initiation](../task-initiation/SKILL.md) (which handles tasks) and [writing-social-script](../writing-social-script/SKILL.md) (which writes the whole script). This one is narrower: just the opener.

## Why usually no council

Cold-open is fast by design. For most cases, run inline — three openings, no debate.

For a high-stakes opener (cold outreach to a stranger, a sensitive message, a message you've drafted and deleted three times), invoke `clarity-council` via `Skill` in `council-single-persona` agent with `persona_name=psychologist`:

- **user_problem:** *"Generate three opening sentences for this message. Each should match a different register (direct / warm / contextual). Predict how each will land for the recipient."*
- **context:** the goal of the message + recipient + relationship + channel.
- **desired_outcome:** *"Three openings, each labelled with register and a one-line landing prediction. Nothing else — they'll write the rest."*
- **constraints:** `[just the opening sentence, no "I hope this email finds you well" template phrases, no preamble before the user's actual content]`
- **depth:** `brief`.

## When to activate

When the user says:
- "How do I start"
- "Stuck on the opening"
- "First sentence"
- "I've been staring at this message"
- "Cold open"
- "What do I even say first"

## The questions

Ask in one `AskUserQuestion` call (skip if already answered):

1. **What's the message goal?** (One sentence — the actual ask or update, not the framing.)
2. **Who's the recipient and what's the relationship?**
3. **Channel?** (Email vs Slack vs text — opening conventions differ a lot.)

## Output format

### Three openings

**Direct** — gets to the point in the first sentence:
> [Opening sentence]

**Warm** — one beat of relational acknowledgment, then pivots:
> [Opening sentence]

**Contextual** — names the trigger or shared context first:
> [Opening sentence]

For each, in one line: who it works best for.

### Pick one. Write the rest.

End with a literal nudge:

> **Pick one. Paste it in. Keep typing.**

That's the whole output. Do not offer to write the rest. Do not write subject lines (unless the user asks). Do not offer revisions until the user comes back asking.

## What NOT to do

- Do not write more than three openings — more options = more paralysis
- Do not write past the first sentence — that's not what this skill is for
- Do not use "I hope this email finds you well" or other template phrases
- Do not include a sign-off — the user only needs the opener
- Do not ask "are you sure?" after generating — they came here to be unstuck
- Do not editorialize about how the message should go — just produce the openers

