/copywriting-hooks
Writes opening hooks and post titles for long-form articles in EN or FR — blog posts, Substack/Medium/dev.to, LinkedIn long-form, newsletters, essays. Trigger whenever the user asks for a hook, opening, lede, intro, first sentence/paragraph, opener, accroche, attaque, phrase
$ npx -y skills add samber/cc-skills --skill copywriting-hooks --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/copywriting-hooks
Context preview
The summary Claude sees to decide when to auto-load this skill.
Writes opening hooks and post titles for long-form articles in EN or FR — blog posts, Substack/Medium/dev.to, LinkedIn long-form, newsletters, essays. Trigger whenever the user asks for a hook, opening, lede, intro, first sentence/paragraph, opener, accroche, attaque, phrase
SKILL.md
copywriting-hooks.SKILL.mdname: copywriting-hooks
description: >
Writes opening hooks and post titles for long-form articles in EN or FR — blog posts, Substack/Medium/dev.to, LinkedIn long-form, newsletters, essays. Trigger whenever the user asks for a hook, opening, lede, intro, first sentence/paragraph, opener, accroche, attaque, phrase d'accroche, or première phrase — including punching up a flat intro or draft opening — or for a post title, titre d'article, or headline. Do NOT trigger for social posts (LinkedIn feed, Twitter/X, TikTok, Bluesky), READMEs, taglines, email subjects, ad copy, landing-page headlines, press releases, SEO meta, or body rewrites. Do NOT use for end-of-article CTAs — use samber/cc-skills@copywriting-cta instead.
user-invocable: true
license: MIT
compatibility: Designed for Claude Code, Codex or similar harness.
metadata:
author: samber
version: "1.1.2"
openclaw:
emoji: "🪝"
homepage: https://github.com/samber/cc-skills
allowed-tools: Read Edit Write Glob Grep Agent AskUserQuestionCopywriting Hooks
The method
A hook's only job is to make the reader want sentence 2. Voice, structure, formatting, all of it, follow from that one job.
What makes a reader want sentence 2 is one of **five levers**:
1. **Open a gap.** Pose something incomplete that the reader needs to close. Curiosity gap, question, open loop. 2. **Break a prediction.** State something that violates the reader's prior. Contrarian, definition reversal, surprising statistic. 3. **Drop into a scene.** Load sensory or specific detail that builds a vivid frame. In medias res, concrete detail, time anchor. 4. **Promise a payoff.** Name an outcome the reader wants. Benefit, "if you... then this", direct problem. 5. **Borrow weight.** Lean on a name, number, or quote that carries embedded authority. Authority hook, statistic, quote with disagreement.
A strong hook usually pulls two levers at once. "Frank Sinatra, holding a glass of bourbon..." is scene plus open loop. "Most people think X. They're wrong." is prediction-break plus gap. Single-lever hooks can still work but are easier to ignore.
Three further principles:
- **Specific beats abstract every time.** Replace "many companies" with "Stripe, Shopify, Vercel". Replace "recently" with a date. Replace "studies show" with the actual finding or cut the claim.
- **The first sentence must force the second.** Read each candidate cold. If you would not click sentence 2 after sentence 1, rewrite.
- **Match technique to article type.** Personal essay does not open like a tutorial. See the type-fit table below.
---
Behavior
When this skill triggers:
1. **Confirm the brief.** Topic, audience, target language (EN, FR, or both), approximate length, where it will be published. If any of these is unclear and material, ask before generating. 2. **Pick 3 to 4 hooks from the catalog** below that are genuinely different. Different levers, not three flavors of contrarian. 3. **Write 2 candidates per hook**, specific to the user's article. The two candidates within one hook should explore different angles (different anecdote, different statistic, different scene), not be rewordings of each other. 4. **Present using the Output format** below. 5. **Ask through the question tool.** The choice is a small fixed set, which is what that tool is for. 6. **Wait for the user's pick.** Do not pick for them. 7. **After they pick**, name what the choice commits the rest of the article to. A contrarian hook commits paragraphs 2 to 3 to defending the non-consensus claim. A scene opener commits the next section to either resolving the scene or productively delaying it.
**Diversification rule.** Across your 3 to 4 options include at minimum:
- One intellectual hook (contrarian, definition reversal, historical analogy, curiosity gap)
- One sensory hook (in medias res, concrete detail)
- One reader-direct hook (conditional, direct problem, promise)
This guarantees real choice. Three flavors of contrarian is not a choice.
**Type-fit reference:**
| Article type | Strong hooks | Avoid | | --- | --- | --- | | Technical deep-dive | concrete detail, statistic, contrarian, direct problem | personal confession, scene opener | | Personal essay | in medias res, personal confession, time anchor, definition reversal | bold claim, direct problem | | Opinion / contrarian | bold claim, definition reversal, contrarian, quote + disagreement | gentle setup, dictionary opener | | Tutorial / how-to | direct problem (PAS), promise, conditional | scene opener, historical analogy | | Reported / investigative | concrete detail, time anchor, in medias res, statistic | bold claim, definition reversal | | Listicle | curiosity gap, counted stakes, conditional | personal confession, in medias res | | Longform analysis | historical analogy, statistic, contrarian | direct problem | | Newsletter issue | personal confession + open loop, conditional, curiosity gap | dictionary opener |
---
Output format
Always present options exactly like this:
## Hook options for: [working title]
**Option 1: [Hook name]** ([lever])
A. [Candidate 1]
B. [Candidate 2]
**Option 2: [Hook name]** ([lever])
A. [Candidate 1]
B. [Candidate 2]
**Option 3: [Hook name]** ([lever])
A. [Candidate 1]
B. [Candidate 2]
Which? Reply with letter combination (e.g., "1B") or "more" for different techniques.
If the user says "more" or "none", produce 3 different hooks (not new candidates for the same hooks). If the user says "blend 1A and 2B", write a combined hook and check in again.
---
The hook catalog (18)
Each hook: what it does, examples (mix EN and FR, real and illustrative), when to use, when to avoid.
1. Curiosity Gap
Open an information gap the reader wants closed.
- EN: "How does Shen Yun make any money? Short answer: they don't." (Packy McCormick)
- EN: "Many years ago, one mustard dominated the supermarket shelves: French's." (Gladwell, "The Ketchup Conundrum")
- FR: "Trois startups françaises
Read more
name: copywriting-hooks
description: >
Writes opening hooks and post titles for long-form articles in EN or FR — blog posts, Substack/Medium/dev.to, LinkedIn long-form, newsletters, essays. Trigger whenever the user asks for a hook, opening, lede, intro, first sentence/paragraph, opener, accroche, attaque, phrase d'accroche, or première phrase — including punching up a flat intro or draft opening — or for a post title, titre d'article, or headline. Do NOT trigger for social posts (LinkedIn feed, Twitter/X, TikTok, Bluesky), READMEs, taglines, email subjects, ad copy, landing-page headlines, press releases, SEO meta, or body rewrites. Do NOT use for end-of-article CTAs — use samber/cc-skills@copywriting-cta instead.
user-invocable: true
license: MIT
compatibility: Designed for Claude Code, Codex or similar harness.
metadata:
author: samber
version: "1.1.2"
openclaw:
emoji: "🪝"
homepage: https://github.com/samber/cc-skills
allowed-tools: Read Edit Write Glob Grep Agent AskUserQuestionCopywriting Hooks
The method
A hook's only job is to make the reader want sentence 2. Voice, structure, formatting, all of it, follow from that one job.
What makes a reader want sentence 2 is one of **five levers**:
1. **Open a gap.** Pose something incomplete that the reader needs to close. Curiosity gap, question, open loop. 2. **Break a prediction.** State something that violates the reader's prior. Contrarian, definition reversal, surprising statistic. 3. **Drop into a scene.** Load sensory or specific detail that builds a vivid frame. In medias res, concrete detail, time anchor. 4. **Promise a payoff.** Name an outcome the reader wants. Benefit, "if you... then this", direct problem. 5. **Borrow weight.** Lean on a name, number, or quote that carries embedded authority. Authority hook, statistic, quote with disagreement.
A strong hook usually pulls two levers at once. "Frank Sinatra, holding a glass of bourbon..." is scene plus open loop. "Most people think X. They're wrong." is prediction-break plus gap. Single-lever hooks can still work but are easier to ignore.
Three further principles:
- **Specific beats abstract every time.** Replace "many companies" with "Stripe, Shopify, Vercel". Replace "recently" with a date. Replace "studies show" with the actual finding or cut the claim.
- **The first sentence must force the second.** Read each candidate cold. If you would not click sentence 2 after sentence 1, rewrite.
- **Match technique to article type.** Personal essay does not open like a tutorial. See the type-fit table below.
---
Behavior
When this skill triggers:
1. **Confirm the brief.** Topic, audience, target language (EN, FR, or both), approximate length, where it will be published. If any of these is unclear and material, ask before generating. 2. **Pick 3 to 4 hooks from the catalog** below that are genuinely different. Different levers, not three flavors of contrarian. 3. **Write 2 candidates per hook**, specific to the user's article. The two candidates within one hook should explore different angles (different anecdote, different statistic, different scene), not be rewordings of each other. 4. **Present using the Output format** below. 5. **Ask through the question tool.** The choice is a small fixed set, which is what that tool is for. 6. **Wait for the user's pick.** Do not pick for them. 7. **After they pick**, name what the choice commits the rest of the article to. A contrarian hook commits paragraphs 2 to 3 to defending the non-consensus claim. A scene opener commits the next section to either resolving the scene or productively delaying it.
**Diversification rule.** Across your 3 to 4 options include at minimum:
- One intellectual hook (contrarian, definition reversal, historical analogy, curiosity gap)
- One sensory hook (in medias res, concrete detail)
- One reader-direct hook (conditional, direct problem, promise)
This guarantees real choice. Three flavors of contrarian is not a choice.
**Type-fit reference:**
| Article type | Strong hooks | Avoid | | --- | --- | --- | | Technical deep-dive | concrete detail, statistic, contrarian, direct problem | personal confession, scene opener | | Personal essay | in medias res, personal confession, time anchor, definition reversal | bold claim, direct problem | | Opinion / contrarian | bold claim, definition reversal, contrarian, quote + disagreement | gentle setup, dictionary opener | | Tutorial / how-to | direct problem (PAS), promise, conditional | scene opener, historical analogy | | Reported / investigative | concrete detail, time anchor, in medias res, statistic | bold claim, definition reversal | | Listicle | curiosity gap, counted stakes, conditional | personal confession, in medias res | | Longform analysis | historical analogy, statistic, contrarian | direct problem | | Newsletter issue | personal confession + open loop, conditional, curiosity gap | dictionary opener |
---
Output format
Always present options exactly like this:
## Hook options for: [working title] **Option 1: [Hook name]** ([lever]) A. [Candidate 1] B. [Candidate 2] **Option 2: [Hook name]** ([lever]) A. [Candidate 1] B. [Candidate 2] **Option 3: [Hook name]** ([lever]) A. [Candidate 1] B. [Candidate 2] Which? Reply with letter combination (e.g., "1B") or "more" for different techniques.
If the user says "more" or "none", produce 3 different hooks (not new candidates for the same hooks). If the user says "blend 1A and 2B", write a combined hook and check in again.
---
The hook catalog (18)
Each hook: what it does, examples (mix EN and FR, real and illustrative), when to use, when to avoid.
1. Curiosity Gap
Open an information gap the reader wants closed.
- EN: "How does Shen Yun make any money? Short answer: they don't." (Packy McCormick)
- EN: "Many years ago, one mustard dominated the supermarket shelves: French's." (Gladwell, "The Ketchup Conundrum")
- FR: "Trois startups françaises
AI agent skills are reusable instruction sets that extend your assistant with domain-specific expertise, loaded on demand so they don't bloat your context. This repository covers marketing and engineering skills authored by @samber.

