From article-writer
Generates platform-optimized social media posts for LinkedIn, Instagram, or X/Twitter with author voice adaptation; standalone from topics or derived from blog articles.
How this skill is triggered — by the user, by Claude, or both
Slash command
/article-writer:social-post-writerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create social media content optimized for LinkedIn, Instagram, or X/Twitter. Posts can be standalone (from a topic) or derived from an existing blog article.
Create social media content optimized for LinkedIn, Instagram, or X/Twitter. Posts can be standalone (from a topic) or derived from an existing blog article.
Initialize → Plan → Research (light) → Draft → Review → Translate → Finalize
Initialize → Read Source Article → Plan Adaptation → Draft → Review → Translate → Finalize
platform_defaults.<platform>)effective_formality = clamp(author.formality + platform.tone_adjustment.formality_offset, 1, 10)
effective_opinionated = clamp(author.opinionated + platform.tone_adjustment.opinionated_offset, 1, 10)
create-article-folder.ts --platform <platform>create-article-folder.ts --platform <platform> --derive-from <id>Apply the effective tone calculated in Phase 1. See references/platform-voice-guide.md for detailed guidelines per platform.
See the platform reference files for structure templates:
references/linkedin-format.mdreferences/instagram-format.mdreferences/x-format.md| Platform | Files |
|---|---|
{slug}.linkedin.{lang}.md | |
{slug}.instagram.{lang}.md + {slug}.instagram.carousel.{lang}.md | |
| X/Twitter | {slug}.x.tweet.{lang}.md + {slug}.x.thread.{lang}.md |
Platform Constraint Compliance Checklist:
For derive mode additionally:
Insert article row with:
platform: "linkedin" | "instagram" | "x"derived_from: source article ID (if derive mode)platform_data: JSON with platform-specific structured contentstatus: "draft"output_folder: folder pathoutput_files: per-language file pathsLinkedIn:
{
"hook": "Opening 2-3 lines...",
"body": "Main content...",
"cta": "Call to action...",
"hashtags": ["#Laravel", "#WebDev", "#PHP"],
"word_count": 580
}
Instagram:
{
"caption": {
"text": "Full caption text...",
"visible_preview": "First 125 chars...",
"hashtags": ["#laravel", "#php", "#webdev", "..."],
"char_count": 1850
},
"carousel": {
"slide_count": 7,
"slides": [
{ "number": 1, "title": "Rate Limiting in Laravel", "body": "...", "visual_direction": "..." },
{ "number": 2, "title": "Why It Matters", "body": "...", "visual_direction": "..." }
]
}
}
X/Twitter:
{
"tweet": {
"text": "Single tweet text...",
"char_count": 265,
"hashtags": ["#Laravel", "#PHP"]
},
"thread": {
"tweet_count": 8,
"tweets": [
{ "number": 1, "text": "Thread opener...", "char_count": 275 },
{ "number": 2, "text": "Key point 1...", "char_count": 260 }
]
}
}
Social posts do NOT get companion projects. If derived from a blog article that has one, link to it:
"Full working example in the blog post: [link]"
# Create folder for standalone social post
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/create-article-folder.ts <path> --platform linkedin
# Create social/ subfolder for derived post
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/create-article-folder.ts <path> --platform instagram --derive-from 42
# Load platform defaults
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/show.ts settings linkedin
# Set article status
bun run "${CLAUDE_PLUGIN_ROOT}"/scripts/article-stats.ts --set-status draft <id>
npx claudepluginhub mwguerra/claude-code-plugins --plugin article-writerCreates platform-native content for X, LinkedIn, TikTok, YouTube, newsletters, and multi-platform campaigns. Use when writing social posts, threads, scripts, or content calendars from source material.
Rewrites social content to match the authentic voice of each platform — LinkedIn, X, TikTok, Instagram, Threads — avoiding cross-post tone mismatches.
Generates platform-specific social media posts for LinkedIn, Facebook, Instagram, Reddit from topics, content, or campaigns, respecting limits, hashtags, and best practices.