twitter-research-topics
GitHub自动检测特定领域或地区的热门话题,通过X搜索和Web搜索进行深度调研,生成包含标题、上下文、媒体链接及短视频脚本的研究报告,并可联动生成短视频内容。
Trigger Scenarios
Install
npx skills add leamsigc/ShortsGenerator --skill twitter-research-topics -g -y
SKILL.md
Frontmatter
{
"name": "twitter-research-topics",
"version": "1.1.0",
"description": "Topics Mode — auto-detects the top trending topics in a broad category or\nregion (e.g. \"futbol mexico europa usa\"), researches each one via X search\n+ WebSearch, and creates a standalone [topic-research].md file per topic\nwith: viral title, news context, media\/video links, 2 TTS-ready short\nvideo scripts (virality + shock), source post + engagement stats, and a\ndata-calibrated SEO YouTube title (via the youtube-title subskill).\nAlso runs the video-ideas pipeline per topic (via the video-idea-research\nsubskill): top 10 videos by views in the window → outlines → 5 ideas × 3\nscripts (viral \/ storytelling \/ inspiration) + YouTube metadata (title,\ndescription, tags, keywords) → REPORT.html.\nOptionally hands each topic to the short-generator skill to produce a\nfinished Short from the collected video links + approved script.\n",
"allowed-tools": [
"Bash",
"Read",
"Write",
"Edit",
"Glob",
"Grep",
"Question",
"ChromeDevTools",
"WebSearch",
"Skill"
]
}
Twitter/X Research — Topics Mode (v1)
Detects the top trending topics in a category, creates [topic-research].md
files, and optionally generates Shorts.
Command
/twitter-research topics:<category> audience:<target audience> [limit:<n>] [shorts:<on|off>]
Examples:
/twitter-research topics:futbol mexico audience:aficionados liga mx shorts:on limit:10/twitter-research topics:champions league audience:fans europeos limit:5
Preconditions
- Chrome is running with
--remote-debugging-port=9222 - User is logged into X/Twitter in Chrome
- Backend running for short generation (only if
shorts:on):curl -s -o /dev/null -w "%{http_code}" http://localhost:8080/api/models
Workflow
Step 1 — Discover Trending Topics
Find what is actually trending right now in the target category/region.
- X trending data (country-specific):
Extract the current trend list via evaluate_script. Filter to topics relevant to the category (for futbol: team names, player names, tournament names, transfers, results, goals, referees).chrome-devtools navigate_page --url "https://getdaytrends.com/es/mexico/" - X Explore for global/sports trends:
Read the Sports / Entertainment / News trend tabs.chrome-devtools navigate_page --url "https://x.com/explore" - WebSearch the category + region for today's news:
WebSearch("<category> <region> noticias hoy")WebSearch("<category> trending <region> hoy")- For futbol:
WebSearch("futbol liga mx hoy"), WebSearch("champions league hoy"), WebSearch("mls noticias hoy")
- Curate the top N topics (default 5, max 10). Choose topics that are:
- Currently hot (trending in the last 24-48h)
- Category-relevant
- Distinct (no duplicates)
- Video-friendly (visual content available)
Step 2 — Research Each Topic
For each of the top N topics:
- Get news context via WebSearch:
WebSearch("<topic> noticias")and read the top 2-3 results. Capture: what happened, why it matters, key numbers, reactions, official statements. - Search X for engagement data:
Wait 5s, then extract the top 5 posts with real metrics using the scrape extractor (handle, tweet text, status URL, and the numeric bar = replies / retweets / likes / views). Record the single best-performing post URL + its exact stats.chrome-devtools navigate_page --url "https://x.com/search?q=<URL_ENCODED_TOPIC>&src=typed_query&f=top" - Collect media/video links: from the tweet media, news articles, or a
quick platform search (
WebSearch("site:youtube.com <topic>"),WebSearch("site:tiktok.com <topic>")). Gather 3-5 usable links.
Step 3 — Create [topic-research].md Files
For each topic, create a file named topic-research-<slug>.md in
.twitter-research/<YYYY-MM-DD_HHMMSS>/ alongside topics-report.md.
The file MUST contain these 6 sections (in this order; section 6 is filled in
Step 5):
# Topic Research: <Topic Name>
**Fecha de investigación:** <YYYY-MM-DD>
**Nivel de calor (hotness):** 🔥-🔥🔥🔥🔥🔥
## 1. Título del tema y título viral
**Tema:** <short summary of the topic>
**Títulos virales para video:**
- <viral title 1>
- <viral title 2>
## 2. Contexto de la noticia
<2-4 paragraphs: what happened, why it's hot, key facts, reactions>
## 3. Enlaces de video e imágenes
- <link with description>
- <link with description>
## 4. Guiones de video corto
### Guion A — VIRALIDAD
> [HOOK 0-3s] <hook sentence>
> <4-8 more short TTS-read sentences, one per line>
> [CTA] <call to action>
### Guion B — SHOCK VALUE
> [HOOK] <hook>
> <short punchy lines for TTS>
> <closing line>
## 5. Publicación de referencia + interacción
**Post principal:** <url>
- Respuestas: X | Reposts: X | Me gusta: X | Reproducciones: X
**¿Qué tan caliente está?** <hotness rating + note>
## 6. Título SEO para YouTube
**Título recomendado:** <title> (<score>/10)
**Alternativo A:** <angle> — <title> (<score>/10)
**Alternativo B:** <angle> — <title> (<score>/10)
**Keywords para descripción:** <3-5 search phrases>
**Por qué funciona:** <rules hit from youtube-title>
Script writing rules (for TTS / short vertical video):
- Spanish (or the user's language), spoken-style, no complex punctuation
- Short sentences (6-12 words), one idea per line
- Hook in first 3 seconds (question, bold claim, or shock stat)
- Rhythmic pacing; numbers written out naturally
- End with a CTA (comment / save / follow)
- NO stage directions inside the read text — use
[HOOK],[CTA]markers only as labels; the text after them is what the TTS reads
Step 4 — Write topics-report.md
Create an index file listing all topics, their hotness, and file links:
# Topics Report — <category>
**Fecha:** <date>
**Audiencia objetivo:** <audience>
| # | Tema | Calor | Archivo |
|---|------|-------|---------|
| 1 | ... | 🔥🔥🔥 | topic-research-<slug>.md |
Step 5 — Generate SEO YouTube Title (subskill: youtube-title)
For each topic file, load the subskill and produce the best SEO-targeted, attention-grabbing YouTube title:
- Load it:
skill youtube-title - Generate 5 candidates from the topic's script hook + key facts, scored on SEO keyword, ALL-CAPS power word, specificity (score/names), stake, and length (45–70 chars) against the channel's own CTR/views data.
- Keep the best title + 2 A/B alternates and write them into section 6 of the topic file (see template), plus 3-5 description keywords.
- These titles are the ones used later for the Shorts/YouTube upload.
Why this step exists: titles are the #1 lever on the channel's own data (same video, different title = 13× views). Never skip it.
Step 6 — Video Ideas Pipeline (subskill: video-idea-research)
Turn the research into a publishable slate of ideas: the top 10 videos by views in the window plus 5 video ideas drawn from them, each with 3 scripts and full YouTube metadata.
- Load it:
skill video-idea-researchand run with the topic +platform:x(window defaultmonth:week|month|year). - Rank the topic's video posts by views inside the window (open each status page for the real count — never invent numbers), keep the top 10, and extract each one's outline (hook, beats, CTA, format, duration).
- Draw 5 ideas from the top-10 outlines (each idea ≥2 source videos).
- For each idea write 3 TTS-ready scripts — viral (
viral_shorts), storytelling (storytelling), inspiration (motivational) — plus the YouTube metadata: title (youtube-title rubric), description, tags, keywords. Backend seeding when available: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"}' - Save
video-ideas.jsonin the session folder, then render the report:
→node "$CLAUDE_SKILL_ROOT/scripts/build-ideas-report.js" .twitter-research/<timestamp>/video-ideas.json # fallback: node ./skills/video-idea-research/scripts/build-ideas-report.js <path>ideas-report.md+REPORT.html(top 10 videos + 5 ideas).
Step 7 — Optional: Generate Shorts (shorts:on)
For each topic, hand off to the short-generator skill:
- Load it:
skill short-generator - Subject = the topic; script = the Virality guion from the topic file
- Provide
hashtags:from the topic keywords andsources:(default instagram,facebook,tiktok,youtube) - Collect the video links from section 3 of the topic file and use them in short-generator Step 4/5 (fallback sources if search finds <5 URLs)
- Show the generated script for user approval before generating the video
- On approval, generate the Short and download the videos from the links
- Use the section 6 recommended YouTube title as the video/upload title
Important: Always show the script and get explicit user approval before calling the final video generation endpoint.
Step 8 — Report Completion
✅ Twitter/X Research Topics Mode Complete!
Category: <category>
Audience: <audience>
Topics researched: <N>
- <topic 1> (🔥hotness) → topic-research-<slug>.md
- ...
Video ideas: 5 per topic (3 scripts each + YouTube metadata) → REPORT.html
Shorts generated: <M/N>
Next step (optional): skill twitter-research-report for a full HTML report
Version History
-
7e4e16b
Current 2026-10-20 01:53
更新错误处理逻辑,并针对不同话题类型优化了研究技能流程。
- 7b83166 2026-08-29 02:31


