| name | short-form-social |
| description | >- |
Short-Form Social — Hook, Body, Channel-Fit
Purpose
This skill turns an idea into a platform-native short-form post — LinkedIn, X single, or X thread — that a technical/founder audience will actually read and pass on. It owns the part of growth content that lives or dies on the first line and on respecting the platform's native form.
It exists because the two failure modes are predictable: a strong idea wrapped in a hook that needs setup before it lands (so no one reads past line one), and a post cross-pasted across platforms without rewrite (so it reads as native to none). This skill fixes both — hook first, then a body shaped to the specific surface.
It composes with the rest of the content suite: voice-print gives the posts a voice; content-craft owns long-form (an essay is not a thread); newsletter-growth owns owned-channel email; ai-slop-audit de-slops the draft (social is where AI tells are most visible and most punished).
Inputs
| Input | Required? | Description |
|---|
| The raw material | Required | The idea, observation, result, or longer piece to adapt. Specific beats abstract — a real number, a real scar, a real before/after. |
| Platform(s) | Required | LinkedIn / X single / X thread. Each has different native form; "post this everywhere" without per-platform rewrite is the main failure. |
| Goal | Recommended | Reach / signups / authority / replies. Shapes the CTA (or its absence). |
| VOICE-PRINT.md | Recommended | From voice-print. Generic social voice is invisible; the founder's voice is the differentiator. |
| ICP | Recommended | Who you're trying to reach — calibrates the hook's specificity and the platform choice. |
BLOCK rule
IF the raw material is vague ("write something about AI") with no specific
observation, number, result, or story:
BLOCK. Return: "Short-form that travels is built on one specific thing — a
number, a scar, a before/after, a contrarian observation you can defend. What's
the specific thing? 'Post about X' without a specific anchor produces generic
content the audience scrolls past."
Decision Logic
Step 1 — Pick the platform and its native form
Don't write then cross-post; choose the surface, write to it. Full per-platform rules in references/hooks-and-formats.md; these defer to growth/DOMAIN.md distribution norms and content-review platform-format discipline (single source of truth — don't restate them, apply them). Summary:
| Surface | Native form | The one rule people break |
|---|
| LinkedIn | One insight; professional opener; 150–300 words; optional single CTA | Manufactured-curiosity opener ("You won't believe…") |
| X single | Hook stands alone; one claim; within char limit | Hook that needs a second tweet to make sense |
| X thread | Tweet 1 readable alone; one idea per tweet; last = takeaway | "Here are my N takeaways 🧵" opener; thread numbering; link in body (put it in the first reply) |
Step 2 — Build the hook (the first line does 80% of the work)
The hook is the highest-leverage atom. The mechanism: the first ~8 words must carry a complete tension, claim, or fact — the reader decides to continue or scroll there. Hook patterns (detail + examples in references/hooks-and-formats.md):
| Pattern | Shape | Best for |
|---|
| Specific number | A surprising concrete metric, first words | results, before/after |
| Counterintuitive claim | A defensible claim that cuts against the default belief | opinion, authority |
| Named pain | The reader's exact situation, in their words | reach within an ICP |
| Before/after | The gap between two states | migration / improvement stories |
The hook gate: does the first line stand alone and carry tension without setup? If it needs the second line to make sense, it's not a hook yet. (This is exactly content-review's X/LinkedIn opener check — a draft failing it should not ship.)
Step 3 — Shape the body to the surface
- LinkedIn: observation/data opener → one insight developed → optional single specific CTA. Opinion is grounded in evidence/experience before it's asserted.
- X single: the whole thing is the hook + one payload. No warm-up, no thread-bait.
- X thread: tweet 1 is a standalone hook; each subsequent tweet carries one fact/observation/step; the last tweet is the takeaway or a soft CTA; the link goes in the first reply (body links get throttled). No "here are N takeaways" framing — open with the sharpest single claim instead.
Step 4 — Build-in-public posture
For founders, the content that travels is the work shown honestly, not the announcement. Share the scar and the number ("we shipped 40 alerts; engineers muted all of them — here's what we changed"), not the press release ("excited to announce our alerting feature"). Honesty and specificity are the reach mechanism here; polish without substance reads as marketing and gets scrolled.
Step 5 — Repurpose: write one story, adjust the frame
When adapting a longer piece (essay, newsletter issue, migration story), don't write a separate story per channel — write one story and adjust the frame (cross-ref the MLG principle in growth/DOMAIN.md). The essay's core observation becomes the thread's spine; the LinkedIn version foregrounds the practitioner angle; the X version sharpens to the single hardest claim. Same truth, surface-shaped.
Step 6 — Voice + de-slop pass
Run the draft against the VOICE-PRINT.md and through ai-slop-audit. Social is where AI tells are most visible — emoji-bullet scaffolding, "here are N takeaways," uniform rhythm, hype — and where the technical audience punishes them hardest.
Outputs
## Short-Form Social — [topic]
**Platform(s):** [LinkedIn / X single / X thread] **Goal:** [reach/signups/authority]
**Voice print:** [used / none]
### Hook options
[2–3 hook variants, each a standalone first line, labeled by pattern. Mark the recommended one.]
### Post / thread
[Platform-native body. For a thread: numbered working draft (numbering removed before posting), one idea per tweet, tweet 1 standalone, last = takeaway.]
### Distribution note
[Timing; first-comment link (X thread / LinkedIn); any repurpose source.]
### Checks
[Hook gate pass? platform format pass? voice + ai-slop-audit pass?]
Cross-review: the draft goes through content-review (platform-format discipline + brand voice) and ai-slop-audit before posting.
Cross-Review Triggers
Before posting (customer-facing copy):
Example Usage
Example 1 — Idea → X thread
Input: "Our monitoring philosophy: an alert that doesn't tell you what to do is noise." Platform: X thread.
Output: Hook options (counterintuitive-claim recommended: "We deleted 39 of our 40 alerts. Incident response got faster."), thread with one idea per tweet, tweet 1 standalone, link in first reply, no "N takeaways" framing. De-slop + voice pass noted.
Example 2 — Essay → LinkedIn post
Input: A 2,000-word newsletter issue; wants a LinkedIn version. Platform: LinkedIn.
Output: Same story, reframed for LinkedIn — practitioner observation opener, one insight, 200 words, single specific CTA (link in first comment). Not the essay truncated; the essay's spine re-shaped.
Example 3 — Vague brief
Input: "Write a post about why our product is great."
Output: BLOCK — asks for the specific anchor (number, scar, before/after, defensible claim). Won't produce generic promotional content.
Validation Criteria
Output passes if:
Output fails if:
Benchmarks
| Metric | Benchmark | Source |
|---|
| LinkedIn thought-leadership engagement rate | 1–5%; first 60 min determines reach | growth/DOMAIN (2025–2026) |
| X thread tweet-1 readable-alone | required for reach | growth-platform-execution-norms |
| HN/Show HN qualifying threshold (if used) | >20 upvotes to front page; strong first comment | growth/DOMAIN |
References & Sources
Tier-2 (operator norms — adapted):
- growth-platform-execution-norms (growth-skills v1.0) — per-platform native rules
- Hook-pattern logic generalized (persona-stripped) from the author's claude.ai
viral-hooks / short-form-video
Cross-references (this repo):
Output metadata:
---
Skill: short-form-social v1.0.0
Platform: [LinkedIn/X-single/X-thread]
Voice print: [used/none]
Generated: [date]
---