一键导入
ars-plan
Official episode planning entrypoint. Create plan.md under .ars/episodes/<epId>/.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Official episode planning entrypoint. Create plan.md under .ars/episodes/<epId>/.
用 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:plan |
| description | Official episode planning entrypoint. Create plan.md under .ars/episodes/<epId>/. |
| argument-hint | [topic...] |
| model | claude-sonnet-4-6 |
| effort | medium |
/ars:plan is the official entrypoint for planning a new or existing episode. Its job is to clarify intent with the user and hand off to ars:planner — not to research or draft.
/ars:plan): interview the user, confirm direction, parse the argument, resolve epId, scaffold the episode container if missing. Light WebSearch / WebFetch only to help the user narrow the angle. Do NOT compile research findings here.ars:planner subagent: does the substantive research needed to write a credible plan, then synthesizes everything into plan.md. This is where citations and reference-gathering live.Skip both roles and you get a plan built on guesswork. Do one role's job twice and you waste tokens.
SERIES_GUIDE.md at repo root. Use it to pre-answer audience / length range / tone / visual direction / default CTA.references/interview.md). If too thin, run the minimal interview covering only unanswered dimensions..ars/config.json and pick the next epId.src/episodes/<active-series>/<epId>.ts is missing, run npx ars episode create <epId>.ars:planner agent. Pass gathered context (see references/interview.md for the prompt contents). Do not use Claude Code Plan Mode for this handoff; the deliverable is the plan.md file itself.## Studio handoff below./ars:build, /ars:review, /ars:audio, /ars:prepare-youtube, /ars:publish-youtube./ars:build <epId> — the user triggers it from Studio's "觸發 Build" button, or by typing /ars:build <epId> in the TUI.The plan is written to disk, but the user reads it in Studio. After the planner returns:
npx ars workstate switch <epId> --stage plan
<epId> and phase, reuse it. Do not start a duplicate Vite server just to get a fresh URL.<epId> but no intent Monitor is running, keep the Studio process and start the Monitor immediately.npx ars studio <epId> --phase plan in the background only when there is no reusable Studio process. Tell the user the localhost URL printed in the output and that they can submit feedback on any section directly from the Plan view..ars/studio-intents/ using the Monitor tool:npx ars studio intent watch
Each stdout line is a notification. On every notification:
.ars/state/workstate.json still points to this <epId> and stage is plan (or plan:<epId>). If the user has moved on (/ars:build ran, the episode source was generated, workstate points to another episode/stage, or they explicitly said plan is done), stop the Monitor cleanly. Otherwise:npx ars studio intent list --pending --json. For each pending intent:
feedback.kind === 'build-trigger' — delegate to /ars:apply-review <intent.id>, which handles the build trigger and marks the intent processed. After it returns, stop the watch — plan phase is complete.target.anchorType === 'markdown-section' or 'plan' — this is a plan-section edit request. Read .ars/episodes/<epId>/plan.md, apply the change described in feedback.message to the anchored section (Studio sends anchorMeta.title + anchorMeta.line), save the file. Vite HMR re-renders the Plan view automatically. Then npx ars studio intent clear <intent.id>./ars:apply-review <intent.id>.Rules for plan-section edits:
references/plan-shape.md).## Topic → ## Structure → ## New card → ## References → ## Reminders).## Structure as a table. If the feedback asks for content that cannot fit in one-sentence cells, push it into a numbered block under the table instead of growing cells into paragraphs.SERIES_GUIDE.md, surface the conflict in your reply rather than silently overriding the guide.The watch loop runs until /ars:build fires (via build-trigger intent or the user typing the command) or the user explicitly ends plan. Do not keep it running once the episode source has been generated — at that point the flow is in build / review phase.
plan.md is an agenda the user reviews in 1-3 minutes, not a script. When delegating, enforce this intent — the planner will over-elaborate otherwise.## Reminders instead of blocking on exhaustive sourcing.ep.ts content, no step payloads, no narration.references/custom-card-guide.md.image, default conceptual / hero / brand visuals to a generated branded SVG asset — it is the first choice for that card, not a fallback. Use real screenshots / photos / downloaded assets when the beat is claim-bearing evidence (the actual artifact must be shown). Do not pick image only because SVG is available: keep markdown for compact definitions, exact lists, tables, and A/B framing, and keep mermaid for support diagrams that should stay editable.todo.json. Session todos only.references/interview.md — interview questions, argument parsing, when to skip, delegation prompt shape.references/plan-shape.md — the plan.md output contract (sections, columns, reviewability budget, never-include list).references/custom-card-guide.md — when to propose a new card vs. reuse existing.