4.0k★by gravyxbt
x-voice-match – OpenClaw Skill
x-voice-match is an OpenClaw Skills integration for data analytics workflows. 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.
Skill Snapshot
| 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. OpenClaw Skills integration. |
| owner | gravyxbt |
| repository | gravyxbt/x-voice-match |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @gravyxbt/x-voice-match |
| last updated | Feb 7, 2026 |
Maintainer

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
- First time: Run full analysis on 30-50 tweets
- Generate posts: Provide topic, get 3-5 style-matched options
- User picks: Select best option or iterate with feedback
- 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
No README available.
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install x-voice-match?
Run openclaw add @gravyxbt/x-voice-match in your terminal. This installs x-voice-match into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/gravyxbt/x-voice-match. Review commits and README documentation before installing.
