name: wf-next description: "Use when 既存コレクション(collections/planning/ 配下)の次の工程を実行したいとき。「次どうする?」「次のステップやって」「続き進めて」など、制作中コレクションを一段進めるときに使用する。読むだけで進捗を見たい場合は /wf-status、新規コレクション開始は /wf-new"
Overview
既存コレクションを次工程へ進めるオーケストレーター。完了済みの素材を自動検出し、未完了のステップから再開する。
このセッションで初めて
/wf-*を呼ぶ場合は、先にdocs/workflow-cheatsheet.mdの判定フローを 1 回だけユーザーに提示すること(CLAUDE.md §6 参照)。
When to Use
| 状況 | 使う? |
|---|---|
| 制作中コレクションがあり、次工程へ進める意思がある | ✅ 使う |
| 制作中コレクションがそもそも無い | ❌ /wf-new を使う(または /collection-ideate で候補から) |
| 「進んでる?」と読み取りだけ求められた | ❌ /wf-status を使う |
| 公開済み動画の振り返り | ❌ /analytics-analyze または /postmortem |
/wf-next は workflow-state.json::phase を読み取り、対応する次工程を 1 段だけ実行して assets / phase を更新する。冪等性あり:途中エラーで停止しても、再実行で未完了ステップから再開する。ユーザーが workflow-state.json を手で編集すると冪等性の前提が崩れる(扱い基準)。
前提
config/channel/ が存在すること(load_config() でロード可能)。
存在しない場合、ユーザーに確認:
- 新規チャンネル →
/channel-newを案内 - 既存チャンネル(YouTube で既に運営中)→
/channel-importを案内
承認ゲート(config 駆動)
config/channel/workflow.json の workflow.wf_next.approval_gates で、フェーズ進行前に承認を取るかをチャンネルごとに宣言できる。SKILL.md 本体を書き換える運用は不要(yt-skills sync の衝突を避けるためにも本ファイルは編集しない)。
{
"workflow": {
"wf_next": {
"approval_gates": {
"audio": false,
"upload": false
}
}
}
}
approval_gates.audio(defaultfalse):preparedフェーズ 2-B(音源承認ゲート)。最終マスター候補を検出した時点で承認を取るapproval_gates.upload(defaultfalse):masteredフェーズ 3-B(アップロード承認ゲート)。/video-upload実行直前に承認を取る- 既定値は両方
falseで、workflow.jsonに何も書かれていない既存チャンネルは従来通り全自動進行(後方互換) - 値の解決は
youtube_automation.utils.config.load_config().workflow.wf_next.approval_gates.{audio,upload}経由(コード側で参照可能)
ゲートが true のフェーズに到達したら、本 skill は AskUserQuestion で承認を取り、却下されたらフロー停止 + ガイダンスのみで終了する。
Instructions
1. アクティブなコレクションの特定
collections/planning/のworkflow-state.jsonを探索- 複数ある場合はユーザーに選択を促す
2. フェーズ別処理
prepared → 段階的サポート
完了済みの素材と音楽エンジンを確認し、未完了の作業を案内・実行。
Suno パス:
assets.music_prompts = true+assets.raw_master = null:- ユーザーにプレイリスト URL を AskUserQuestion で取得
- Skill ツールで
/masterup <URL>自動実行 → DL + raw master 生成 assets.raw_masterにファイル名を記録- ガイダンス: 「raw master をミキシング+マスタリングし、最終マスターを 01-master/ に配置後、
/wf-nextを再実行してください」 - ここでフロー停止
Lyria パス:
assets.music_prompts = true+assets.raw_master = null:- Skill ツールで
/lyria <theme>を実行(Lyria 3 API を 1 回以上呼んでセグメント生成、最大 ~184 秒/リクエスト) assets.raw_masterにファイル名を記録- ガイダンス: 「生成されたセグメントをミキシング+マスタリングし、最終マスターを 01-master/ に配置後、
/wf-nextを再実行してください」 - ここでフロー停止
- Skill ツールで
マスター音源検出(音源承認ゲート 2-B):
2. assets.raw_master != null + assets.master_audio = null:
- 走査対象:
- worktree 内
01-master/を必ず走査 - worktree 検知:
git rev-parse --git-common-dirがカレント.gitと異なる絶対パスを返したら worktree 内とみなし、メインリポルート(git-common-dirの親ディレクトリ)のcollections/planning/<collection-name>/01-master/も走査対象に追加(worktree は短命で、ユーザーが DAW 書き出しをメインリポ側に置くケースに対応)
- worktree 内
- 候補抽出: raw_master と異なるファイルのうち
.m4a/.wav/.flac/.aac/.mp3を最終マスター候補として列挙 - 検出できた場合:
- 複数候補があればユーザーに採用ファイルを確認(worktree 内と main repo 側で同名ファイルが両方ある場合も含む)
- 採用ファイルが worktree 外(main repo 側)にあるときは worktree 側
01-master/にコピーしてから処理(state 更新後の動画化が worktree 内で完結するように) - 承認ゲート(
approval_gates.audio = trueのとき): 採用ファイル名を提示して AskUserQuestion で「この音源でmasteredに進めてよいか」を確認する。承認されたら下記の state 更新へ進む。却下されたらassets.master_audioを更新せず、ガイダンス「最終マスターを差し替えて/wf-nextを再実行してください」を表示して停止 assets.master_audioにファイル名のみ記録 →phase: "mastered"→ 自動的に公開フローへ進む(approval_gates.audio = falseのときは確認なし)
- 検出できない場合: ガイダンス「最終マスターを 01-master/ に配置後、
/wf-nextを再実行してください」
mastered → 公開フロー(アップロード承認ゲートあり)
以下を一気通貫実行。各ステップ完了時に workflow-state.json を更新し、途中で中断しても同じ状態から再開できる。
- 並列 A(2 Agent 同時起動):
- Agent 1: Skill
/videoup— generate_videos.sh で動画生成 - Agent 2: Skill
/video-description— 概要欄自動生成
- Agent 1: Skill
- 並列 A 完了後:
assets.master_video,assets.descriptionを更新
- アップロード承認ゲート 3-B(
approval_gates.upload = trueのとき):- 並列 A 完了直後、
/video-uploadを呼ぶ前に AskUserQuestion で「YouTube にアップロード + live 移行してよいか」を確認する - 承認されたら次ステップへ進む。却下されたら
phaseをmasteredのままにして停止し、ガイダンス「準備が整ったら/wf-nextを再実行してください」を表示 approval_gates.upload = falseのときは確認なしでそのまま進む(従来の全自動挙動)
- 並列 A 完了直後、
- 順次: Skill
/video-upload— YouTube アップロード + live 移行upload.video_id,upload.video_urlを記録stage: "live",phase: "complete"に更新collections/planning/→collections/live/に移動
publishing → リカバリ(途中エラー再実行)
assets フラグで未完了ステップを特定し、そこから再実行。
assets.master_video = null→ 並列 A からupload.video_id = null→/video-uploadから
complete → 完了案内
全工程完了済みです。
→ `/analytics-analyze` で初週パフォーマンスを確認してください(T+7日後推奨)
3. state ファイルの更新ルール
各操作で updated_at を現在時刻に更新。スキーマ詳細は .claude/references/workflow/schema.md を参照。
障害時ガイダンス
次工程は子スキルへ委譲する orchestration。失敗時は委譲先の障害が表面化する。
| 状況 | 兆候 | 対処 |
|---|---|---|
| 委譲先 skill の失敗 | 子 skill がエラー終了 | 各子 skill の「障害時ガイダンス」を参照して個別に対処 |
Cross References
- 新規開始:
/wf-new - 進捗確認:
/wf-status