
Post Formatter
- 522 installs
- 2.1k repo stars
- Updated May 20, 2026
- charlie947/social-media-skills
post-formatter is an agent skill that turns a topic into a framework-structured LinkedIn post using PAS, AIDA, BAB, STAR, or SLAY at 200–250 words with mobile-friendly line breaks.
About
post-formatter is a LinkedIn copywriting skill that converts a topic or rough notes into a publish-ready post using one of five named frameworks: PAS, AIDA, BAB, STAR, or SLAY. Output stays between 200 and 250 words, caps at 20 lines, and inserts blank lines between sentences for mobile readability. post-formatter differs from post-writer in the same repo, which drafts in the user's voice without framework constraints. Developers reach for post-formatter when they have substance but need disciplined structure for thought-leadership, launch announcements, or technical explainers destined for LinkedIn feeds.
- post formatter
- From Charlie Hills' social-media-skills pack
- Voice-consistent social content
Post Formatter by the numbers
- 522 all-time installs (skills.sh)
- Ranked #752 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-formatterAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 522 |
|---|---|
| repo stars | ★ 2.1k |
| Last updated | May 20, 2026 |
| Repository | charlie947/social-media-skills ↗ |
How do you format a LinkedIn post with PAS or AIDA?
Formats posts cleanly for each platform.
Who is it for?
Developers publishing structured LinkedIn thought-leadership who want a named copywriting framework instead of freeform drafting.
Skip if: Long-form articles, Twitter threads, or voice-matched drafts without framework constraints—use post-writer instead.
When should I use this skill?
User says format this as a post, turn this into a LinkedIn post, write it as PAS, or names AIDA, BAB, STAR, or SLAY.
What you get
Publish-ready LinkedIn post at 200–250 words, 20 lines max, with framework structure and mobile spacing.
- Framework-structured LinkedIn post
By the numbers
- Supports 5 copywriting frameworks: PAS, AIDA, BAB, STAR, SLAY
- Targets 200–250 words with a 20-line maximum
Files
Post Formatter
CRITICAL: Auto-start on load
When this skill triggers, go straight to Step 1. Do not summarise. Start input gathering immediately.
Step 1. Gather inputs
Call AskUserQuestion:
[
{
"question": "What topic do you want to post about?",
"header": "Topic",
"multiSelect": false,
"options": [
{"label": "I will type the topic", "description": "Single sentence describing the subject"},
{"label": "Paste a context dump", "description": "Notes, stats, transcripts to turn into a post"}
]
},
{
"question": "Which framework?",
"header": "Framework",
"multiSelect": false,
"options": [
{"label": "PAS", "description": "Problem, Agitation, Solution"},
{"label": "AIDA", "description": "Attention, Interest, Desire, Action"},
{"label": "BAB", "description": "Before, After, Bridge"},
{"label": "STAR", "description": "Situation, Task, Action, Result"},
{"label": "SLAY", "description": "Story, Lesson, Actionable advice, You"},
{"label": "Pick for me", "description": "Recommend the best framework based on the topic"}
]
}
]Ask one follow-up:
Anything else I should know? Facts, stats, tone notes, or who this is for.
Wait for response.
Step 2. Write the post
Apply these global rules to every output:
- Maximum 20 lines, 200 to 250 words total (~1,200 characters)
- Blank line after every line
- Most lines: one sentence, 55 characters or fewer
- Up to 4 lines may be mini-paragraphs (2 to 3 sentences, 110 characters or fewer)
- Grade 6 words. Zero adverbs, zero jargon, zero fluff
- No em dashes
- No questions unless the hook itself is a question
- No emojis except checkmarks for numbered lists (1. 2. 3.) and the recycle symbol in the CTA
- Rule of Three: use at most two trios per post
- Vary sentence starts. Do not over-use "I"
Step 3. Structure
- Line 1 (Hook): Bold. 50 characters or fewer.
- Line 2 (Twist / Contrast): 50 characters or fewer. Opposes or surprises the hook.
- Lines 3 to 18 (Core): The chosen framework, split across 3 to 5 lines per stage. Any list inside a stage must have exactly three items (1. 2. 3.). Use arrows to show flow where useful.
Framework maps:
- PAS: Problem -> Agitation -> Solution
- AIDA: Attention -> Interest -> Desire -> Action
- BAB: Before -> After -> Bridge
- STAR: Situation -> Task -> Action -> Result
- SLAY: Story -> Lesson -> Actionable advice -> You
- Lines 19 to 20 (Wrap and CTA): 2 to 3 lines that lock the lesson. Close with one of these phrases followed by the recycle symbol: "Repost if", "Repost this", or "If this helped, repost".
Step 4. Output
Output the finished post inside a code block. No preamble, no trailing notes.
Step 5. Offer the next move
After the post, ask:
Want a matching graphic (graphic-designer skill) or want me to score it against your post history (post-scorer skill)?
Rules
- Return the finished post only. No meta-commentary.
- Enforce line length, word count, and lines count limits. Count them.
- Never use em dashes.
- British English unless voice.md specifies otherwise.
- If the user has voice.md in the project, tune tone and rhythm to match it.
- If a trio is used, it has exactly three items. Not two, not four.
Related skills
FAQ
Which frameworks does post-formatter support?
post-formatter supports PAS, AIDA, BAB, STAR, and SLAY copywriting frameworks. The developer names the framework or asks for a structured post, and the skill applies that template to the supplied topic.
How is post-formatter different from post-writer?
post-formatter enforces a named copywriting framework, 200–250 words, and 20-line mobile formatting. post-writer in the same repo drafts LinkedIn copy in the user's voice without framework or length constraints.