instagram-research
Research high-performing Instagram content (posts and reels) from tracked accounts using Apify's Instagram Scraper. Identifies outlier content, analyzes top 5 videos with AI, and generates reports with actionable hook formulas. Use when asked to: - Find trending Instagram content in a niche - Research what's performing on Instagram - Identify high-performing reel patterns - Analyze competitors' Instagram content - Generate content ideas from Instagram trends - Run Instagram research - Find viral reels - Analyze hooks and content structure Triggers: "instagram research", "ig research", "find trending reels", "analyze instagram accounts", "what's working on instagram", "content research instagram", "reel analysis", "instagram trends"
How do I install this agent skill?
npx skills add https://github.com/bradautomates/head-of-content --skill instagram-researchIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is functional and safe for its intended purpose. The primary security consideration is indirect prompt injection, as the skill processes untrusted data from Instagram captions and bios without sanitization. It requires API tokens for Apify and Gemini to operate.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · No issues
- Runlayerwarn
3/3 files flagged
- ZeroLeakspass
Score: 93/100 · 2 sections analyzed
What does this agent skill do?
Instagram Research
Research high-performing Instagram posts and reels, identify outliers, and analyze top video content for hooks and structure.
Prerequisites
APIFY_TOKENenvironment variable or in.envGEMINI_API_KEYenvironment variable or in.envapify-clientandgoogle-genaiPython packages- Accounts configured in
.claude/context/instagram-accounts.md
Verify setup:
python3 -c "
import os
try:
from dotenv import load_dotenv
load_dotenv()
except ImportError:
pass
from apify_client import ApifyClient
from google import genai
assert os.environ.get('APIFY_TOKEN'), 'APIFY_TOKEN not set'
assert os.environ.get('GEMINI_API_KEY'), 'GEMINI_API_KEY not set'
" && echo "Prerequisites OK"
Workflow
1. Create Run Folder
RUN_FOLDER="instagram-research/$(date +%Y-%m-%d_%H%M%S)" && mkdir -p "$RUN_FOLDER" && echo "$RUN_FOLDER"
2. Fetch Content
python3 .claude/skills/instagram-research/scripts/fetch_instagram.py \
--type reels \
--days 30 \
--limit 50 \
--output {RUN_FOLDER}/raw.json
Parameters:
--type: "posts", "reels", or "stories"--days: Days back to search (default: 30)--limit: Max items per account (default: 50)
3. Identify Outliers
python3 .claude/skills/instagram-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 posts analyzedoutlier_count: Number of outliers foundtopics: Top hashtags and keywordsaccounts: List of accounts analyzedoutliers: Array of outlier posts with engagement metrics
4. Analyze Top Videos with AI
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py \
--input {RUN_FOLDER}/outliers.json \
--output {RUN_FOLDER}/video-analysis.json \
--platform instagram \
--max-videos 5
Extracts from each video:
- Hook technique and replicable formula
- Content structure and sections
- Retention techniques
- CTA strategy
See the video-content-analyzer skill for full output schema and hook/format types.
5. Generate Report
Read {RUN_FOLDER}/outliers.json and {RUN_FOLDER}/video-analysis.json, then generate {RUN_FOLDER}/report.md.
Report Structure:
# Instagram Research Report
Generated: {date}
## Top Performing Hooks
Ranked by engagement. Use these formulas for your content.
### Hook 1: {technique} - @{username}
- **Opening**: "{opening_line}"
- **Why it works**: {attention_grab}
- **Replicable Formula**: {replicable_formula}
- **Engagement**: {likes} likes, {comments} comments, {views} views
- [Watch Video]({url})
[Repeat for each analyzed video]
## Content Structure Patterns
| Video | Format | Pacing | Key Retention Techniques |
|-------|--------|--------|--------------------------|
| @username | {format} | {pacing} | {techniques} |
## CTA Strategies
| Video | CTA Type | CTA Text | Placement |
|-------|----------|----------|-----------|
| @username | {type} | "{cta_text}" | {placement} |
## All Outliers
| Rank | Username | Likes | Comments | Views | Engagement Rate |
|------|----------|-------|----------|-------|-----------------|
[List all outliers with metrics and links]
## Trending Topics
### Top Hashtags
[From outliers.json topics.hashtags]
### Top Keywords
[From outliers.json topics.keywords]
## Actionable Takeaways
[Synthesize patterns into 4-6 specific recommendations]
## Accounts Analyzed
[List accounts]
Focus on actionable insights. The "Top Performing Hooks" section with replicable formulas should be prominent.
Quick Reference
Full pipeline:
RUN_FOLDER="instagram-research/$(date +%Y-%m-%d_%H%M%S)" && mkdir -p "$RUN_FOLDER" && \
python3 .claude/skills/instagram-research/scripts/fetch_instagram.py --type reels -o "$RUN_FOLDER/raw.json" && \
python3 .claude/skills/instagram-research/scripts/analyze_posts.py -i "$RUN_FOLDER/raw.json" -o "$RUN_FOLDER/outliers.json" && \
python3 .claude/skills/video-content-analyzer/scripts/analyze_videos.py -i "$RUN_FOLDER/outliers.json" -o "$RUN_FOLDER/video-analysis.json" -p instagram
Then read both JSON files and generate the report.
Engagement Metrics
Engagement Score: likes + (3 × comments) + (0.1 × views)
Outlier Detection: Posts with engagement rate > mean + (threshold × std_dev)
Engagement Rate: (score / followers) × 100
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/instagram-research">View instagram-research on skillZs</a>