x-voice-match
Analyze a Twitter/X account's posting style and generate authentic posts that match their voice.
Installation
npx clawhub@latest install x-voice-matchView the full skill documentation and source below.
Documentation
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
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