business-ops
Business operations: strategy, technology, growth, competitive intelligence, support, finance, HR, legal, operations, sales, productivity, product management.
Generate headlines, titles, and subject lines: charge, volume, tighten.
$ npx -y skills add notque/vexjoy-agent --skill headlines --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/headlinesContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate headlines, titles, and subject lines: charge, volume, tighten.
name: headlines
promoted_to: content-calendar
description: "Generate headlines, titles, and subject lines: charge, volume, tighten."
user-invocable: false
allowed-tools:
- Read
- Write
- Bash
- Grep
- Glob
- Edit
- Task
routing:
triggers:
- "headline"
- "headlines"
- "article title"
- "title options"
- "subject line"
- "better title"
category: content-creation
pairs_with:
- voice-writer
- content-engine
- topic-brainstormerGenerates headlines, article titles, social posts, and email subject lines from a brief or draft. Four phases: find the charge, generate volume across named moves, tighten survivors, output per format. Core rule: **volume over polish** — word-level features predict winners weakly, so breadth beats optimization.
---
| Signal | Load These Files | Why | |---|---|---| | generating candidates: the ten named headline moves with examples | `references/headline-moves.md` | Move definitions and concrete examples for Phase 2. |
**Goal**: Identify the single most compelling tension or stake in the material.
1. Read the brief, draft, or topic statement in full. 2. List every tension candidate: a surprise, a reversal, a cost, a conflict, a number that changes the picture, a stake the reader holds. 3. Pick ONE — the charge. Write it as a single sentence naming who is affected and what is at stake. 4. Test it: would a reader who saw only this sentence want the rest? A topic label ("Kubernetes networking") fails; a live tension ("DNS resolved yesterday, fails today, nothing changed") passes.
**Gate**: Charge is one sentence, names a specific tension or stake, and is true to the source material. Proceed only when it passes — every candidate in Phase 2 builds on it, so a weak charge produces 20 weak headlines.
---
**Goal**: Produce 15–25 candidate headlines spread across the named moves.
Load `references/headline-moves.md` for the move catalog: **curiosity gap, specificity, stakes, contrast, question, how-to, number, voice-of-reader, news peg, negative space**.
1. Generate 15–25 candidates. Write fast; judge later. Polishing during generation narrows the search exactly where breadth pays. 2. Cover at least 6 of the 10 moves. Tag each candidate with its move. 3. Keep every candidate anchored to the Phase 1 charge. A clever line off-charge is a miss. 4. Pull concrete material from the brief into candidates: numbers, names, error messages, dates. Specifics carry more pull than adjectives.
**Gate**: 15–25 candidates exist, each tagged with a move, at least 6 moves represented. Fewer than 15 means the charge is under-mined — return to the brief for more concrete material.
---
**Goal**: Select and sharpen 3–5 survivors using a stated criterion.
1. Score every candidate 1–5 on each of: specificity, tension, accuracy to the brief. Sum the three. 2. Keep the top 3–5 by score. Require move diversity among survivors — two candidates from the same move compete for the same reader reflex, so keep the stronger one. 3. Tighten each survivor:
4. Drop any survivor that needs a hedge to stay accurate. Promote the next candidate by score instead.
**Gate**: 3–5 survivors, each accurate to the brief, each from a distinct move where possible.
---
**Goal**: Adapt survivors to the formats the task needs. The user receives selected options plus one recommendation — triage stays inside this skill.
| Format | Constraint | Adjustment | |--------|-----------|------------| | Article title | ~60–70 chars; sentence case per site convention | Full charge; specificity over wordplay | | Social post | Platform length; standalone (no body to lean on) | Add the stake or number the title implies; end with pull, not summary | | Email subject line | ~30–50 chars; first words decide the open | Front-load the charge; cut articles and qualifiers first |
Per-platform length and format specs stay with content-engine (`skills/content/content-engine/references/platform-specs.md`); when both apply, the platform spec wins on length.
Present output as:
## Headline Options **Charge**: [one-sentence charge] ### Article titles 1. "[title]" — [move] 2. ... ### Social posts 1. "[post]" ### Subject lines 1. "[subject]" **Recommendation**: [pick one, one sentence why]
**Gate**: Each requested format has 2+ options. Recommendation given with reasoning.
---
---
Cause: Input has no stake, surprise, or change worth charging. Solution: Ask for the one fact that surprised the author, the cost of the problem, or what changed. If none exists, say so and produce plain utilitarian titles — a fabricated tension fails the Phase 3 accuracy check anyway.
Essays and writing behind this toolkit live at vexjoy.com. VexJoy Agent connects plain-English requests to specialist agents, skills, and workflows. /do selects the knowledge and tools needed for your task.
Repo: notque/vexjoy-agent
Business operations: strategy, technology, growth, competitive intelligence, support, finance, HR, legal, operations, sales, productivity, product management.
Design workflows — UX copy, design systems, design critique, accessibility review, design handoff, user research synthesis. Use when writing UI copy, reviewing…
Marketing: SEO audits, campaign planning, content strategy, email sequences, competitive analysis, brand review, performance reporting.