ln-400-story-executor について
実行時状態に基づいてStoryのタスクを順序どおりに処理し、worktreeとチェックポイントを管理して、StoryをTo Reviewへ進める調整スキルです。実装とレビューの進行を管理し、完了後はユーザーシナリオ全体との整合性も確認します。
主な機能
- 01タスクのステータス順に実行
- 02worktreeと再開可能な実行状態の管理
- 03並列指定されたタスクグループの実行
- 04実行または手戻り後のレビュー起動
- 05Storyシナリオに沿った完了タスクの検証
- 06StoryをDoneではなくTo Reviewへ移動
活用シーン
- 01複数のステータスにまたがるStoryタスクの調整
- 02保存済みチェックポイントからの実行再開
- 03明示的にグループ化されたTodoタスクの並列実行
- 04完了タスクがシナリオ全体を満たすかの確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-400-story-executorインストール後、Claude Code で/ln-400-story-executorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/agent_skill_roots_contract.mdcoordinator_runtime_contract.mdcoordinator_summary_contract.mdenvironment_state_contract.mdgit_scope_detection.mdgit_worktree_fallback.mdinput_resolution_pattern.mdloop_health_contract.mdmeta_analysis_protocol.mdprovider_file.mdprovider_github.mdprovider_linear.mdreferences/agents/agent_result_classifier.mjsagent_runner.mjsreferences/agents/prompt_templates/scenario_validator.mdreferences/scripts/coordinator-runtime/lib/artifacts.mjscli-helpers.mjscore.mjsloop-health.mjsruntime-constants.mjsschemas.mjsvalidate.mjsworker-guards.mjsworker-runtime.mjsreferences/scripts/story-execution-runtime/cli.mjsreferences/scripts/story-execution-runtime/lib/guards.mjsphases.mjsstore.mjsreferences/scripts/task-worker-runtime/cli.mjsreferences/scripts/task-worker-runtime/lib/guards.mjs詳細
パス: ファイルパス(
references/、../ln-*)は、このスキルディレクトリからの相対パスです。
タイプ: L2 コーディネーター カテゴリ: 4XX 実行
ストーリー実行オーケストレーター
ストーリー実行を支えるランタイム対応のコーディネーターです。タスクの順序、ワークツリーのライフサイクル、タスク/グループのチェックポイント、およびストーリーの最終的な To Review への遷移を管理します。
入力
| 入力 | 必須 | ソース | 説明 |
|---|---|---|---|
storyId | はい | args, git branch, kanban, user | 処理するストーリー |
--rework-focus | いいえ | ln-1000 | 前回の品質ゲートでの FAIL でブロック要因となったカテゴリをカンマ区切りで指定 |
解決方法: ストーリー解決チェーン。
ステータスフィルター: Todo, In Progress, To Rework, To Review
目的と範囲
- 各ループでストーリーとタスクのメタデータを一度読み込む
- 次の順序で実行します:
To Review -> To Rework -> Todo - 明示的に指定されている場合に限り、
Todoの並列グループを起動する - executor/rework の各ステップの直後にレビューを必ず実行する
- 再開可能なランタイム状態を
.hex-skills/story-execution/runtime/に永続化する - ストーリーを
To Reviewにのみ移動する。Doneには移動しない
ランタイム契約
必ず読み込むこと: references/environment_state_contract.md、references/storage_mode_detection.md、references/input_resolution_pattern.md を読み込みます
必ず読み込むこと: references/coordinator_runtime_contract.md、references/story_execution_runtime_contract.md、references/coordinator_summary_contract.md、references/loop_health_contract.md を読み込みます
必ず読み込むこと: references/git_worktree_fallback.md を読み込みます — Story execution の行を使用します
ランタイム CLI:
node references/scripts/story-execution-runtime/cli.mjs start --story {storyId} --manifest-file .hex-skills/story-execution/manifest.json
node references/scripts/story-execution-runtime/cli.mjs status
node references/scripts/story-execution-runtime/cli.mjs checkpoint --phase PHASE_3_SELECT_WORK --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs record-worker --task-id {taskId} --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs record-group --group-id {groupId} --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs record-stage-summary --story {storyId} --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs record-loop-health --scope task --scope-id {taskId} --payload '{...}'
node references/scripts/story-execution-runtime/cli.mjs advance --to PHASE_4_TASK_EXECUTION
ワークフロー
フェーズ 0:設定
storyIdを解決します。- タスク管理設定から
task_providerを検出します。 - 実行マニフェストを作成します:
story_idtask_providerproject_root- 予定する
worktree_dir - ブランチ名
parallel_group_policystatus_transition_policy
- ランタイムを起動し、
PHASE_0_CONFIGのチェックポイントを記録します。
フェーズ 1:検出
- ストーリーのタイトルと現在のストーリーステータスを解決します。
- 子タスクのメタデータのみを読み込みます:
- 設定済みのトラッカープロバイダーの
listTasksByStory(storyId)操作を使用します(トランスポートについてはreferences/provider_file.md, references/provider_github.md, references/provider_linear.mdを参照)。
- 設定済みのトラッカープロバイダーの
- 次の項目について
processable_countsを作成します:to_reviewto_reworktodo
PHASE_1_DISCOVERYのチェックポイントを記録します。
フェーズ 2:ワークツリーのセットアップ
- 現在のブランチを検出します。
- すでに
feature/*内にいる場合は、現在のディレクトリをアクティブなワークツリーとして扱います。 - それ以外の場合は、ワークツリーのフォールバックガイドに従って
.hex-skills/worktrees/story-{identifier}を作成し、ブランチfeature/{identifier}-{slug}を作成します。 - 次の項目を含めて
PHASE_2_WORKTREE_SETUPのチェックポイントを記録します:worktree_readyworktree_dirbranch
worktree_ready=trueの場合にのみ先へ進みます。
フェーズ 3:作業の選択
選択順序は決定的です:
To Reviewのタスクを最優先し、順次実行- 次に
To Reworkのタスクを順次実行 Todoタスク:**Parallel Group:** {N}があるタスクは、1 つのグループとして実行できます- グループ指定のないタスクは、単一タスクの順次実行単位として扱います
次の項目を含めて PHASE_3_SELECT_WORK のチェックポイントを記録します:
current_task_idまたはcurrent_group_id- 最新の
processable_counts
処理可能な件数がすべて 0 の場合は、実行をスキップして PHASE_7_STORY_TO_REVIEW に進みます。
rework_focus が指定されている場合:
- タイトルまたは AC キーワードが
blocking_categoriesのいずれかの項目と一致するタスクは、同じ優先度内で先に選択されます。 - これによって To Review > To Rework > Todo の順序は変更されません。同じ優先度内で順序を入れ替えます。
フェーズ 4:タスクの実行
以下で使用します:
To Review->ln-402To Rework->ln-403、その後すぐにln-402- 単一の
Todoテストタスク ->ln-404、その後すぐにln-402 - 単一の
Todo実装/リファクタリングタスク ->ln-401、その後すぐにln-402
フロー:
- 実行者の
childRunId = {parent_run_id}--{worker}--{taskId}を計算します。 - 実行者の成果物パス
.hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.jsonを計算します。 - 実行者のマニフェストを
.hex-skills/story-execution/{worker}--{taskId}_manifest.jsonに生成します。 task-worker-runtimeを起動し、呼び出し前に実行者のchild_runメタデータをチェックポイントに記録します。- Agent または Skill を通じて
--run-idと--summary-artifact-pathを指定し、ワーカーを実行します。 .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.jsonから実行者のサマリー成果物を読み取ります。- 同じタスク/ワーカー/エラーを再試行する前に、タスクループの健全性を記録します:
- アクション:現在のワーカー出力を、以前のタスクループの健全性と比較します。
- 要点:新しい成果物、新しい
ln-402サマリー、タスクステータスの差分、files_changedの差分、またはシナリオの改善がある場合にのみ再試行します。 - 理由:同一のワーカー失敗を繰り返しても新たな証拠は増えず、再試行の集中を引き起こします。
- 証拠:
record-loop-health --scope task --scope-id {taskId}の結果。 - 例外:
pause.pause=trueの場合は停止し、paused_reasonを提示します。 - 自動化/ガード:story-execution runtime は、同じエラーが発生し進捗がない状態がしきい値に達すると一時停止します。
- レビューが必要な場合は、同じランタイムに基づく手順を
ln-402に対して繰り返します。 .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.jsonから、同じタスクの最新のln-402レビューサマリー成果物を読み取ります。record-workerでワーカー成果物を記録します。PHASE_4_TASK_EXECUTIONをチェックポイントに記録します。PHASE_6_VERIFY_STATUSESに進みます。
フェーズ 5:グループの実行
複数のタスクがある Todo グループでのみ使用します。
- 各タスクについて、ワーカー固有の子
runId、成果物パス、マニフェストパスを計算します。 - 実行者ごとに
task-worker-runtimeを 1 つ起動し、Agent を起動する前にすべての子メタデータをチェックポイントに記録します。 - Agent ツールを通じて、グループ内のすべての実行者を並行して起動します。
- すべての実行者が完了するまで待機します。
- 各実行者のサマリー成果物を読み取ります。
- タスクごとに
ln-402ランタイムを 1 つ起動し、各タスクを順番にレビューして、すべてのタスクの最新レビュー成果物を読み取ります。 record-workerで各ワーカー成果物を記録し、その後record-groupでグループサマリーを記録します。PHASE_5_GROUP_EXECUTIONをチェックポイントに記録します。PHASE_6_VERIFY_STATUSESに進みます。
フェーズ 6:ステータスの検証
- 信頼できる情報源からタスクのメタデータを再読み込みします。
processable_countsを更新します。- この実行で処理したすべてのタスクに、最新の機械可読な
ln-402サマリーがあることを検証します。 - いずれかのワーカーが予期しない遷移を残した場合は、ランタイムを一時停止します。
- いずれかのタスクで
To Reworkが 3 回連続した場合は、エスカレーション理由を付けてランタイムを一時停止します。 PHASE_6_VERIFY_STATUSESをチェックポイントに記録します。- 処理可能な作業が残っている場合 ->
PHASE_3_SELECT_WORKに戻ります。 - 処理可能な作業が残っていない場合 ->
PHASE_6B_SCENARIO_VALIDATIONに進みます。
シナリオ検証
すべてのタスクが完了すると、一度だけ実行します。外部エージェントに委任し、実装済みのコードに照らしてユーザーシナリオをエンドツーエンドで追跡します。タスクの実装を進めてきた実行者には完了させたいというバイアスがありますが、外部エージェントはシナリオの完了に利害関係がありません。
-
Story AC とトレーサビリティテーブル(
.hex-skills/task-planning/{identifier}_traceability.md内)を読み込みます。トレーサビリティ成果物がない場合は、Story AC とタスクの実装計画から同等のトレースを再構築します。プランナーの成果物がないことだけを理由にシナリオ検証を失敗させてはいけません。 -
エージェントのヘルスチェックを実行します。アドバイザーエージェントが利用可能な場合: a.
references/agents/prompt_templates/scenario_validator.mdから検証プロンプトを作成します。 b. Story AC、トレーサビリティテーブル、アーキテクチャのコンテキスト、プロジェクトのルートパス(エージェントがコードを直接読み取ります)を入力します。 c. プロンプトを.hex-skills/story-execution/{identifier}_scenario_prompt.mdに保存します。 d. エージェントを起動します。node references/agents/agent_runner.mjs \ --agent {agent} \ --prompt-file .hex-skills/story-execution/{identifier}_scenario_prompt.md \ --output-file .hex-skills/story-execution/{identifier}_scenario_result.md \ --cwd {project_dir}e. 結果の JSON から壊れているセグメントを解析します。
-
エージェントを利用できない場合:フォールバックとして、コードを調査して 5 つのセグメントをトレースするセルフチェックを実行します。
-
壊れている、または欠落しているセグメントがある場合:
- トレーサビリティテーブルのレイヤーマッピングから、該当するタスクを特定します。
- 別の手戻りを設定する前に、壊れているセグメントをキーとしてシナリオループの健全性を記録します。
- 同じセグメントがコードや成果物の差分なしに再び失敗した場合、やみくもに手戻りを行わず、一時停止します。
- シナリオ検証での指摘事項を手戻りのコンテキストとして、そのタスクを
To Reworkに戻します。 PHASE_3_SELECT_WORKに戻ります。
-
シナリオ検証ループは最大 2 回です。手戻りを 2 サイクル行っても失敗する場合は、ユーザーレビューのために
PAUSEします。 -
すべてのセグメントに合格した場合は、
PHASE_7_STORY_TO_REVIEWに進みます。
チェックポイント PHASE_6B_SCENARIO_VALIDATION の項目:
scenario_pass:true/falsesegments_traced:トレースした数segments_passed:合格した数rework_tasks:戻したタスク ID の一覧(合格した場合は空)validation_mode:agent_validatedまたはself_check_only
フェーズ 7:Story をレビューに回す
Todo、To Review、To Reworkのタスクが残っていないことを確認します。- Story のステータスを
To Reviewに更新します。 - カンバンを
To Reviewに更新します。 - 次の項目でチェックポイント
PHASE_7_STORY_TO_REVIEWを記録します。story_transition_done=truestory_final_status="To Review"final_result="READY_FOR_GATE"
- 次の項目を含む Stage 2 コーディネーター成果物を作成します。
summary_kind=pipeline-stagestage=2story_idstatus=completedfinal_result="READY_FOR_GATE"story_status="To Review"warnings
フェーズ 8:セルフチェック
メモリではなく、ランタイム状態から最終チェックリストを作成します。
- 設定のチェックポイントが存在する
- 発見のチェックポイントが存在する
- Worktree のチェックポイントが存在し、
worktree_ready=trueである - 実行したすべてのタスクに最新の
ln-402サマリー成果物がある - 処理したすべてのグループにランタイム結果が記録されている
- 手戻りループのガードが作動していない
- Story が
To Reviewに移行している - Stage 2 コーディネーター成果物が記録されている
pass=true|false を指定してチェックポイント PHASE_8_SELF_CHECK を記録します。
pass=true の場合にのみランタイムを完了します。
ワーカーの呼び出し(必須)
ホストスキルの呼び出し: Skill(skill: "...", args: "...") による委任は必須です。
- Claude:Skill ツールを記載どおりに呼び出します。
- Codex:Skill ツールがない場合は、利用可能なスキルから指定されたスキルを探し、その
SKILL.mdを読み、argsを$ARGUMENTSとして扱ってスキルのワークフローを実行し、その結果/成果物を持ってここに戻ります。 - ワーカーのロジックをインラインで実行したり、対象のスキルを実行せずにワーカーを完了扱いにしたりしてはいけません。
| ステータス | ワーカー | 呼び出し |
|---|---|---|
To Review | ln-402-task-reviewer | Skill() でインライン実行 |
To Rework | ln-403-task-rework | エージェントで実行後、直ちに ln-402 |
Todo のテスト | ln-404-test-executor | エージェントで実行後、直ちに ln-402 |
Todo の実装/リファクタリング | ln-401-task-executor | エージェントで実行後、直ちに ln-402 |
実行者と手戻り担当者は分離された環境で実行します。
node references/scripts/task-worker-runtime/cli.mjs start --skill {worker} --task-id {taskId} --manifest-file .hex-skills/story-execution/{worker}--{taskId}_manifest.json --run-id {childRunId} --summary-artifact-path .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json
node references/scripts/story-execution-runtime/cli.mjs checkpoint --phase PHASE_4_TASK_EXECUTION --payload '{"child_run":{"worker":"{worker}","task_id":"{taskId}","run_id":"{childRunId}","summary_artifact_path":".hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json"}}'
Agent(
description: "Execute task {taskId}",
prompt: "Execute task worker.\n\nStep 1: Invoke worker:\n Skill(skill: \"{worker}\", args: \"{taskId} --run-id {childRunId} --summary-artifact-path .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json\")\n\nCONTEXT:\nTask ID: {taskId}",
subagent_type: "general-purpose"
)
レビュー担当者はインラインで実行します。
node references/scripts/task-worker-runtime/cli.mjs start --skill ln-402 --task-id {taskId} --manifest-file .hex-skills/story-execution/ln-402--{taskId}_manifest.json --run-id {reviewRunId} --summary-artifact-path .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.json
node references/scripts/story-execution-runtime/cli.mjs checkpoint --phase PHASE_4_TASK_EXECUTION --payload '{"child_run":{"worker":"ln-402","task_id":"{taskId}","run_id":"{reviewRunId}","summary_artifact_path":".hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.json"}}'
Skill(skill: "ln-402-task-reviewer", args: "{taskId} --run-id {reviewRunId} --summary-artifact-path .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.json")
TodoWrite 形式(必須)
- Start ln-400 runtime (pending)
- Load Story/task metadata (pending)
- Setup or detect worktree (pending)
- Select next task/group (pending)
- Start child runtime(s) and checkpoint child metadata (pending)
- Execute task/group with managed transport inputs (pending)
- Review task results immediately (pending)
- Re-read statuses and record checkpoint (pending)
- Validate user scenario end-to-end (pending)
- Move Story to To Review (pending)
- Run runtime self-check and complete (pending)
重要なルール
- ランタイム状態はオーケストレーションの SSOT、カンバンはタスクステータスの SSOT です。
- レビューをまとめて実施してはいけません。
- Story を
Doneに移動してはいけません。 - すべてのワーカーの結果は、文章のみのチャットではなく、サマリー JSON から読み取る必要があります。
- ワーカーの結果を取り込む主要なランタイム経路は
record-workerです。 - タスク/グループ/シナリオの作業を繰り返す前に、リトライの有用性を取り込む主要な経路は
record-loop-healthです。 - 管理対象のワーカー実行はすべて、呼び出し前に
task-worker-runtimeを介して開始する必要があります。 ln-1000は、自由形式のステージ出力ではなく、ステージ 2 コーディネーター成果物を使用します。- 実行グループを並列化する場合も、レビューは順次実行します。
- タスクを
Doneとして受け入れられるワーカーは、引き続きln-402のみです。
完了の定義
- ランタイムが開始され、
PHASE_0_CONFIGがチェックポイントに記録されている - ディスカバリーとワークツリーのセットアップがチェックポイントに記録されている
- 実行したすべてのタスク/グループがランタイムに記録されている
- 必要に応じて、リワークループのエスカレーションが決定論的に処理されている(
PAUSED) - 最終ステータスの確認がチェックポイントに記録されている
- シナリオの検証に合格している、またはユーザーレビューのために
PAUSEDになっている - Story が
DoneではなくTo Reviewに移動されている - セルフチェックに合格し、ランタイムが完了している
フェーズ 9:メタ分析
参考資料(任意):ユーザーが実行後のメタ分析またはプロトコル形式の実行の振り返りを求めた場合に限り、references/meta_analysis_protocol.md を読み込みます。
スキルの種類:execution-orchestrator。依頼された場合は、フェーズ完了後に実行します。execution-orchestrator 形式でチャットに出力します。
参考ファイル
references/coordinator_runtime_contract.mdreferences/story_execution_runtime_contract.mdreferences/coordinator_summary_contract.mdreferences/git_worktree_fallback.md../ln-401-task-executor/SKILL.md../ln-402-task-reviewer/SKILL.md../ln-403-task-rework/SKILL.md../ln-404-test-executor/SKILL.md
バージョン: 4.0.0 最終更新日: 2026-01-29