Skip to content
Agent Memory
Skill

/headline-engineering

Platform-optimized headline and hook engineering for X (Twitter), Reddit, LinkedIn, Medium, Substack. Apply when writing or reviewing any title, tweet, thread opener, Reddit post title, or social hook intended for public publication. Triggers on "write a headline", "draft a

BOOST
From plugin
kipi-system
12816 skills5 agents23 commands5 MCP
Install
$ npx -y skills add assafkip/kipi-system --skill headline-engineering --agent claude-code

How 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/headline-engineering

Context preview

The summary Claude sees to decide when to auto-load this skill.

Platform-optimized headline and hook engineering for X (Twitter), Reddit, LinkedIn, Medium, Substack. Apply when writing or reviewing any title, tweet, thread opener, Reddit post title, or social hook intended for public publication. Triggers on "write a headline", "draft a

SKILL.md

headline-engineering.SKILL.md
name: headline-engineering
description: Platform-optimized headline and hook engineering for X (Twitter), Reddit, LinkedIn, Medium, Substack. Apply when writing or reviewing any title, tweet, thread opener, Reddit post title, or social hook intended for public publication. Triggers on "write a headline", "draft a tweet", "X thread", "Reddit post", "LinkedIn post", "Medium article", "make this hook stronger", "shorter title", "more clickable", "the title is too long", or any time a draft has a title that will be seen by people outside the company.

Headline Engineering

This skill fires whenever someone is writing or reviewing copy that has to earn a click.

It does NOT replace [[assaf-voice]] — voice DNA still applies. This skill handles the part voice doesn't: WHERE the copy will live and HOW that platform's audience decides what to click.

Load order

1. **Always load** `references/platform-hooks.md` — the 6 viral patterns, char-count sweet spots, first-7-words rule. 2. **For specific platforms** load `references/headline-templates.md` — proven shapes per platform with char counts. 3. **For challenges or updates** load `references/research-receipts.md` — the source data behind every claim in this skill.

The decision tree

Apply in order:

**Step 1 — Identify the platform.** Different platforms have different optimal lengths and reward different shapes. Don't write a "headline" abstractly. Write for X, OR for Reddit, OR for LinkedIn, OR for Medium. The same idea gets phrased four different ways.

**Step 2 — Identify the length range.**

  • X: under 110 chars, sweet spot 71-100
  • Reddit text titles: 30-66 chars
  • LinkedIn long-form titles: 60-100 chars
  • Medium titles: 50-90 chars

**Step 3 — Pick the pattern.** Six patterns earn clicks (full detail in `references/platform-hooks.md`):

  • A. Absurd-concrete-object ("Real LLM on a Game Boy Color")
  • B. Confession + reversal ("I'm done with X")
  • C. PSA / "admits" exposé ("Anthropic admits X")
  • D. Specific number + impossible feat ("64-year-old problem solved")
  • E. Naive question ("Forgive my ignorance but how is X better than Y?")
  • F. "I asked X to..." setup ("I asked ChatGPT to imagine itself in retirement")

**Step 4 — Front-load the punch.** First 5-7 words decide whether anyone reads word 8. If the punch is "21-byte file," "21" goes in the first 7 words, not at the end.

**Step 5 — Run the check.** Three quick tests:

  • Word 7 test: cover everything after word 7. Does the hook still stop the scroll?
  • Specificity test: are there at least one specific number, name, or concrete object in the first 10 words?
  • Pattern test: which of A-F is this? If you can't name one, it's a generic AI-style title. Rewrite.

Banned title patterns

Do not write any of these. They are AI-style and underperform on every platform:

  • "The Ultimate Guide to X"
  • "X Things You Need to Know About Y"
  • "Why X Matters" (unless paired with a specific number or scar)
  • "How to X" (too soft on every platform)
  • "Mastering X" / "Unlocking the Power of Y"
  • Long subtitle-style titles with colons + clauses + em dashes (no em dashes period)
  • "X: A Comprehensive [Guide / Look / Analysis]"
  • "In Today's Fast-Paced World..."

Banned within the title

  • Em dashes (—)
  • Words from the [[assaf-voice]] banned list: leverage, transformative, etc.
  • Hedging language: "might," "could," "perhaps," "some thoughts on"
  • "Excited," "thrilled," "humbled" (the gratitude tells)
  • Hashtags (in the title itself; OK below the body)

When to use this skill alongside [[assaf-voice]]

Always. Voice handles tone and sentence DNA. This skill handles the hook shape and length. Both fire for any published content.

For DM / email / internal note → voice skill only, skip this one. For LinkedIn post / Medium article / X thread / Reddit post / Substack → both fire.

Quality check before output

Before returning a title to the founder, verify:

1. Char count fits the platform range 2. First 5-7 words contain the punch 3. At least one specific number, name, or concrete object 4. Identifiable pattern from A-F 5. No banned words 6. No em dashes 7. Passes [[assaf-voice]] voice checks (scar / contrast / specificity / theater)

If any check fails, rewrite before output. Never output 3+ candidates without a recommended pick named explicitly ("My call: #1").

Read more
Ships withkipi-system

Give your AI the right knowledge, at the moment it needs it. Kipi turns the scattered knowledge around your work into context that follows you across AI sessions: decisions, conversations, projects, people, commitments, lessons, documents, history.

Get the whole plugin

Other skills on kipi-system.