Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
charlie947 avatar

Post Writer

  • 532 installs
  • 2.1k repo stars
  • Updated May 20, 2026
  • charlie947/social-media-skills

post-writer is a Claude Code skill that drafts LinkedIn posts matching a project's voice system from about-me.md and voice.md for developers who need platform-ready professional content from notes, transcripts, or topic

About

post-writer is a LinkedIn content skill that reads about-me.md and voice.md before drafting posts that match the user's established tone. Trigger phrases include write a post, draft a post, LinkedIn post, post about a topic, or converting pasted notes and transcripts into publishable copy. The skill auto-starts on load and outputs the final post inside a code block without summarizing its own workflow first. Developers reach for post-writer when they have raw context dumps or content ideas and need LinkedIn-ready drafts aligned to an existing voice system.

  • post writer
  • From Charlie Hills' social-media-skills pack
  • Voice-consistent social content

Post Writer by the numbers

  • 532 all-time installs (skills.sh)
  • Ranked #741 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/charlie947/social-media-skills --skill post-writer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs532
repo stars2.1k
Last updatedMay 20, 2026
Repositorycharlie947/social-media-skills

How do you draft LinkedIn posts in your voice?

Drafts platform-ready social posts.

Who is it for?

Developers maintaining a LinkedIn presence who already store voice rules in about-me.md and voice.md project files.

Skip if: Teams needing Twitter threads, technical blog posts, or SEO landing page copy instead of LinkedIn social posts.

When should I use this skill?

The user says write a post, draft a LinkedIn post, shares notes or transcripts, or asks for content ideas turned into LinkedIn copy.

What you get

A platform-ready LinkedIn post formatted in a code block and aligned to voice.md tone rules.

  • LinkedIn post draft in code block

Files

SKILL.mdMarkdownGitHub ↗

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:

[
  {
    "question": "What topic do you want to post about?",
    "header": "Topic",
    "multiSelect": false,
    "options": [
      {"label": "Paste a context dump", "description": "I have notes, transcripts, or raw ideas to turn into a post"},
      {"label": "I have a topic in mind", "description": "I will type the topic after this"},
      {"label": "Suggest topics for me", "description": "Based on my voice system, suggest 5 topics I should post about"}
    ]
  },
  {
    "question": "Do you have any reference posts you want me to use as structural inspiration?",
    "header": "References",
    "multiSelect": false,
    "options": [
      {"label": "No references", "description": "Write from scratch using my voice files only"},
      {"label": "I will paste examples", "description": "I have posts from other creators I want you to study first"},
      {"label": "Use my training posts", "description": "Reference the posts I used in the Voice Builder"}
    ]
  }
]

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:

[
  {
    "question": "Which angle works best for this post?",
    "header": "Angle",
    "multiSelect": false,
    "options": [
      {"label": "[Angle 1 name]", "description": "[One sentence describing the angle and hook]"},
      {"label": "[Angle 2 name]", "description": "[One sentence describing the angle and hook]"},
      {"label": "[Angle 3 name]", "description": "[One sentence describing the angle and hook]"}
    ]
  },
  {
    "question": "Which framework do you want?",
    "header": "Framework",
    "multiSelect": false,
    "options": [
      {"label": "PAS", "description": "Problem, Agitate, Solution"},
      {"label": "How-to list", "description": "Numbered steps or tips"},
      {"label": "Story to lesson", "description": "Personal story with a takeaway"},
      {"label": "Contrarian take", "description": "Challenge a common belief"}
    ]
  }
]

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:

[The full post goes here with all line breaks and formatting exactly as it should appear on LinkedIn]

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.

Related skills

FAQ

What files does post-writer require?

post-writer always references about-me.md and voice.md in the project before writing. Those files define tone, topics, and phrasing rules the LinkedIn draft must follow.

What triggers post-writer automatically?

post-writer triggers on phrases like write a post, draft a post, LinkedIn post, post about a topic, or pasted context dumps the user wants turned into LinkedIn content.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.