ig-research-analyze
GitHub该技能用于社交媒体内容心理学分析,读取原始帖子和转录数据,识别触发模式并生成内容角度建议。同时执行视频创意流水线,基于热门视频生成脚本、标题及元数据报告。
Trigger Scenarios
Install
npx skills add leamsigc/ShortsGenerator --skill ig-research-analyze -g -y
SKILL.md
Frontmatter
{
"name": "ig-research-analyze",
"version": "2.0.0",
"description": "Content psychology analysis state. Reads raw-posts.json and transcripts,\nanalyzes top 6 posts through a psychological lens, identifies trigger\npatterns, and generates 5 tailored content angle recommendations.\nAlso runs the video-ideas pipeline (shared video-idea-research playbook):\ntop 10 reels\/videos by views in the window → outlines → 5 video ideas × 3\nscripts (viral \/ storytelling \/ inspiration) + YouTube metadata\n(title, description, tags, keywords) → ideas-report.md + REPORT.html.\n",
"allowed-tools": [
"Bash",
"Read",
"Write",
"Skill"
]
}
Social Research — Analyze State
After scraping and transcription, this state reads the data and provides content psychology analysis, then the video-ideas pipeline.
Preconditions
- Raw data exists:
.ig-research/projects/<project-name>/raw-posts.json - Transcripts exist in
.ig-research/projects/<project-name>/transcripts/ - Report exists in
.ig-research/projects/<project-name>/report.html
Steps
1. Read report data
cat .ig-research/projects/<project-name>/report.html
2. Read raw posts
node -e "const d=require('./.ig-research/projects/<project-name>/raw-posts.json'); console.log(JSON.stringify(d.posts.slice(0,6),null,2))"
3. For each of the top 6 posts, identify psychological triggers
Analyze against these frameworks:
| Trigger | Description | Signal |
|---|---|---|
| Curiosity gaps / open loops | Creates info gap the brain wants to close | "Here's why...", "The one thing..." |
| Identity signaling | Makes viewer feel like "that person" | "This is for people who..." |
| Social proof / tribal belonging | Shows community validation | High engagement numbers, "join" |
| Loss aversion / FOMO | Fear of missing out | "Don't make this mistake", "before it's too late" |
| Authority / credibility | Positions creator as expert | Named frameworks, credentials |
| Pattern interrupt / contrarian | Goes against expectation | "Everything you know about X is wrong" |
| Reciprocity / value-first | Gives before asking | Free frameworks, actionable tips |
| Anchoring / specificity | Specific numbers feel researched | "3 things", "7 strategies" |
4. Give 5 content angle recommendations
For each angle: psychological trigger, hook example, why it works in the niche.
5. Summarize findings
Write a brief summary: how many posts scraped, top 3-5 performers, common patterns.
6. Open the report
xdg-open .ig-research/projects/<project-name>/report.html
(Use open on Mac, start on Windows)
7. Video ideas pipeline (skill video-idea-research)
When the user wants video ideas for a topic, run the shared playbook:
- Top 10 by views in the window — rank the scraped reels (plus a fresh
hashtag/explore scrape for the topic when needed). Real play counts only;
views: null+ the proxy metric when the count isn't visible. - Outlines — hook = first caption line or transcript opening; beats and
CTA from the Whisper transcript (
scripts/transcribe.sh); format/duration from the reel itself. - 5 ideas, each grounded in ≥2 top reels with their real numbers.
- 3 scripts per idea — viral (
viral_shorts), storytelling (storytelling), inspiration (motivational); TTS-ready,[HOOK]/[CTA]labels only. Optional backend seeding:curl -s -X POST http://localhost:8080/api/script \ -H "Content-Type: application/json" \ -d '{"videoSubject":"<idea title>","extraPrompt":"<angle + outline context>","aiModel":"g4f","scriptTemplate":"viral_shorts","scriptLength":"standard"}' - YouTube metadata per idea (title via the
youtube-titlerubric, description, tags, keywords). - Save
video-ideas.jsonand render the report:node "$CLAUDE_SKILL_ROOT/scripts/build-ideas-report.js" <path-to-video-ideas.json> # fallback: node ./skills/video-idea-research/scripts/build-ideas-report.js <path>
Version History
-
7e4e16b
Current 2026-10-20 01:52
更新错误处理机制,并针对不同主题优化研究技能逻辑。
- 7b83166 2026-08-29 02:30


