Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add richtabor/agent-skills --skill "x-writing"
Install specific skill from multi-skill repository
# Description
Transforms notes into X (Twitter) posts. Triggers when user asks to create social content, draft tweets, or turn notes/ideas into posts.
# SKILL.md
name: x-writing
description: Transforms notes into X (Twitter) posts. Triggers when user asks to create social content, draft tweets, or turn notes/ideas into posts.
approved:
- Read:references/
- Read:.social/
- Write:.social/
- Bash:./scripts/fetch-notes.sh
X Writing Skill
Overview
Transform your notes, work updates, and observations into engaging X (Twitter) content. This skill analyzes your notes to identify the most shareable insights, then crafts authentic posts that match your voice and drive engagement.
Supports macOS Notes integration - Automatically fetch ideas from your Notes app to draft posts.
Process
Phase 1: Preparation and Analysis
1.1 Load Writing Guides (REQUIRED - Load First)
Before any other work, read ALL THREE reference files:
-
Growth Principles (
references/x-strategy.md) - Content selection criteria, what makes posts shareable, engagement patterns, and what to prioritize from notes. This guides WHAT to share. -
Style Guide (
references/style-guide.md) - Voice, tone, structure, banned phrases, and signature patterns. This guides HOW to share it. -
Anti-Patterns (
references/anti-patterns.md) - AI writing patterns to avoid. Critical for ensuring posts sound human and authentic, not AI-generated. Avoid patterns like "It's not X, it's Y", formal transitions, hedging language, and AI-specific vocabulary.
PRIORITY RULE: When guides conflict, references/x-strategy.md wins. Content value and shareability take precedence over stylistic preferences.
1.2 Understand the Source Material
Get clarity on what notes to work with:
- Ask which notes, ideas, or updates they want to transform into posts
- macOS Notes Integration: When the user asks to "look in my notes" or "fetch from Notes", use
scripts/fetch-notes.sh getto pull content from their configured Notes app note (default: "Tweets") - Read the source material (markdown files, text, pasted content, or Notes app content)
- Identify the core insights, learnings, or updates
- Note any specific tools, projects, numbers, or details mentioned
Using macOS Notes Integration:
# Fetch content from default note (configured in .env.local)
./scripts/fetch-notes.sh get
# Fetch content from a specific note
./scripts/fetch-notes.sh get "Note Name"
# List all available notes
./scripts/fetch-notes.sh list
Multiple ideas/notes workflow:
- When the user provides multiple distinct ideas or notes, work through them ONE AT A TIME
- Create post options for the first idea
- Wait for user approval/feedback before moving to the next idea
- This prevents overwhelming the user and allows for refinement as you go
1.3 Apply Selection Criteria
Using principles from references/x-strategy.md, evaluate the notes:
- High Priority: Shipped features with learnings, non-obvious insights, specific tool recommendations, solutions to common problems
- Medium Priority: Industry takes with unique angles, process improvements with examples
- Low Priority: Generic progress updates, future plans, obvious observations
- Skip: Engagement bait, vague hype, complaints without solutions
For each potential post, verify:
- Does it teach something specific?
- Is it backed by real experience?
- Would you want to read this if someone else posted it?
Phase 2: Content Creation
2.1 Select the Best Angle
From your analysis, identify:
- One clear idea - What's the single most interesting insight?
- Specific details - What names, numbers, or examples prove the point?
- The hook - What's the opening line that makes someone stop scrolling?
2.2 Choose the Format
Based on the content:
Single Tweet (most content) - Use for:
- One clear insight or observation
- Quick ship updates with learning
- Tool recommendations
- Strong observations
Thread (2-5 tweets) - Only use when you have:
- A narrative with steps
- Multiple related insights that build on each other
- Before/after story with context
2.3 Draft the Content
Apply BOTH guides loaded in Phase 1:
From style-guide.md:
- Direct, zero fluff - Get to the point in line 1
- Hook = first line
- Short sentences (10-15 words max)
- Specific over generic (names, tools, numbers)
- Present tense, active voice
- 180-250 characters (leave room for RTs)
- Avoid banned phrases (game-changer, unlock, dive in, leverage)
- Apply casing preference from CASING_STYLE env var (lowercase by default, capitalize personal names and WordPress)
From x-strategy.md:
- Value first - Give readers something useful
- Show your work - Share process and reasoning
- Specificity builds credibility
- One clear idea per post
Pattern Selection:
Use appropriate pattern from x-strategy.md:
- "Here's what I learned" - For insights
- "Shipped X, learned Y" - For updates
- Specific vs Generic - For challenging assumptions
- Tool Recommendation - For workflow improvements
- Problem β Solution - For how you solved something
2.4 Engagement Optimization
End 70% of posts with engagement:
- Specific question: "How do you handle [specific thing]?"
- Teaser: "More on this soon."
- Invitation: "Curious what you think."
- Hard stop (30%): Let the insight land
2.5 Quality Check
Before finalizing, verify against the three loaded reference files:
- [ ] Did I get to the point in line 1?
- [ ] Is this specific? (names, numbers, examples)
- [ ] Would I actually say this out loud?
- [ ] Does it sound like ME, not ChatGPT?
- [ ] Did I use any banned phrases from style-guide.md?
- [ ] Did I avoid AI patterns from anti-patterns.md?
- [ ] If it's a reaction, did I add MY angle?
Phase 3: Output
3.1 Present the Content
For each post created:
- The Post(s) - Show the actual tweet(s) ready to copy/paste
- Format - Indicate if it's a single tweet or thread
- Character Count - Show length (target: 180-250 chars)
- Pattern Used - Which pattern from x-strategy.md was applied
- Key Elements - What specifics, tools, or projects were highlighted
3.2 Offer Options
When appropriate, provide 2-3 variations:
- Different angles on the same insight
- Single tweet vs thread format
- Different engagement endings
3.3 Explain Selections
Briefly note what was prioritized and why:
- Which insights from notes were selected
- Why certain details were emphasized
- What was intentionally left out
3.4 Save Approved Posts
When the user approves a post, append it to .social/X.md at the top level (create if missing).
File location:
- Always save to: .social/X.md (top-level, works from any directory)
Markdown format:
---
**Category:** Learning
**Type:** Single
**Status:** approved
**Date:** 2026-01-01
WordPress.com AI adds conversation alongside block editing.
People who couldn't navigate the UI before are shipping sites now. Others still use blocks for fine-tuning.
Both work. The conversation path just removes the skill barrier.
---
For threads, use markers to distinguish tweets:
---
**Category:** Learning
**Type:** Thread
**Status:** approved
**Date:** 2026-01-01
[THREAD - Tweet 1/4]
WordPress.com AI changes how people build sites.
[Tweet 2/4]
People who couldn't navigate block editing are shipping now.
[Tweet 3/4]
The UI is still there for fine-tuning. But conversation removes the skill barrier.
[Tweet 4/4]
Ask or click. Both paths work.
---
Categories:
- Learning - Insights, shipped updates with learnings
- Update - Project progress
- Tool - Recommendations
- Observation - Industry takes
Workflow:
1. Present the post(s) to the user
2. When approved, append to .social/X.md
3. User can copy-paste directly into X (text is ready with proper line breaks)
4. User removes the section after posting, or asks you to remove it
Output Format
After creating social content, provide:
π± Post 1 (Single Tweet, 210 chars)
βββββββββββββββββββββββββββββββββ
[Actual tweet text ready to copy/paste]
Pattern: "Shipped X, learned Y"
Specifics: agents.foo, conversational context matching
Engagement: Specific question
βββββββββββββββββββββββββββββββββ
From your notes, I prioritized:
β The discovery insight (most shareable)
β Why traditional search failed (specific learning)
β Timeline details (not core value)
Alternative angles:
β’ Focus on the technical implementation
β’ Thread breaking down the 3 attempts
Example Interaction
User: "Help me create a post from these notes about building the curation feature"
Response:
Let me analyze your notes and create X content.
[Phase 1: Loads references/x-strategy.md and references/style-guide.md]
[Reads the notes, identifies key insights and specific details]
βββββββββββββββββββββββββββββββββ
π± Post (Single Tweet, 218 chars)
βββββββββββββββββββββββββββββββββ
Shipped curation v1 for agents.foo today.
Discovery is way harder than app stores. Agents are conversations, not static features.
Had to rebuild around context matching instead of keyword search.
Pattern: "Shipped X, learned Y"
Key specifics: agents.foo, context matching vs keyword search
Engagement: Implicit (landing the insight)
βββββββββββββββββββββββββββββββββ
From your notes, I selected:
β Core insight: agent discovery is different
β Specific solution: context matching
β Concrete detail: agents.foo
β Number of rebuild attempts (not essential to the insight)
Would you like me to:
β’ Save this approved post to .social/ for tracking
β’ Create a thread version breaking down why search patterns failed
β’ Add a question ending for more engagement
β’ Draft additional posts from other insights in your notes
Tips for Best Results
- Provide context: "Notes from building curation feature" vs just pasting notes
- Mention specific parts: "Focus on the learning about context matching" helps prioritize
- Indicate quantity: "Create 3 posts from these notes" vs "create posts"
- Specify format preference: "Single tweets only" or "open to threads"
- Request variations: "Show me a few angles" gives options to choose from
- Iterate: After the draft, request adjustments: "Make it more specific" or "Add a question ending"
Working with Different Note Types
Technical/Dev Notes
- Extract specific tools, frameworks, or technical decisions
- Focus on the "why" behind technical choices
- Include measurable improvements (time saved, performance gains)
Personal Observations
- Find the counter-intuitive angle
- Add specific examples from your work
- Tie to practical application
Meeting Notes
- Extract actionable insights
- Skip procedural details
- Focus on decisions or learnings
Work Updates
- Lead with what shipped
- Include one key learning
- Make it specific (not "made progress")
Advanced: Batch Processing
For multiple posts from one set of notes:
- Identify 3-5 distinct insights worth sharing
- Create separate posts for each (don't try to cram everything)
- Space them out - Don't post all at once
- Vary patterns - Use different structures for variety
- Test and iterate - See what resonates, refine approach
Remember
Quality over quantity. 2 valuable posts beat 10 generic ones.
Specificity is everything. Names, numbers, tools, projects - these make posts shareable.
Your voice matters. Follow the guides but sound like yourself, not a template.
Value first. If it doesn't teach, share insight, or help someone - reconsider posting it.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.