Orchestrates multi-step project workflows by advancing collections to their next phase while maintaining state consistency.

Install

mkdir -p .claude/skills/wf-next && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/19129" && unzip -o skill.zip -d .claude/skills/wf-next && rm skill.zip

Installs to .claude/skills/wf-next

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Use when 既存コレクション(collections/planning/)を一段進めるとき。「次どうする?」「続き進めて」で発動。進捗閲覧のみは /wf-status、新規は /wf-new
98 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Orchestrate workflow phase transitions
  • Detect completed material automatically
  • Delegate tasks to subagents
  • Verify output consistency
  • Manage workflow-state.json

How it works

The skill reads the workflow-state.json to identify the current phase and delegates specific tasks to subagents. It verifies the output of each subagent against the state before proceeding to the next step.

Inputs & outputs

You give it
Existing collection directory
You get back
Updated workflow state and advanced phase

When to use wf-next

  • Advancing a content project to the next stage
  • Continuing a multi-step development collection
  • Automating phase transitions in a planning workflow
  • Resuming an interrupted project task

About this skill

前後工程

  • 前工程: /wf-auto, /wf-new
  • 後工程: /analytics-analyze, /flop-analysis

Overview

既存コレクションを次工程へ進めるオーケストレーター。完了済みの素材を自動検出し、未完了のステップから再開する。 /wf-auto から固定 collection を委譲された場合も本スキルが state 更新の単一責務を持つ。統合 runner の allow_external_publish = false 制約ではローカル動画・metadata 生成まで進め、YouTube 書き込み直前で停止する。対話 gate の承認後は同じ run へ結果を返し、resolver が実成果物を再評価する。

Hard Gates: subagent 委譲境界

  1. メインエージェントだけが workflow-state.json を読み書きし、phase 遷移、assets / upload / updated_at 更新を行う。subagent は委譲先 skill の入力確認に必要な場合だけ state を読み、書き込まない。
  2. AskUserQuestion、skip_*_approval の承認ゲート、候補選択、playlist 初期化などの承認はメインエージェントが完了させる。未承認の操作を subagent へ委譲しない。
  3. 各フェーズの生成・変換処理は Agent ツールで一作業ずつ subagent へ委譲する。委譲プロンプトには入力パス、実行する skill / CLI、期待成果物、state 書き込み禁止、完了報告形式を明記する。
  4. subagent 終了後、メインエージェントが期待成果物の存在と現在の phase / assets との整合を実ファイルで検証する。すべて PASS の場合だけ state を更新する。失敗、欠落、不整合時は state を変更せず、同じステップから再実行できる状態で停止する。

委譲プロンプトには上記 3 の要素を具体値で埋め、成果物は絶対パスで受け取る。subagent の status: success だけを更新根拠にせず、実ファイルで検証する。

このセッションで初めて /wf-* を呼ぶ場合は、先に docs/workflow-cheatsheet.md の判定フローを 1 回だけユーザーに提示すること

When to Use

状況使う?
制作中コレクションがあり、次工程へ進める意思がある✅ 使う
制作中コレクションがそもそも無い/wf-new を使う(または /collection-ideate で候補から)
「進んでる?」と読み取りだけ求められた/wf-status を使う
公開済み動画の振り返り/analytics-analyze または /flop-analysis

/wf-nextworkflow-state.json::phase を読み取り、対応する次工程を 1 段だけ実行して assets / phase を更新する。冪等性あり:途中エラーで停止しても、再実行で未完了ステップから再開する。ユーザーが workflow-state.json を手で編集すると冪等性の前提が崩れる(扱い基準)。

前提

config/channel/ が存在すること(load_config() でロード可能)。

存在しない場合、ユーザーに確認:

  • 新規チャンネル/channel-new を案内
  • 既存チャンネル(YouTube で既に運営中)→ /channel-new(既存チャンネル取り込みモード)を案内

承認ゲート(config 駆動)

config/channel/workflow.jsonworkflow.wf_next で、フェーズ進行前に承認を取るかをチャンネルごとに宣言できる。boolean は skip_manual_mastering と同じく true = 手動工程(承認)を省いて自動進行 の向きに統一されている(#1744)。SKILL.md 本体を書き換える運用は不要(yt-skills sync の衝突を避けるためにも本ファイルは編集しない)。

{
  "workflow": {
    "wf_next": {
      "skip_audio_approval": true,
      "skip_upload_approval": true,
      "skip_manual_mastering": false
    }
  }
}
  • skip_audio_approval (default true): false にすると prepared フェーズ 2-B(音源承認ゲート)で、最終マスター候補を検出した時点で承認を取る
  • skip_upload_approval (default true): false にすると mastered フェーズ 3-B(アップロード承認ゲート)で、/video-upload 実行直前に承認を取る
  • 既定値は両方 true で、workflow.json に何も書かれていない既存チャンネルは従来通り全自動進行(後方互換)
  • 旧キー approval_gates.audio / approval_gates.upload は廃止済みで、設定に残っている場合は ConfigError で停止する。skip_audio_approval / skip_upload_approval へ移行する
  • 値の解決は youtube_automation.configuration.load_config().workflow.wf_next 経由(skip_audio_approval / skip_upload_approval / skip_manual_mastering。コード側で参照可能)

skip_*_approval = false のゲートに到達したら、本 skill は AskUserQuestion で承認を取り、却下されたらフロー停止 + ガイダンスのみで終了する。

raw master 直採用(skip_manual_mastering

workflow.wf_next.skip_manual_mastering(default false)は、prepared フェーズ 2-B(マスター音源検出)で raw master と別の最終マスター候補が 01-master/ に見つからないときの挙動を切り替える。

  • true: assets.raw_master のファイル名をそのまま assets.master_audio として採用し、phase: "mastered" へ進む。「raw(自動クロスフェード結合出力)を外部 DAW でマスタリングせずそのまま公開する」運用(raw=final)をチャンネル単位で宣言するためのオプション
  • false(未設定含む): 従来通り、ユーザーが最終マスターを 01-master/ に配置するまで停止する

skip_audio_approval とは独立した設定であることに注意。skip_audio_approval は「候補を採用する前に確認プロンプトを出すかどうか」だけを制御し、候補そのものの自動採用/スキップ判断には関与しない。skip_manual_mastering: true かつ skip_audio_approval: false の場合は、raw master を採用する前に承認を取る。

想定 API call 数

APIcall 数 / 実行変動要因
videos.insert(1,600 units / 本、mastered フェーズの yt-upload-collection / yt-upload-auto)アップロード本数collection / release 型・進行フェーズ
playlists.insert / playlistItems.insert(各 50 units、yt-playlist-manager --init)新規プレイリスト数 + 割当本数プレイリスト構成
Vertex AI Lyria(subagent /lyria 委譲時)/lyria の「想定 API call 数」を参照Lyria パス採否
  • 上限 / 承認: upload 前に --plan で事前確認し、playlist 系は --dry-run を使う。/videoup /masterup /video-description はローカル処理で API 0。委譲先 skill の見積もりは各 skill の「想定 API call 数」を参照。

Instructions

1. アクティブなコレクションの特定

  • collections/planning/workflow-state.json を探索

  • 複数ある場合はユーザーに選択を促す

  • 対象確定後、フェーズ処理へ進む前に骨格プリフライトを実行する(fail-loud、#1494):

    uv run yt-collection-preflight <collection-dir-name>
    

    [NG]01-master/ 等の欠落)が報告されたら uv run yt-collection-preflight <collection-dir-name> --fix で補完してから続行する。欠落したまま後工程へ進むと /masterup / /videoup がマスター音源の置き場を見失う

2. フェーズ別処理

prepared → 段階的サポート

完了済みの素材と音楽エンジンを確認し、未完了の作業を案内・実行。

Suno パス:

  1. assets.music_prompts = true + assets.raw_master = null:
    • workflow-state.json::planning.music.suno_playlist_url の記録有無と 02-Individual-music/ の音声ファイル(mp3 / m4a / wav)実在を確認する
    • 02-Individual-music/ に音声ファイルが 1 件以上存在(URL 記録の有無は問わない):
      • AskUserQuestion による URL 入力はスキップする。title list は /masterup Step 1.6 がローカルファイル名から自動復元するため playlist URL は不要。メインが /masterup の dry-run / 検証ゲートを実行し、選曲・混入許容・over-max 例外などの承認分岐をすべて解決する
      • Agent ツールで subagent を起動し、対象 collection、(記録があれば)playlist URL、承認済み選択条件を入力として /masterup の Subagent Contract を実行させる。workflow-state.json 更新と雨レイヤー後処理は実行させない
      • 期待成果物 01-master/master.*01-master/.selection.log の存在をメインが確認し、成功時だけ assets.raw_masterupdated_at を更新する。雨レイヤーが有効なら、その後にメインが /masterup Step 5.6 を実行し、出力と state を再検証する
      • ガイダンス: 「raw master をミキシング+マスタリングし、最終マスターを 01-master/ に配置後、/wf-next を再実行してください」
      • ここでフロー停止
    • URL 記録済みだが 02-Individual-music/ に音声ファイルが無い:
      • URL 再入力は要求せず、「ダウンロードが完了していない可能性があります。/suno-helper を再開するか手動でダウンロードしてから /wf-next を再実行してください」を表示
      • ここでフロー停止/masterup は自動実行しない)
    • URL 未記録(キー自体が無い、または null)かつ 02-Individual-music/ に音声ファイルも無い:
      • 従来通りユーザーにプレイリスト URL を AskUserQuestion で取得
      • URL 取得後、上記と同じくメインが /masterup の承認分岐を解決し、Agent ツールで Subagent Contract を委譲する
      • メインが 01-master/master.*01-master/.selection.log を検証し、成功時だけ assets.raw_masterupdated_at を更新する
      • ガイダンス: 「raw master をミキシング+マスタリングし、最終マスターを 01-master/ に配置後、/wf-next を再実行してください」
      • ここでフロー停止

Lyria パス:

  1. assets.music_prompts = true + assets.raw_master = null:
    • Agent ツールで subagent を起動し、対象 collection と theme を入力に /lyria <theme> の Lyria 3 API セグメント生成だけを実行させる(最大 ~184 秒/リクエスト)。state 書き込みと承認取得は禁止する
    • 委譲前に期待する 02-Individual-music/ の音声ファイルと 01-master/ の raw master パスを列挙する。メインが実在を確認し、成功時だけ assets.raw_masterupdated_at を更新する
    • ガイダンス: 「生成されたセグメントをミキシング+マスタリングし、最終マスターを 01-master/ に配置後、/wf-next を再実行してください」
    • ここでフロー停止

マスター音源検出(音源承認ゲート 2-B): 2. assets.raw_master != null + assets.master_audio = null:

  • 判定・state 更新は reference script を使う。worktree 外(main repo 側)で採用する最終マスター候補を見つけた場合は、先に worktree 側 01-master/ へコピーしてから script を実行する。script は worktree 側 01-master/workflow-state.json を唯一の書き込み対象にする。

    SKIP_MANUAL_MASTERING="$(python3 -c 'from youtube_automation.configuration import load_config; print(str(load_config().workflow.wf_next.skip_manual_mastering).lower())')"
    SKIP_AUDIO_APPROVAL="$(python3 -c 'from youtube_automation.configuration import load_config; print(str(load_config().workflow.wf_next.skip_audio_approval).lower())')"
    python3 "$(git rev-parse --show-toplevel)/.claude/skills/wf-next/references/master_audio_transition.py" \
      "$COLLECTION_DIR" \
      --skip-manual-mastering "$SKIP_MANUAL_MASTERING" \
      --skip-audio-approval "$SKIP_AUDIO_APPROVAL"
    

    action: "needs_selection" が返った場合は、candidate_sources[].id(例: main:final.wav / worktree:final.wav)から採用候補を AskUserQuestion で確認し、--selected-master-audio <id> を付けて同じコマンドを再実行する。候補ファイル名が一意なら従来通り <filename> でもよいが、worktree と main repo 側で同名候補がある場合は <id> が必須。action: "needs_approval" が返った場合だけ AskUserQuestion で承認を取り、承認なら --approved yes --approved-master-audio <master_audio>、却下なら --approved no --approved-master-audio <master_audio> を付けて同じコマンドを再実行する。複数候補かつ承認ゲートありの場合は、選択後の再実行で needs_approval が返るため、承認時も --selected-master-audio <id> --approved yes --approved-master-audio <filename> を付ける。承認対象と再実行時の採用予定ファイルが一致しない場合、script は state を更新せず再承認を要求する。この script の出力と workflow-state.json 更新結果を 2-B の実行契約とする。

  • 走査対象:

    • worktree 内 01-master/ を必ず走査
    • worktree 検知: git rev-parse --git-common-dir がカレント .git と異なる絶対パスを返したら worktree 内とみなし、メインリポルート(git-common-dir の親ディレクトリ)の collections/planning/<collection-name>/01-master/ も確認する。採用するファイルが main repo 側にある場合は、state 更新前に worktree 側 01-master/ へコピーする(state 更新後の動画化が worktree 内で完結するように)
  • 候補抽出: raw_master と異なるファイルのうち .m4a / .wav / .flac / .aac / .mp3 を最終マスター候補として列挙

  • 検出できた場合:

    • 複数候補があればユーザーに採用ファイルを確認(worktree 内と main repo 側で同名ファイルが両方ある場合も含む)
    • 採用ファイルが worktree 外(main repo 側)にあるときは worktree 側 01-master/ にコピーしてから処理(state 更新後の動画化が worktree 内で完結するように)
    • 承認ゲート(skip_audio_approval = false のとき): 採用ファイル名を提示して AskUserQuestion で「この音源で mastered に進めてよいか」を確認する。承認されたら下記の state 更新へ進む。却下されたら assets.master_audio を更新せず、ガイダンス「最終マスターを差し替えて /wf-next を再実行してください」を表示して停止
    • assets.master_audio にファイル名のみ記録 → phase: "mastered" → 自動的に公開フローへ進む(skip_audio_approval = true のときは確認なし)
  • 検出できない場合:

    • workflow.wf_next.skip_manual_mastering = true のとき(raw=final 運用): assets.raw_master のファイル名をそのまま最終マスターとして採用する。承認ゲート(skip_audio_approval = false)が有効なら、raw master 直採用であることを明示して AskUserQuestion で確認してから進む。assets.master_audioassets.raw_master と同じファイル名を記録 → phase: "mastered" → 自動的に公開フローへ進む
    • skip_manual_mastering = false(未設定含む、デフォルト): ガイダンス「最終マスターを 01-master/ に配置後、/wf-next を再実行してください」を表示して停止(従来動作)

mastered → 公開フロー(アップロード承認ゲートあり)

以下を一気通貫実行する。実作業は subagent、成果物検証と各ステップ完了時の workflow-state.json 更新はメインが担当し、途中で中断しても同じ状態から再開できる。

  1. 並列 A(2 Agent 同時起動):
    • Agent 1: 対象 collection、01-master/<assets.master_audio>10-assets/main.png/jpg または loop.mp4 を入力に Skill /videoup の Subagent Contract を実行。thumbna

Content truncated.

When not to use it

  • Starting a new collection
  • Checking workflow status only
  • Analyzing published video performance

Prerequisites

config/channel/ directoryworkflow-state.json

Limitations

  • Main agent only writes to workflow-state.json
  • Subagents cannot update workflow state
  • Requires preflight check before execution

How it compares

It acts as an orchestrator that enforces strict delegation boundaries, ensuring the main agent validates all subagent outputs before updating the project state, unlike manual workflows.

Compared to similar skills

wf-next side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
wf-next (this skill)09dReviewIntermediate
trello412moReviewBeginner
executing-plans62moNo flagsIntermediate
github-project-management45moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

trello

openclaw

Manage Trello boards, lists, and cards via the Trello REST API.

41205

executing-plans

obra

Use when you have a written implementation plan to execute in a separate session with review checkpoints

643

github-project-management

ruvnet

Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning

427

project-clickup

incidentfox

ClickUp project management integration for incident tracking and task management

320

coo-advisor

alirezarezvani

Operations leadership for scaling companies. Process design, OKR execution, operational cadence, and scaling playbooks. Use when designing operations, setting up OKRs, building processes, scaling teams, analyzing bottlenecks, planning operational cadence, or when user mentions COO, operations, process improvement, OKRs, scaling, operational efficiency, or execution.

613

tlc-spec-driven

tech-leads-club

Project and feature planning with 4 phases - Specify, Design, Tasks, Implement+Validate. Creates atomic tasks with verification criteria and maintains persistent memory across sessions. Stack-agnostic. Use when: (1) Starting new projects (initialize vision, goals, roadmap), (2) Working with existing codebases (map stack, architecture, conventions), (3) Planning features (requirements, design, task breakdown), (4) Implementing with verification, (5) Tracking decisions/blockers across sessions, (6) Pausing/resuming work. Triggers on "initialize project", "map codebase", "specify feature", "design", "tasks", "implement", "pause work", "resume work".

77

Search skills

Search the agent skills registry