From video-essay
Stages 8–9 of the video-essay pipeline. After 24h since shorts publish, pull per-angle metrics from YouTube Shorts + Instagram Reels + TikTok, compute viral scores, pick a winner. Then user-approval checkpoint on whether to promote to long-form. Use when shorts are published ≥24h ago and shorts_metrics.json is absent or stale.
How this skill is triggered — by the user, by Claude, or both
Slash command
/video-essay:ve-analyzeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Pulls 24-hour metrics from the 3 platforms, computes a composite viral score per angle, flags the winner as strong or weak, and stops for a user decision on whether to promote to long-form. The algorithm picks the winner — no LLM judgment at this stage.
Pulls 24-hour metrics from the 3 platforms, computes a composite viral score per angle, flags the winner as strong or weak, and stops for a user decision on whether to promote to long-form. The algorithm picks the winner — no LLM judgment at this stage.
After 24 hours have passed since the LAST short was uploaded (check upload_result.json timestamps):
ve-analyze-shorts <slug>
This pulls metrics for each of the 3 published shorts:
yt-analytics.readonly scope)GET /api/uploadposts/post-analytics/<request_id>)Computes a composite viral score per angle:
Weighting is derived from references/shorts_bible.md Part 5 priority order. All three platforms contribute; retention is averaged across whichever platforms returned data.
Writes $EPISODES_DIR/<slug>/shorts_metrics.json with per-angle scores, ranking, and a decision block naming the winner.
ve-analyze-shorts always picks the highest-scoring angle. The decision block flags it as:
strong_winner — score > 0.6 AND views > 500. Normal case. Promote with confidence.weak_winner — best of 3 but below thresholds. Pipeline still promotes (always-promote policy, locked 2026-04-15), but a warning surfaces for the user.Checkpoint: present shorts_metrics.json to the user — full table of per-angle scores, the winner, and the strong/weak flag. User confirms one of:
packages.md with winner: A and hand off to ve-longform.ve-intake on a new topic.packages.md with winner: B, note the override reason in the decision block, proceed.On promote decision → ve-longform (Stage 10). On kill → stop; the pipeline for this slug is done. No long-form is produced.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub robertnowell/video-essay --plugin video-essay