trend-picker
Auto-concept generator для рекламного pipeline. Берёт нишу / handle конкурента / URL вирусного ролика → discovery через instagram-research → download + analyze через video-analyzer → генерирует N ready-to-go concept briefs (hook + structure + CTA + recommended MCSLA model) адаптированных под наш бренд. Не зависит от Higgsfield — использует HikerAPI (instagram-cli MCP) + LLM in-session.
3 режима
| Режим | Вход | Pipeline | Output | Cost · Время |
|---|---|---|---|---|
| trend_discovery | niche / список конкурентов | search top-15 → analyze top-10 → extract patterns (hook/structure/CTA) → 8 концептов под наш бренд | top_reels.json + patterns.md + concepts.json (8 briefs) + trend-report.md |
~$0.20 · 5-8 мин |
| viral_analysis | один URL (Instagram / TikTok / YouTube) | download → frame-by-frame analyze → comment themes → patterns of "why it works" → 1 clone-ready brief | viral-breakdown.md + concepts.json (1 brief) — готовый input для video-clone-competitor |
~$0.05 · 2-3 мин |
| creator_dna | @handle | top 20 reels → per-reel analysis → 9-секционный DNA-профиль (visual / hook / voice / structural / topic signatures) → N концептов в стиле автора | dna-<handle>.md (full profile) + concepts-dna.json (N briefs) |
~$0.25 · 6-10 мин |
Где это в pipeline
Trend-picker — это bridge между competitive intel и production. До этого было 2 разрыва: instagram-research находит рилсы, instagram-analyze разбирает один, но никто не превращал intel в готовые брифы.
instagram-research (find)
↓
trend-picker (analyze + adapt + generate concepts) ← новое
↓
video-copywriter / video-clipgen / video-clone-competitor (execute)
Concept Schema (выходной формат)
Каждый сгенерированный концепт — JSON-объект по строгой схеме. Downstream-скиллы знают этот формат.
{
"id": "td_001",
"title": "Болевой триггер: страх потери зуба",
"service_direction": "implantation",
"format_type": "mixed", // ugc | cinematic | motion_graphics | talking_head | mixed
"duration_target_s": 15,
"aspect": "9:16",
"hook": {
"type": "stat_shock", // problem_statement | stat_shock | before_after | question | creator_intro | curiosity_gap
"text": "84% теряют зубы из-за неправильных имплантов",
"visual": "Bold red text + hands holding broken crown"
},
"structure": [
{ "scene": 1, "duration_s": 3, "purpose": "hook", "description": "...", "camera": "Static medium close-up", "voiceover": "...", "text_overlay": "..." },
{ "scene": 2, "duration_s": 5, "purpose": "problem", "description": "...", "camera": "Slow Dolly In", "voiceover": "...", "text_overlay": "" },
{ "scene": 3, "duration_s": 4, "purpose": "demo", "description": "Straumann implant box close-up", "camera": "Robo Arm arcing", "voiceover": "...", "text_overlay": "STRAUMANN" },
{ "scene": 4, "duration_s": 3, "purpose": "cta", "description": "...", "camera": "Hard cut to exterior", "voiceover": "...", "text_overlay": "ДИРЕКТ → ЗАПИСЬ" }
],
"cta": { "type": "dm_keyword", "text": "...", "placement_s": 12, "visual": "..." },
"recommended_models": {
"video": "cinematic_studio_video_v2",
"image_ref_needed": true,
"soul_id_needed": true
},
"estimated_cost_usd": 1.88,
"inspiration_source": {
"url": "https://www.instagram.com/reel/CzXk1234abc/",
"views": 280000,
"engagement_rate": 9.2,
"why_works": "Stat в первые 1.5 сек, проблема-демо-решение классика"
},
"brand_adaptation_notes": "Source: Nobel implants в турецкой клинике → адаптировано под Straumann + Almaty + наш Dr. Бахетов (Soul-ID)"
}
Валидация (перед сохранением concepts.json)
service_directionсовпадает с одним изservice_directions[].slugв project.yamlhook.typeиз enumerated списка (не свободная строка)structure[]durations sum within ±1s отduration_target_srecommended_models.video— валидный model_id (из cheatsheet в video-clipgen-higgsfield)inspiration_source.url— настоящий URL (не placeholder)
Файлы
~/.claude/skills/trend-picker/
├── SKILL.md ← orchestration logic
└── references/
├── concept-schema.md ← JSON schema concept brief (выше)
├── dna-template.md ← 9-секционный template для creator_dna mode
└── pattern-library.md ← растущая библиотека hook/structure/CTA паттернов
Output structure (на диске)
~/video-projects/<project>/trends/<date>/ ├── top_reels.json ← найдено instagram-research ├── reels/ ← скачанные видео ├── analyzed/ ← video-analyzer JSON per reel ├── patterns.md (mode 1) / viral-breakdown.md (mode 2) / dna-<handle>.md (mode 3) ├── concepts.json ← N briefs (machine-readable) └── trend-report.md ← human-readable summary
Триггеры
Скилл активируется когда юзер хочет автогенерируемые брифы (а не просто поиск рилсов или анализ одного):
"тренды в нише"/"что сейчас работает"/"trend discovery""генерируй концепции"/"концепции для рекламы"/"какие концепции делать""viral analysis"/"что трендится"/"найди идеи для рилсов""creator dna"/"копируй стиль @handle"/"в стиле @handle""что снимать дальше"/"придумай идеи для рекламы"
Smart routing после trend-picker
video-orchestrator читает concepts.json и маршрутизирует каждый concept по format_type:
| format_type | Куда идёт | Backend |
|---|---|---|
ugc | copywriter → clipgen | Seedance 2.0 (natural motion) |
cinematic | copywriter → clipgen-higgsfield | Cinematic Studio V2 (camera control) |
talking_head | copywriter → clipgen-higgsfield | Soul Cast + Soul-ID |
motion_graphics | copywriter (textover) → motionfx | Remotion (programmatic) |
| viral_analysis 1:1 clone | video-clone-competitor | Auto-routing higgsfield/veo |
Когда НЕ использовать
- ❌ Просто найти рилсы без концептов →
instagram-research - ❌ Разобрать один конкретный рилс глубоко без генерации →
instagram-analyze - ❌ Есть готовые рефы в
creatives/*.mdи юзер с ними работает → не дублируй - ❌ HikerAPI quota empty → check
get_system_balanceсначала
Hard rules
- Всегда грузи project.yaml + brief.md +
creatives/*.mdперед генерацией. Brand-blind концепты = мусор. - Не повторяй концепты которые уже есть в
creatives/<direction>.md— diversify. - Перед mass-discovery проверь HikerAPI balance через
get_system_balance. Сообщи юзеру cost. - Каждый concept должен иметь
inspiration_source.urlдля traceability. - Default count = 8 для Mode 1 (один концепт на главный паттерн × service direction). Не перегенеривай.
Pairs with
- video-orchestrator — top-level coordinator dispatches trend-picker upstream
- instagram-research — discovery (upstream)
- instagram-analyze — single-reel deep-dive (upstream)
- video-analyzer — per-reel visual analysis (upstream)
- video-copywriter — concept → voiceover script (downstream)
- video-clipgen / video-clipgen-higgsfield — concept → raw clips (downstream)
- video-clone-competitor — viral_analysis concept → 1:1 структурный клон (downstream)