post-writer
Write LinkedIn posts that match the user's voice system (about-me.md and voice.md). Use this skill whenever the user says "write a post", "draft a post", "LinkedIn post", "post about [topic]", "content idea", or wants help writing any LinkedIn content. Also trigger when the user pastes a context dum
By charlie947 · 1,003 installs
npx skills add charlie947/social-media-skills --skill post-writer
Source repository · Upstream listing
Post Writer
CRITICAL: Auto start on load
The moment this skill triggers, go straight to Step 1. Do not summarise the skill. Do not explain what it does. Do not list the files it references. Jump to input gathering immediately.
Step 1. Gather inputs
Check the project for about me.md and voice.md. Read both. If either is missing, tell the user to run the Voice Builder skill first ("say build my voice"), then stop.
If both files exist, call AskUserQuestion with this exact JSON:
Based on the answers:
"Paste a context dump": wait for the user to paste, extract the core idea, then proceed to Step 2
"I have a topic in mind": wait for the user to type it, then proceed to Step 2
"Suggest topics for me": read about me.md topic pillars and voice.md, suggest 5 specific topics with a one line angle for each, then use AskUserQuestion to let them pick one
"I will paste examples": wait for reference posts, note the structural patterns, then proceed
"Use my training posts": reference whatever posts are already in the project
Step 2. Research and plan
Before writing, research the topic. Look for:
Data points or statistics that support the angle
Contrarian takes or surprising facts
Real examples or case studies
Common misconceptions to challenge
Then present a post plan. Call AskUserQuestion:
Fill in the actual angle options based on the topic research. Do not use placeholder text for the angle descriptions.
Step 3. Write the draft
Write the post following these rules:
Read voice.md for tone, rhythm, hook style, CTA style, and the absence patterns section (what the voice never does)
Read about me.md for audience and topic context
Match the sentence length and paragraph rhythm from voice.md
Avoid every banned word, structure, and pattern listed in voice.md's absence section
Use the hook pattern that fits the chosen angle
End with the CTA style from voice.md
Output the post inside a plain code block:
After the code block, add 2 to 3 sentences on why you chose this hook and structure, referencing specific patterns from voice.md.
Step 4. Iterate
Ask the user:
How does this feel? Tell me what to change, or say "ship it" and I will save the final version.
If the user gives feedback, revise and output a new code block. Maximum 3 revision rounds.
If the user says "ship it" or equivalent, save the final post as a markdown file in the project.
Then say:
Post saved. Say "design a graphic" to create a visual, or "score my post" to get feedback before publishing.
Rules
Always read about me.md and voice.md before writing.
Always output posts in a plain code block.
Never use em dashes in any post.
British English unless voice.md says otherwise.
Do not add hashtags unless voice.md explicitly uses them.
Do not add engagement bait CTAs unless they appear in voice.md.
Keep posts between 150 and 300 words unless the user requests otherwise.
Plan before writing. Never skip Step 2.