一键导入
ars-analytics
Query YouTube analytics through npx ars analytics fetch and produce a concise channel report for Claude Code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Query YouTube analytics through npx ars analytics fetch and produce a concise channel report for Claude Code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Run a single-episode coherence checklist after Studio review edits and before prepare/publish; diagnose or patch thesis drift, step seams, stale arguments, visual rhythm, and publish readiness.
Apply Studio intents back into the episode source and validate the result.
Generate 3 YouTube metadata candidates (title/description/tags) grounded in episode context, let the user pick one, then mark the artifact ready.
Usage guide for generating MiniMax TTS audio and subtitles for an episode.
Validate repo bootstrap readiness, ARS config, providers, and environment readiness with npx ars doctor.
Create a new episode scaffold for a series with npx ars episode create.
| name | ars:analytics |
| description | Query YouTube analytics through npx ars analytics fetch and produce a concise channel report for Claude Code. |
| argument-hint | [--days N] [--fresh] |
| model | claude-sonnet-4-6 |
| effort | medium |
Run npx ars analytics fetch to pull a JSON snapshot, then turn it into a narrative report. Do NOT hand-roll fetch calls against the YouTube API — the CLI already handles auth, caching, and data-delay windowing.
npx ars analytics fetch [--days N] [--fresh] [--top N]
--days N to change it.--top is 10 video rows. Raise it only if the user asks.--fresh only when the user explicitly wants to bypass the local 24h cache.The command prints a single JSON object to stdout with this shape:
{
"window": { "days", "startDate", "endDate" },
"channel": { "channelId", "title", "subscriberCount", "videoCount", "viewCount" },
"summary": { "views", "estimatedMinutesWatched", "averageViewDuration", "subscribersGained", "subscribersLost", "likes", "comments", "shares" },
"daily": [{ "day", "views", "estimatedMinutesWatched", "subscribersGained" }, ...],
"topVideos": [{ "videoId", "title?", "publishedAt?", "views", "estimatedMinutesWatched", "averageViewDuration", "averageViewPercentage" }, ...]
}
YOUTUBE_CLIENT_ID / YOUTUBE_CLIENT_SECRET / YOUTUBE_REFRESH_TOKEN to .env and stop.Use these sections, grounded in the snapshot:
window.startDate → window.endDate plus the lookback length in daysestimatedMinutesWatched to human-readable), subscriber delta (subscribersGained - subscribersLost)daily[] (bumps, drops, cadence gaps). Quote specific dates.topVideos[] with title, views, avg view duration, and a one-line take on why it likely workedaverageViewPercentage), overconcentration in a single video.ars/analytics/<YYYY-MM-DD>-<days>d.md using today's date./ars:reflect --days <same-window>.npx ars analytics fetch. Do not curl YouTube endpoints directly, do not node -e your own fetch script, do not search the repo for helper modules — the CLI subcommand is the contract.