🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

X Voice Match

by @gravyxbt

Analyze a Twitter/X account's posting style and generate authentic posts that match their voice. Use when the user wants to create X posts that sound like them, analyze their posting patterns, or maintain consistent voice across posts. Works with Bird CLI integration.

Versionv1.0.0
Downloads2,181
Installs2
Stars⭐ 1
TERMINAL
clawhub install x-voice-match

πŸ“– About This Skill


name: x-voice-match description: Analyze a Twitter/X account's posting style and generate authentic posts that match their voice. Use when the user wants to create X posts that sound like them, analyze their posting patterns, or maintain consistent voice across posts. Works with Bird CLI integration.

X Voice Match

Analyze Twitter/X accounts to extract posting patterns and generate authentic content that matches the account owner's unique voice.

Quick Start

Step 1: Analyze the account

cd /data/workspace/skills/x-voice-match
python3 scripts/analyze_voice.py @username [--tweets 50] [--output profile.json]

Step 2: Generate posts

python3 scripts/generate_post.py --profile profile.json --topic "your topic" [--count 3]

Or use the all-in-one approach:

python3 scripts/generate_post.py --account @username --topic "AI agents taking over" --count 5

What It Analyzes

The skill extracts:

  • Length patterns: Tweet character counts, thread usage, one-liner vs paragraph style
  • Tone markers: Humor style, sarcasm, self-deprecation, edginess level
  • Topics: Crypto, AI, tech, memes, personal life, current events
  • Engagement patterns: QT vs original, reaction tweets, conversation starters
  • Language patterns: Specific phrases, slang, emoji usage, punctuation style
  • Content types: Observations, hot takes, memes, threads, questions, personal stories
  • Output Format

    Voice Profile (JSON)

    {
      "account": "@gravyxbt_",
      "analyzed_tweets": 50,
      "patterns": {
        "avg_length": 85,
        "length_distribution": {"short": 0.6, "medium": 0.3, "long": 0.1},
        "uses_threads": false,
        "humor_style": "self-deprecating, ironic",
        "topics": ["crypto", "AI agents", "memes", "current events"],
        "engagement_type": "reactive QT heavy",
        "signature_phrases": ["lmao", "fr", "based"],
        "emoji_usage": "minimal, strategic",
        "punctuation": "lowercase, casual"
      }
    }
    

    Generated Posts

    Returns 1-N posts with confidence scores and reasoning.

    Integration with Existing Tools

    Works with Bird CLI (/data/workspace/bird.sh):

    # Fetch fresh tweets for analysis
    ./bird.sh user-tweets @gravyxbt_ -n 50 > recent_tweets.txt
    python3 scripts/analyze_voice.py --input recent_tweets.txt
    

    Post Type Templates

    See references/post-types.md for common X post frameworks:

  • Observations
  • Hot takes
  • Self-deprecating humor
  • Crypto commentary
  • Reaction posts
  • Questions
  • Advanced Usage

    Update Voice Profile

    Re-analyze periodically to capture style evolution:
    python3 scripts/analyze_voice.py @username --update profile.json
    

    Generate by Post Type

    python3 scripts/generate_post.py --profile profile.json --type "hot-take" --topic "crypto"
    

    Batch Generation

    python3 scripts/generate_post.py --profile profile.json --batch topics.txt --output posts.json
    

    Workflow

    1. First time: Run full analysis on 30-50 tweets 2. Generate posts: Provide topic, get 3-5 style-matched options 3. User picks: Select best option or iterate with feedback 4. Periodic updates: Re-analyze monthly or after major voice shifts

    Tips

  • Minimum tweets: 30 tweets for basic analysis, 50+ for accuracy
  • Recency matters: Recent tweets reflect current style better than old ones
  • Topic relevance: Generated posts work best on topics the account normally covers
  • Confidence scores: <70% = may not sound authentic, revise or regenerate
  • πŸ’‘ Examples

    Step 1: Analyze the account

    cd /data/workspace/skills/x-voice-match
    python3 scripts/analyze_voice.py @username [--tweets 50] [--output profile.json]
    

    Step 2: Generate posts

    python3 scripts/generate_post.py --profile profile.json --topic "your topic" [--count 3]
    

    Or use the all-in-one approach:

    python3 scripts/generate_post.py --account @username --topic "AI agents taking over" --count 5
    

    πŸ“‹ Tips & Best Practices

  • Minimum tweets: 30 tweets for basic analysis, 50+ for accuracy
  • Recency matters: Recent tweets reflect current style better than old ones
  • Topic relevance: Generated posts work best on topics the account normally covers
  • Confidence scores: <70% = may not sound authentic, revise or regenerate