Social Media Content Kit Generator
Creates platform-specific content (Twitter/X threads, LinkedIn posts, Instagram captions) from a single idea, with hashtag research and character validation. Optionally posts directly to platforms via Playwright MCP. Prerequisites: brave-search MCP, python3, playwright MCP.
MCP get_skill({ skillId: "social-media-content-kit-generator-f59469ed" })Use this skill with your agent
Create a free account and connect via MCP
# Social Media Content Kit Generator
Turn one idea into platform-specific content for Twitter/X, LinkedIn, and Instagram. Optionally post directly via Playwright.
## When to Use
- "Create social media posts about {topic}"
- "Turn this blog post into a Twitter thread and post it"
- "Generate a LinkedIn post and publish it"
## Requirements
- **Brave Search MCP** for trending hashtag and topic research
- **python3** for character counting and scheduling
- **Playwright MCP** for posting content directly to platforms (user must be logged in)
## Workflow
### Step 1 โ Content Brief
- **Source content** (blog post, idea, announcement, lesson learned)
- **Platforms** (Twitter/X, LinkedIn, Instagram, or all)
- **Brand voice** (professional, witty, inspirational, educational)
- **Goal** (awareness, engagement, traffic, leads)
- **CTA** (link to click, comment prompt, share, DM)
- **Auto-post?** (yes/no โ if yes, will post via Playwright after approval)
### Step 2 โ Research Trends
```
brave_web_search: "{TOPIC} trending hashtags {PLATFORM} {YEAR}"
brave_web_search: "viral {PLATFORM} post format {TOPIC} examples"
brave_web_search: "best time to post {PLATFORM} engagement {YEAR}"
```
### Step 3 โ Generate Platform Content
**Twitter/X Thread:**
```markdown
### ๐ฆ Twitter/X Thread ({N} tweets)
**1/** {Hook โ bold claim, question, or contrarian take} ๐งต
**2/** {Supporting point 1}
**3/** {Supporting point 2}
**4/** {Supporting point 3 โ concrete example or data}
**5/** {Key takeaway or reframe}
**6/** {CTA}
Like this? Follow me for more on {topic}.
RT the first tweet to help others find this.
---
Characters per tweet: all under 280 โ
Hashtags: #{tag1} #{tag2} (on tweet 1 only)
```
**LinkedIn Post:**
```markdown
### ๐ผ LinkedIn Post
{Hook line โ personal story or surprising stat}
{Blank line}
{3-5 short paragraphs with line breaks between each}
{Bullet points or numbered list with key insights}
{CTA โ question to encourage comments}
---
Character count: {N}/3000
Hashtags: #{tag1} #{tag2} #{tag3} (3-5 max, at the end)
```
**Instagram Caption:**
```markdown
### ๐ธ Instagram Caption
{Hook line โ first 125 chars visible before "more"}
{Body โ storytelling or value, 2-3 short paragraphs}
{CTA โ "Save this for later" / "Tag someone who needs this"}
.
.
.
#{tag1} #{tag2} #{tag3} ... (up to 30 hashtags)
---
Image suggestion: {description of ideal visual}
```
### Step 4 โ Character Count Validation
```bash
python3 << 'PYEOF'
tweets = [
"{tweet 1 text}",
"{tweet 2 text}",
# ...
]
for i, tweet in enumerate(tweets, 1):
chars = len(tweet)
status = "โ
" if chars <= 280 else "๐ด OVER"
print(f"Tweet {i}: {chars}/280 chars {status}")
linkedin = """{LINKEDIN_POST}"""
print(f"\nLinkedIn: {len(linkedin)}/3000 chars")
instagram = """{INSTAGRAM_CAPTION}"""
print(f"Instagram: {len(instagram)}/2200 chars")
PYEOF
```
### Step 5 โ Present for Approval
Show all generated content to the user. **Get explicit approval before posting to any platform.**
### Step 6 โ Post via Playwright (after approval)
Only if user approved. User must be logged into the platform in the browser session.
**IMPORTANT:** Each platform may show a cookie consent banner on first visit. Look for "Accept" / "Accept cookies" / "Allow all cookies" in the snapshot and click it before proceeding with any other interaction. Also dismiss any promotional pop-ups or upsell dialogs that appear.
**Post to Twitter/X:**
```
browser_navigate: "https://x.com/compose/post"
browser_snapshot
โ Handle any cookie consent or login prompts
browser_click: tweet compose text area
browser_type: "{TWEET_1_TEXT}"
browser_snapshot
```
Show the snapshot to the user for final confirmation, then:
```
browser_click: "Post" button
browser_snapshot
```
For threads, after posting tweet 1:
```
browser_click: "Add another post" / reply to own tweet
browser_type: "{TWEET_2_TEXT}"
browser_click: "Post"
```
Repeat for each tweet in the thread.
**Post to LinkedIn:**
```
browser_navigate: "https://www.linkedin.com/feed/"
browser_snapshot
โ Handle cookie consent banner if shown
browser_click: "Start a post" button
browser_snapshot
browser_type: "{LINKEDIN_POST_TEXT}"
browser_snapshot
```
LinkedIn uses TipTap rich text editors. If `browser_type` doesn't work on the compose box, try: `browser_click` the text area โ `browser_type` the text.
Show snapshot for confirmation, then:
```
browser_click: "Post" button
browser_snapshot
โ Dismiss any Premium upsell or promotional dialogs
```
**Post to Instagram (web):**
```
browser_navigate: "https://www.instagram.com/"
browser_snapshot
โ Handle cookie consent banner if shown
browser_click: "Create" / new post button
browser_snapshot
```
Note: Instagram web has limited posting support. If image upload is required, instruct the user to upload the image manually, then fill in the caption:
```
browser_type: "{INSTAGRAM_CAPTION}"
browser_snapshot
browser_click: "Share" button
browser_snapshot
```
### Step 7 โ Save Content Kit
```bash
mkdir -p outputs/content/social
cat > "outputs/content/social/{TOPIC_SLUG}-{DATE}.md" << 'EOF'
{ALL_PLATFORM_CONTENT}
## Posting Status
- Twitter/X: {Posted โ
/ Not posted}
- LinkedIn: {Posted โ
/ Not posted}
- Instagram: {Posted โ
/ Not posted}
EOF
```
## Important Rules
- **ALWAYS show content and get user approval before posting** โ never auto-post without confirmation
- **Handle cookie consent banners** before interacting with any platform
- **Dismiss promotional pop-ups/upsell dialogs** that appear after actions (especially LinkedIn Premium)
- Take a browser snapshot before AND after clicking Post to verify
- If a platform's UI changes or an element isn't found, stop and tell the user
- Each platform version must be native to that platform โ not copy-paste
- Twitter: hook must be in first tweet, thread must be skimmable
- LinkedIn: first line is everything โ it appears before "see more"
- Instagram: first 125 characters must hook โ rest is below fold
- Don't over-hashtag โ 2 on Twitter, 3-5 on LinkedIn, up to 30 on Instagram
- If user declines auto-posting, save content to file for manual posting
## Example Prompts
- "Turn this blog post into a Twitter thread and post it"
- "Create a LinkedIn post about remote work tips and publish it"
- "Generate social media content about startup lessons โ just save it, don't post"Related Skills
More skills in Content Creation
Newsletter Issue Writer
Researches trending topics via Brave Search, curates links, and writes a complete newsletter issue with engaging subject lines, sections, and CTAs. Prerequisites: brave-search MCP, python3.
Proofreader & Style Editor
Reviews text for grammar, clarity, tone, and style issues. Applies configurable style guides (AP, Chicago, technical), tracks changes with before/after diffs, and provides readability scoring. Prerequisites: python3.
SEO Blog Post Writer
Researches keywords and competitor content via Brave Search, generates SEO-optimized blog posts with proper heading structure, meta descriptions, and internal linking suggestions. Prerequisites: brave-search MCP, python3.
YouTube Video Script Writer
Researches a topic via Brave Search, writes a structured video script with hooks, timestamps, B-roll suggestions, and generates an optimized title/description/tags for YouTube SEO. Prerequisites: brave-search MCP, python3.
Explore Other Categories
Skills from other categories with shared topics
LinkedIn Profile Optimizer
Reads your LinkedIn profile via Playwright MCP, researches industry keywords via Brave Search, rewrites headline/summary/experience with keyword optimization, and updates your profile directly in the browser. Prerequisites: playwright MCP, brave-search MCP.
Book-to-Action Notes Generator
Researches a book's key ideas via Brave Search, generates structured chapter summaries with actionable takeaways, and creates an implementation checklist. Prerequisites: brave-search MCP.
Brand Name & Tagline Generator
Generates brand names, product names, or taglines using linguistic techniques, checks domain availability via Brave Search, and scores each option. Prerequisites: brave-search MCP, python3.