x-research
Research high-performing X/Twitter content from tracked accounts using Apify's Tweet Scraper V2. Identifies outlier tweets, trending topics, and content patterns to inform content strategy. Use when asked to: - Find trending tweets or content in a niche - Research what's performing on X/Twitter - Identify high-performing tweet patterns - Analyze competitors' X content - Generate content ideas from X trends - Run X/Twitter research Triggers: "x research", "twitter research", "find trending tweets", "analyze x accounts", "what's working on twitter", "content research x", "tweet analysis"
How do I install this agent skill?
npx skills add https://github.com/bradautomates/head-of-content --skill x-researchIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill facilitates research on X/Twitter content by fetching tweet data via the Apify API and identifying high-performing posts. It is generally safe to use, though it processes untrusted external content which presents a standard surface for indirect prompt injection.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
- Runlayerwarn
3/3 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
X/Twitter Research
Research high-performing tweets from tracked accounts, identify outliers, and optionally analyze video content for hooks and structure.
Prerequisites
APIFY_TOKENenvironment variable or in.envGEMINI_API_KEYenvironment variable or in.env(for video analysis)apify-clientandgoogle-genaiPython packages- Accounts configured in
.claude/context/x-accounts.md
Verify setup:
python3 -c "
import os
try:
from dotenv import load_dotenv
load_dotenv()
except ImportError:
pass
from apify_client import ApifyClient
assert os.environ.get('APIFY_TOKEN'), 'APIFY_TOKEN not set'
" && echo "Prerequisites OK"
Workflow
1. Create Run Folder
RUN_FOLDER="x-research/$(date +%Y-%m-%d_%H%M%S)" && mkdir -p "$RUN_FOLDER" && echo "$RUN_FOLDER"
2. Fetch Tweets
python3 .claude/skills/x-research/scripts/fetch_tweets.py \
--days 30 \
--max-items 100 \
--output {RUN_FOLDER}/raw.json
Parameters:
--days: Days back to search (default: 30)--max-items: Max tweets per account (default: 100)--handles: Override accounts file with specific handles
API Limits: Minimum 50 tweets per query required. Wait a couple minutes between runs.
3. Identify Outliers
python3 .claude/skills/x-research/scripts/analyze_posts.py \
--input {RUN_FOLDER}/raw.json \
--output {RUN_FOLDER}/outliers.json \
--threshold 2.0
Output JSON contains:
total_posts: Number of tweets analyzedoutlier_count: Number of outliers foundtopics: Top hashtags, mentions, and keywordscontent_patterns: Analysis of what formats perform wellaccounts: List of accounts analyzedoutliers: Array of outlier tweets with engagement metrics
4. Analyze Videos with AI (Optional)
If outliers contain video content:
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py \
--input {RUN_FOLDER}/outliers.json \
--output {RUN_FOLDER}/video-analysis.json \
--platform x \
--max-videos 5
Note: X/Twitter is primarily text-based. Video analysis is optional and only useful when outliers contain video posts.
5. Generate Report
Read {RUN_FOLDER}/outliers.json (and optionally {RUN_FOLDER}/video-analysis.json), then generate {RUN_FOLDER}/report.md.
Report Structure:
# X/Twitter Research Report
Generated: {date}
## Summary
- **Total tweets analyzed**: {total_posts}
- **Outlier tweets identified**: {outlier_count}
- **Outlier rate**: {percentage}%
## Top Performing Tweets (Outliers)
### 1. @{username} ({name})
> {tweet_text}
- **URL**: {url}
- **Date**: {created_at}
- **Engagement**: {likes} likes | {retweets} RTs | {replies} replies | {bookmarks} bookmarks
- **Engagement Score**: {score}
- **Engagement Rate**: {rate}%
- **Followers**: {followers}
[Repeat for top 15 outliers]
## Top Performing Hooks (if video analysis available)
### Hook 1: {technique} - @{username}
- **Opening**: "{opening_line}"
- **Why it works**: {attention_grab}
- **Replicable Formula**: {replicable_formula}
- [Watch Video]({url})
## Trending Topics
### Top Hashtags
[From outliers.json topics.hashtags]
### Top Keywords
[From outliers.json topics.keywords]
### Top Mentions
[From outliers.json topics.mentions]
## Content Patterns in Outliers
| Pattern | Count | Percentage |
|---------|-------|------------|
| Contains media | {count} | {pct}% |
| Contains external link | {count} | {pct}% |
| Thread format | {count} | {pct}% |
| Quote tweet | {count} | {pct}% |
| Asks a question | {count} | {pct}% |
| List/numbered format | {count} | {pct}% |
| Short (<100 chars) | {count} | {pct}% |
| Medium (100-200 chars) | {count} | {pct}% |
| Long (>200 chars) | {count} | {pct}% |
## Actionable Takeaways
[Synthesize patterns into 4-6 specific recommendations]
## Accounts Analyzed
[List accounts]
Focus on actionable insights. Content patterns and trending topics are key for X/Twitter research.
Quick Reference
Full pipeline:
RUN_FOLDER="x-research/$(date +%Y-%m-%d_%H%M%S)" && mkdir -p "$RUN_FOLDER" && \
python3 .claude/skills/x-research/scripts/fetch_tweets.py -o "$RUN_FOLDER/raw.json" && \
python3 .claude/skills/x-research/scripts/analyze_posts.py -i "$RUN_FOLDER/raw.json" -o "$RUN_FOLDER/outliers.json"
With video analysis (optional):
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py -i "$RUN_FOLDER/outliers.json" -o "$RUN_FOLDER/video-analysis.json" -p x
Then read JSON files and generate the report.
Engagement Metrics
Engagement Score (weighted):
- Bookmarks: 4x (highest signal - saved for reference)
- Replies: 3x (active conversation)
- Retweets: 2x (amplification)
- Quotes: 2x (engagement with commentary)
- Likes: 1x (passive approval)
Outlier Detection: Tweets with engagement rate > mean + (threshold x std_dev)
Engagement Rate: (score / followers) x 100
Output Location
All output goes to timestamped run folders:
x-research/
└── {YYYY-MM-DD_HHMMSS}/
├── raw.json # Raw tweet data from Apify
├── outliers.json # Outliers with metadata and topics
├── video-analysis.json # AI video analysis (optional)
└── report.md # Final report
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/bradautomates/head-of-content/x-research">View x-research on skillZs</a>