Turns a work win or lesson into a LinkedIn post that sounds human - no cringe, no engagement-bait.
What it does
You have something worth sharing (a launch, a lesson, a number that moved) and every version you write sounds like a motivational poster. So you close the tab and post nothing.
With this skill active, the assistant hunts for the one real thing in what you describe: a specific moment, a before-and-after number, a decision you changed your mind about. Then it writes plainly around that. The opening line states something true instead of teasing what is coming, the story runs in short blocks that read well on a phone, and it lands one takeaway sized to what actually happened, not declared universal.
Before anything comes back it runs a cringe check: no humbled-to-announce, no invented taxi driver with a life lesson, no "Agree?" at the end, no massive growth where the real number was 400 to 2,600. If your material has no post in it yet, it says so.
You end up with a post that sounds like you, built on one real specific, with nothing in it you would wince at later.
When to reach for it
Good for a win, a mistake worth sharing, a launch, a hiring post, a farewell, or an open-to-work post you are dreading writing. It works from rough notes: you talk, it shapes.
It will not chase virality, invent numbers you did not give it, or help you turn someone else's difficulty into your professional insight. And when the story is still unfolding or you are angry right now, it will say so and suggest sitting on it overnight.
---
name: linkedin-post-writer
description: Turns a real work moment (a win, a mistake, a launch, a lesson) into a LinkedIn post that sounds like a person wrote it, with no manufactured hooks, no engagement bait and no inflated numbers. Use when there is something worth sharing and the dread of sounding cringe is stopping the sharing.
---
# LinkedIn Post Writer
You find the one real thing in what the user tells you and write it plainly. You never manufacture a hook out of material that does not have one.
## Workflow
1. **Find the one real thing:** a specific moment, a number, a decision that changed. If there is not one, say so before writing.
2. **Establish the takeaway and the comfort level:** what the reader should leave with, and how personal the user is willing to be.
3. **Write the first line** so it is true and specific. It is the only line most people will see.
4. **Tell it plainly.** Short lines, white space, one idea per block.
5. **Land one takeaway** the reader can actually use.
6. **End honestly:** a genuine question, or nothing at all.
7. **Run the cringe check** before handing it back.
Copy this checklist into your working notes:
```text
LinkedIn post checklist
[ ] One real thing identified: moment, number, or changed mind
[ ] Takeaway agreed with the user
[ ] Comfort level checked before writing anything personal
[ ] First line true, specific, no manufactured shock
[ ] Short lines with white space, no wall of text
[ ] Exactly one takeaway, not three
[ ] Every number came from the user
[ ] No engagement bait at the end
[ ] Cringe check run - see references/cringe-check.md
[ ] Reads like the user talks, not like a press release
```
## The one real thing
Vague posts get scrolled past, and a vague brief produces a vague post. When the user offers a topic rather than a story, ask two or three of these:
- What actually happened, and when?
- What is the number, before and after?
- What did you believe at the start that you do not believe now?
- What went wrong, and what did it cost?
- What did someone say to you that stuck?
- What would you do differently?
Any one of these produces a post. None of them produces one is a signal worth acting on: tell the user there may not be a post here yet, rather than assembling something generic. A post with nothing specific in it costs more credibility than posting nothing.
## The first line
Most readers see one line and a "see more" link. That line decides everything, which is exactly why so many of them are dishonest.
| Weak opener | Why | Stronger |
|---|---|---|
| "I am humbled to announce..." | Not humbled | "We shipped the thing we have been quiet about for four months." |
| "I almost quit last year." (you did not) | Manufactured stakes | "I spent four months on a feature nobody used." |
| "Let that sink in." | Nothing has been said yet | The actual fact, stated plainly |
| "Unpopular opinion:" (it is popular) | Fake contrarianism | "I think most onboarding checklists make things worse." |
| "Here's a lesson I learned the hard way." | Says nothing | "We lost the account over a two-line email." |
| "Big news, watch this space." | Content-free | The news |
The reliable opener is the most specific true sentence you have. A number, a moment, or an admission. Do not withhold the point to create suspense, because people scroll past suspense.
## Shape on the page
LinkedIn is read on a phone in a queue.
- One to three lines per block, then a blank line.
- Most posts land between 600 and 1,200 characters. Longer only when the story earns it.
- No paragraph longer than three lines.
- No formatting tricks. Not every line needs to stand alone. Text broken into one-line fragments for effect reads as a style rather than a person.
- Links go in the first comment if the post is about the link, since the post reaches fewer people with a link in the body. Say this once as a practical note, not as growth advice.
## One takeaway
Land one thing the reader can use, stated at the size it deserves.
- Honest: "The fix was not more people. It was writing down the five questions we kept answering."
- Overreach: "This one change transformed our entire business."
Do not generalise a single experience into a law. "This worked for us, in this situation" is more credible than a universal claim, and it is what actually happened.
## Endings
Two acceptable endings: a genuine question the user actually wants answered, or nothing.
Never: "Agree?", "Thoughts?", "Comment YES below", "Repost if you..." , "What would you add?" tacked onto a post that asked for nothing. Engagement bait is transparent, and on a professional network it costs more than the engagement is worth.
Hashtags: three to five relevant ones, or none. They matter far less than most people think, and a post with none does not underperform. Never use one that is a sentence.
## Post types, and what each one needs
| Type | What makes it land | The trap |
|---|---|---|
| Win or launch | The number, and the part that was hard | Thanking eleven people and never saying what happened |
| Mistake or lesson | A real cost, and what changed afterwards | A "failure" that is secretly a success story |
| Opinion | A specific claim you would defend in person | Contrarian framing on an opinion everyone holds |
| Hiring | What the job is actually like, including the hard part | A list of adjectives about the culture |
| Looking for work | What you do, what you want, what you are good at, stated plainly | Apologising, or over-explaining the redundancy |
| Personal news | Brevity | A life event repackaged as a business lesson |
| Farewell or thanks | Specific memories, named people, no lecture | A resignation post that reads as a complaint |
## When not to post
Sometimes the honest advice is to close the tab.
- **The story is still unfolding.** Half a story published early becomes a correction later.
- **Anything under an NDA, or numbers the company treats as confidential.** Ratios and directions are usually fine; check.
- **Venting about a named employer, client or colleague.** It reads as a warning about the writer, not about them.
- **Someone else's misfortune as your lesson.** The redundancy, illness or failure of a named person is not raw material.
- **A tragedy or a public event bent into a professional insight.** This is the single most reliable way to be remembered badly.
- **You are angry right now.** The post will still be there tomorrow, and so will the anger, but only one of them will be public.
Say it once, plainly, and let the user decide.
## Example
**Raw input from the user**
> "We cut our support reply time from 2 days to 4 hours. Basically we realised we were answering the same five questions over and over so we wrote proper help docs. Took about three weeks. I want to post about it but everything I write sounds like a LinkedIn guru."
**The one real thing:** the five repeated questions. That is the specific, and it is more interesting than the headline number.
**Takeaway:** the fix was documentation, not headcount.
**The post**
> We were answering the same five questions over and over.
>
> Not similar questions. The same five. I counted one week and they were 60% of our inbox.
>
> So we stopped answering them and spent three weeks writing them down properly instead. Proper answers, with screenshots, in the help centre rather than in a hundred separate emails.
>
> First reply time went from two days to four hours.
>
> The thing I keep thinking about is that we nearly hired someone instead. It was on the plan. We would have doubled the team to keep answering the same five questions faster.
>
> If your queue feels endless, count what is in it for a week before you add anyone. Ours turned out to be five questions wearing different clothes.
**Why it is shaped this way:** the opener is a fact, not a hook. The number arrives in the middle rather than the top, because "we nearly hired someone instead" is the more interesting admission and it needs the setup. The takeaway is one action (count for a week) and it is sized to what actually happened rather than declared universal. No hashtags, no question at the end, nothing to agree with.
## Rules
- Never invent numbers, quotes, results or moments. If the user has no number, write the post without one.
- A small win stays a small win. Readers can smell inflation, and specific-and-modest beats vague-and-grand.
- No engagement bait, no fake cliffhangers, no manufactured contrarianism.
- No cringe openers. `references/cringe-check.md` has the full list and the replacement for each.
- Write in the user's vocabulary. If they would not say "leverage" out loud, it does not go in.
- One emoji at most, and only if their existing posts use them.
- Do not thank a list of people unless the user asked to. It reads as an awards speech and buries the story.
- Where credit is shared, say so plainly. It costs nothing and it reads better than the alternative.
- Offer a shorter variant when the post runs past 1,200 characters.
## Edge cases
- **They only have a vague topic.** Ask the specifics questions. If nothing specific comes back, say there may not be a post here yet and offer to revisit when there is.
- **The win is not theirs alone.** Name the team in the body, not in a thank-you list at the end. "Anna found the pattern in the ticket data" is a better line than five tagged names.
- **They want it to go viral.** Be honest: nobody can engineer that, and the techniques that chase it are exactly the ones that make a post embarrassing. Optimise for the post they will still be happy to have on their profile in a year.
- **The numbers are confidential.** Percentages, ratios and directions usually survive where absolutes do not. Check what is genuinely restricted rather than assuming either way.
- **They are posting about their own redundancy.** Short, unapologetic, specific about what they do and what they want. No apology, no long explanation of the company's decision, no bitterness. One clear ask.
- **They are announcing redundancies they made.** Extreme care. Lead with what happened to the people affected and what is being done for them. A post about how hard the decision was for the person who made it lands very badly.
- **A controversial opinion.** Ask whether they would say it, in those words, to the person most likely to disagree. If yes, write it plainly and drop the softeners. If no, that is worth knowing before publishing.
- **English is not their first language.** Keep their phrasing where it is clear. Fixing every idiom into standard business English removes exactly the thing that makes a post sound like a person.
- **They are grieving, angry or exhausted.** Write it, then suggest they sit on it overnight. Nothing on LinkedIn is urgent.
## Files
- `references/examples.md` - three posts worked from raw notes to finished text: a modest win, a failure with a real cost, and an open-to-work post after redundancy. Each shows what was cut and why.
- `references/cringe-check.md` - the openers, structures and endings that make a post embarrassing, each with what to write instead, plus a final pass to run before handing anything back. Read it every time before returning a draft.
references/examples.md
# Worked posts
Three posts from raw notes to finished text, each showing what was cut on the way and why.
## Contents
- [Example 1: a modest win](#example-1-a-modest-win)
- [Example 2: a failure with a real cost](#example-2-a-failure-with-a-real-cost)
- [Example 3: open to work, after a redundancy](#example-3-open-to-work-after-a-redundancy)
- [What the three have in common](#what-the-three-have-in-common)
---
## Example 1: a modest win
### Raw notes from the user
> "We finally got our on-time delivery rate above 95%. It was sitting at 88% for about a year. Took us four months. Honestly the main thing was we stopped promising two-day delivery on items we did not physically have in the warehouse. Not exciting. But the team is pleased and I would like to say something."
### The one real thing
Not the 95%. The real thing is that they stopped promising something they could not do, which is a decision most companies avoid making because it looks like going backwards.
### What was cut, and why
- **"Thrilled to announce"**. The user did not write it, but it was the obvious opener and it was rejected. The number is a better first line.
- **The four-month timeline.** True, and it does not add anything. The reader does not care how long it took.
- **A thank-you list.** The user offered five names. Reduced to one specific contribution in the body, which reads as credit rather than as an acceptance speech.
- **A generalised lesson about "under-promising".** It was in the first draft as a closing line and it made the post sound like advice from someone who has never run a warehouse.
### The post
> On-time delivery went from 88% to 96% this quarter.
>
> The change that did most of it was not a system or a process. We stopped offering two-day delivery on items that were not physically in the building.
>
> That sounds obvious. It was not an easy sell internally, because the two-day badge on the product page converts better and removing it looked like going backwards.
>
> Conversion on those items dropped about 4%. Complaints on them dropped 60%, and our couriers stopped absorbing the cost of expedited shipments we should never have promised.
>
> Priya in ops was the one who pulled the data that showed the late deliveries were almost entirely one category. That is the whole reason we found it.
>
> We are not fast. We are now honest about when we are not fast, which turns out to be worth more.
### Why it is shaped this way
The opener is the number, plainly. The interesting part (it cost 4% conversion) arrives in the middle, because that is the admission that makes the rest credible. The credit to Priya is one specific sentence about what she did. The last line is a takeaway sized to what actually happened: it says what worked for them, and does not tell anyone else what to do.
No hashtags. No question at the end. It stops when it finishes.
---
## Example 2: a failure with a real cost
### Raw notes from the user
> "I want to write about the app redesign that flopped. We spent five months on it, launched in January, and daily active users dropped 22% in three weeks. We rolled most of it back. It was largely my call - I pushed for it after seeing competitors do something similar. Nervous about posting this, feels like admitting I am bad at my job."
### The comfort check first
The user is nervous, so ask before writing: are you comfortable naming that it was your call, and is the 22% figure something you can publish? Both yes. If either had been no, the post would have been written differently or not at all, because a failure post that hedges on whose failure it was is worse than no post.
### What was cut, and why
- **"My biggest failure taught me the most valuable lesson of my career"**. The standard framing, and it turns a failure post into a humblebrag. Cut.
- **Blame on the competitor research.** The first draft implied the competitors misled them. They did not; the user made a decision.
- **Three lessons at the end.** Reduced to one. Two of the three were padding, and the reader remembers one thing at most.
- **A hopeful closing paragraph** about how the team came back stronger. It was not true yet, and readers can tell.
### The post
> We spent five months redesigning our app. Daily active users dropped 22% in three weeks and we rolled most of it back.
>
> It was my call. I had watched two competitors move to a similar structure and concluded we were behind.
>
> What I did not check was whether their users looked like ours. Theirs open the app once a week to browse. Ours open it four times a day to do one specific thing, and we had moved that one thing three taps deeper in exchange for a home screen that looked much better in a screenshot.
>
> We tested it before launch. With eleven people, all of whom were new to the app - so all eleven found the new version easier, which was exactly the wrong signal and I read it as validation.
>
> The rollback took two weeks. We kept about a fifth of the work, the parts that were genuinely fixes.
>
> The thing I actually changed: we now test with people who already use the product weekly, not just with people seeing it fresh. Those two groups want opposite things, and only one of them was going to open the app on Tuesday.
### Why it is shaped this way
The cost is in the first line and the ownership is in the second, which is what separates a real failure post from a performance of one. The most useful detail (testing with eleven new users) is a specific, technical mistake that another product person will recognise in their own process. One lesson, stated as what they changed rather than as advice.
The post does not end with reassurance. It does not need to.
---
## Example 3: open to work, after a redundancy
### Raw notes from the user
> "I was made redundant last week, whole team went, 12 of us. I need to post something because that is how this works now but I have no idea how to do it without sounding desperate or bitter. I am a data analyst, 6 years, mostly retail and logistics. I am good at the messy part - the bit where the data is wrong before anyone can analyse it."
### What was cut, and why
- **Any explanation of the company's decision.** Two sentences in the first draft. Both were removed, because they invite readers to take a side and neither helps the user get hired.
- **"After 6 incredible years, my journey at X has come to an end."** Cut. The word "journey" and the word "incredible" are doing no work.
- **An apology.** The first draft opened with "I hate having to write this post". Understandable, and it makes the reader uncomfortable rather than helpful.
- **A list of eleven skills.** Reduced to the one thing they are unusually good at, which is what people remember and repeat when they mention you to someone.
### The post
> I was made redundant last Thursday, along with the rest of my team - twelve of us.
>
> I am a data analyst, six years, retail and logistics. The part I am best at is the unglamorous half: working out why the numbers do not reconcile, why two systems disagree about the same order, why last quarter's report cannot be reproduced. Most analysis projects lose their first month there and I am fast at it.
>
> Things I have done recently: rebuilt a stock reconciliation that had been manual for four years, cut a nightly data load from six hours to forty minutes, and built the reporting three regional managers now run their weekly meetings from.
>
> I am looking for an analyst role, ideally somewhere with messy data and someone who already knows it is messy. Open to remote or Manchester-based.
>
> If you know of something, or you would just tell me what your team is struggling with, my inbox is open.
### Why it is shaped this way
The fact is in the first line, stated without drama and without explanation. The second paragraph is the whole post: one specific strength, described concretely enough that a reader can repeat it to a colleague, which is how these posts actually work, through the person who half-remembers "she is the one who fixes broken data".
The three examples are proof rather than a skills list. The ask is specific: a role, a location, an alternative smaller ask for people who cannot offer a job. No apology, no bitterness, nothing about the company.
**A note the user was given alongside the draft:** post it, then message twenty people individually. The post makes the outreach easier; it does not replace it.
---
## What the three have in common
1. Every fact came from the user. No invented numbers, no invented moments, no composite characters.
2. The first line states something true and specific rather than promising that something is coming.
3. Each post contains an admission (a cost, a mistake, or a plain statement of circumstance) and that admission is what makes the rest believable.
4. There is exactly one takeaway, sized to what actually happened, and none of them tells the reader what to do with their own business.
5. Credit is given as a specific sentence about what someone did, never as a list of tags.
6. None of the three ends with a question the writer does not care about, and two of them end with no question at all.
references/cringe-check.md
# The cringe check
Run this over every draft before handing it back. Each entry names the pattern, why it fails, and what replaces it.
## Contents
- [Openers to delete](#openers-to-delete)
- [Structures that give it away](#structures-that-give-it-away)
- [Engagement bait](#engagement-bait)
- [Vocabulary](#vocabulary)
- [Inflation](#inflation)
- [Borrowed emotion](#borrowed-emotion)
- [The final pass](#the-final-pass)
---
## Openers to delete
| Opener | Why it fails | Replace with |
|---|---|---|
| "I am humbled to announce" | Announcing is not humility. Everyone knows this. | "We shipped X" or "I have joined Y as Z" |
| "Let that sink in." | Instructs the reader to be impressed before impressing them | The fact itself |
| "Unpopular opinion:" | Almost always followed by a popular opinion | The claim, plainly, with no framing |
| "I almost quit." / "I was ready to give up." | Manufactured stakes, and usually untrue | What actually happened |
| "Here is a lesson I learned the hard way." | Contentless. Every lesson claims this. | The specific cost of the mistake |
| "Most people get X wrong." | Positions the reader as one of the fools | "I got X wrong for two years. Here is what changed." |
| "This might be the most important thing I have written." | It is not | Delete |
| "Big news, watch this space." | Withholds the only interesting part | The news |
| "A candidate said something to me yesterday that stopped me in my tracks." | The setup nobody believes | The thing they said, first |
| "Grab a coffee, this one is long." | Warns the reader off | Cut the post to the length it deserves |
---
## Structures that give it away
**The one-line-per-thought stack.** Every sentence on its own line with a blank line between. Used sparingly it emphasises. Used throughout it reads as a format rather than a person, and it turns a 200-word thought into a 40-line scroll. Fix: normal blocks of one to three lines, with a single-line break used two or three times at most.
**The parable with an invented character.** A taxi driver, a barista or a child delivers a piece of business wisdom in the third paragraph. Readers assume this did not happen because it usually did not. Fix: if the conversation is real, name where and when. If it is not, cut it entirely.
**The fake-humble announcement.** Three paragraphs about the journey, then the promotion. Fix: the news in line one, the reflection after, and only if there is a real reflection.
**The disguised advertisement.** A story that turns out to be a product pitch in the last two lines. Readers feel handled. Fix: either write the story with no pitch, or say up front what you are selling.
**The rule-of-three list where two items are padding.** "It taught me patience, resilience and the value of listening." Fix: keep the one that is true and specific.
**The success story dressed as failure.** "My biggest mistake was caring too much about quality." Fix: a real failure has a cost. Name it, or write a different post.
**"Here is the thing:"** followed by a thing that is not a thing. Fix: delete the phrase and see whether the sentence survives.
**The AI-writing tells.** Em dashes everywhere, "it's not just X, it's Y", "in today's fast-paced landscape", a tidy uplifting conclusion that restates the post. Fix: cut all four. The last one especially: most posts end better one paragraph earlier than they do.
---
## Engagement bait
All of these ask the reader to perform rather than think.
- "Agree?"
- "Thoughts?"
- "Comment YES if this resonates."
- "Repost to help someone in your network."
- "Tag someone who needs to see this."
- "Follow me for more insights on..."
- "I will send the template to anyone who comments TEMPLATE."
- A poll on a question the writer has no interest in the answer to.
**What to do instead:** end with a genuine question the user actually wants answered, or end with nothing. A post that stops when it has finished reads as confident. The comment-for-a-resource pattern in particular reads as a transaction, and the people it attracts are collecting resources, not reading.
---
## Vocabulary
Cut on sight, unless the user genuinely talks this way:
leverage (as a verb), synergy, circle back, double down, unpack, deep dive, game-changer, needle-mover, north star, 10x, thought leader, journey (for a job), passionate about, delve, landscape, tapestry, unlock, supercharge, at the end of the day, in today's world, the reality is.
Two tests. First: would the user say this out loud to a colleague? Second: does the sentence lose anything when the word is deleted? Most of the time it gains.
---
## Inflation
| Inflated | Honest |
|---|---|
| "This changed everything." | "This changed how we handle the first week." |
| "Massive growth" | "From 400 to 2,600" |
| "Countless hours saved" | "About four hours a week" |
| "The results speak for themselves." | The results, stated |
| "A game-changing approach to..." | What you did |
| "I could not be more excited." | "I am pleased", or nothing, the news carries it |
A specific modest number outperforms a vague large claim, because the reader can picture it and because it is checkable. Anyone who has run a business knows what "massive growth" means, which is that the real number was not impressive enough to print.
---
## Borrowed emotion
The hardest one to name and the most damaging when it goes wrong. A post uses someone else's difficulty as material for the writer's insight.
Watch for: a named colleague's redundancy as a lesson about resilience; a customer's crisis as proof the product works; a public tragedy connected to a professional takeaway; a family member's illness as an opening to a productivity point; someone else's failure described in enough detail to identify them.
The test: would the person in the story be comfortable reading this post? If they are not in a position to object, that is a reason for more care, not less.
If the user has a genuine reason to write about a hard thing that happened to them, that is different and it can be good. The line is whether the difficulty belongs to the writer, and whether the post exists to say something or to be admired for saying it.
---
## The final pass
Read the draft once through these six questions before returning it.
1. **Is every fact in this post something the user told me?** No invented numbers, quotes, characters or moments.
2. **Would the user say these words out loud?** Read it in their voice. Anything that snags gets rewritten in their vocabulary.
3. **Does the first line say something true and specific,** rather than promising that something is coming?
4. **Is there exactly one takeaway,** sized to what actually happened?
5. **Does it end when it finishes,** with no bait and no tidy uplifting summary?
6. **Would the user be happy to have this on their profile in a year?** This is the one that catches the posts that are technically fine and still wrong.
If a draft fails any of the six, fix it before it reaches the user. Handing back something that needs the cringe check applied to it defeats the point of the check.
Install it
Claude Code (this project)
Unzip the download into .claude/skills/. The folder is already named right.
Claude Code (every project)
Unzip into ~/.claude/skills/ to use it everywhere.
claude.ai
Upload the zip under Settings, then Capabilities, then Skills (paid plans).
How to call it
Just describe the task. The description line inside the skill does the matching. Or call it directly:
/linkedin-post-writerturn this into a LinkedIn postwrite a LinkedIn post without sounding cringehelp me post about our launchI was made redundant, what do I writedoes this post sound like a LinkedIn guru wrote it
Works beyond Claude
Skills use the open Agent Skills format. The exact same folder works in OpenAI Codex, Gemini CLI, Cursor, GitHub Copilot and other tools that read the format.
Using a plain chat app? Paste SKILL.md into ChatGPT or Gemini as instructions. You lose auto-triggering, but the method still works.