Post Writer — Ghostwriter
"Write LinkedIn posts"
When to use
- Turning a win, launch, lesson, or opinion into a LinkedIn or X post.
- "Write a LinkedIn post about our migration off Kubernetes."
- "Turn this blog post into an X post that isn't just a summary."
- "Draft my new-role announcement" / "announce our funding round".
- Rescuing a stiff draft: "make this sound like a person wrote it."
Workflow
- Extract the one idea. Decide what the reader should think, feel, or do after
reading. One post carries one idea — park the extras as future posts and say so.
- Load
voice-profile.md if it exists. Its signature phrases, sentence lengths,
punctuation quirks, and vocabulary do/don't override generic style everywhere.
- Apply platform physics:
- LinkedIn: only the first 2–3 lines show before "...see more", so the hook
must survive the fold; 900–1,300 characters is the sweet spot; breaks are free.
- X: 280 characters and the hook is the whole post; thread only if every tweet
stands alone.
- Write the hook first. Draft 5–10 candidates across proven patterns — specific
number, contrarian, mistake, transformation, curiosity gap — and promote the
strongest to line one.
- Build the body on one spine:
- Story: context → tension → resolution → lesson.
- Insight: claim → evidence → implication.
Keep paragraphs to 1–2 lines. Whitespace is the pacing; never a wall of text.
- Close soft: a question worth answering, an invitation, or a plain "follow for
more on " — never "thoughts?" or "agree?".
- Produce three full variants of the same idea: story-led, contrarian-led,
list-led.
- Self-edit: delete the first sentence if the post works without it (it usually
does), cut adverbs, read aloud for cadence, then run the quality bar.
Output format
## Post: <topic> — <platform>
### Variant A — Story
<full post text, formatted exactly as it should be pasted>
### Variant B — Contrarian
<full post text>
### Variant C — List
<full post text>
---
Recommended: <A | B | C> — <one-line reason>
Character counts: A <n> | B <n> | C <n> (limit: <platform rule>)
Voice profile: applied | not found — generic voice used
Quality bar
Example
Invocation: "Write a LinkedIn post: we cut our AWS bill 60% by deleting three
services nobody used."
Produces: three paste-ready variants — story ("We were paying $14k a month for
software nobody had opened since March."), contrarian ("Your cloud bill isn't an
engineering problem. It's an archaeology problem."), list (the three services,
what each cost, what replaced them) — with the contrarian flagged as recommended
for a CTO audience, character counts per variant, and a soft closing question
asking readers what's hiding in their own billing console.
1---2name: post-writer3description: Writes LinkedIn and X posts that read human — a hook line drawn from proven patterns, whitespace rhythm, story or insight structure, a soft CTA — and delivers three full variants per ask (story, contrarian, list). Applies the project's voice profile when one exists and enforces platform length rules. Use when the user says "write a LinkedIn post about...", "turn this into an X post", "draft the launch announcement", or "this sounds corporate — make it human".4---56# Post Writer — Ghostwriter78> "Write LinkedIn posts"910## When to use1112- Turning a win, launch, lesson, or opinion into a LinkedIn or X post.13- "Write a LinkedIn post about our migration off Kubernetes."14- "Turn this blog post into an X post that isn't just a summary."15- "Draft my new-role announcement" / "announce our funding round".16- Rescuing a stiff draft: "make this sound like a person wrote it."1718## Workflow19201. Extract the one idea. Decide what the reader should think, feel, or do after21 reading. One post carries one idea — park the extras as future posts and say so.222. Load `voice-profile.md` if it exists. Its signature phrases, sentence lengths,23 punctuation quirks, and vocabulary do/don't override generic style everywhere.243. Apply platform physics:25 - LinkedIn: only the first 2–3 lines show before "...see more", so the hook26 must survive the fold; 900–1,300 characters is the sweet spot; breaks are free.27 - X: 280 characters and the hook is the whole post; thread only if every tweet28 stands alone.294. Write the hook first. Draft 5–10 candidates across proven patterns — specific30 number, contrarian, mistake, transformation, curiosity gap — and promote the31 strongest to line one.325. Build the body on one spine:33 - Story: context → tension → resolution → lesson.34 - Insight: claim → evidence → implication.35 Keep paragraphs to 1–2 lines. Whitespace is the pacing; never a wall of text.366. Close soft: a question worth answering, an invitation, or a plain "follow for37 more on <topic>" — never "thoughts?" or "agree?".387. Produce three full variants of the same idea: story-led, contrarian-led,39 list-led.408. Self-edit: delete the first sentence if the post works without it (it usually41 does), cut adverbs, read aloud for cadence, then run the quality bar.4243## Output format4445```46## Post: <topic> — <platform>4748### Variant A — Story49<full post text, formatted exactly as it should be pasted>5051### Variant B — Contrarian52<full post text>5354### Variant C — List55<full post text>5657---58Recommended: <A | B | C> — <one-line reason>59Character counts: A <n> | B <n> | C <n> (limit: <platform rule>)60Voice profile: applied | not found — generic voice used61```6263## Quality bar6465- [ ] Line one stops the scroll with zero context — no throat-clearing, no "So,".66- [ ] One idea per post; every line earns the next.67- [ ] No paragraph over two lines; the post breathes.68- [ ] Zero corporate tells: no "thrilled to announce", "game-changer", "in69 today's fast-paced world".70- [ ] Hashtags 0–3, end of post only, each one a real discovery channel.71- [ ] Inside platform limits; the LinkedIn hook survives the "...see more" fold.7273## Example7475**Invocation:** "Write a LinkedIn post: we cut our AWS bill 60% by deleting three76services nobody used."7778**Produces:** three paste-ready variants — story ("We were paying $14k a month for79software nobody had opened since March."), contrarian ("Your cloud bill isn't an80engineering problem. It's an archaeology problem."), list (the three services,81what each cost, what replaced them) — with the contrarian flagged as recommended82for a CTO audience, character counts per variant, and a soft closing question83asking readers what's hiding in their own billing console.