mcpField
L
ln-400-story-executor

ln-400-story-executor

github.com/levnikolaevichエージェントワークフロー584372 回インストール2 日前に更新
リポジトリ

ln-400-story-executor について

実行時状態に基づいてStoryのタスクを順序どおりに処理し、worktreeとチェックポイントを管理して、StoryをTo Reviewへ進める調整スキルです。実装とレビューの進行を管理し、完了後はユーザーシナリオ全体との整合性も確認します。

主な機能

  1. 01タスクのステータス順に実行
  2. 02worktreeと再開可能な実行状態の管理
  3. 03並列指定されたタスクグループの実行
  4. 04実行または手戻り後のレビュー起動
  5. 05Storyシナリオに沿った完了タスクの検証
  6. 06StoryをDoneではなくTo Reviewへ移動

活用シーン

  1. 01複数のステータスにまたがるStoryタスクの調整
  2. 02保存済みチェックポイントからの実行再開
  3. 03明示的にグループ化されたTodoタスクの並列実行
  4. 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.md
coordinator_runtime_contract.md
coordinator_summary_contract.md
environment_state_contract.md
git_scope_detection.md
git_worktree_fallback.md
input_resolution_pattern.md
loop_health_contract.md
meta_analysis_protocol.md
provider_file.md
provider_github.md
provider_linear.md
references/agents/
agent_result_classifier.mjs
agent_runner.mjs
references/agents/prompt_templates/
scenario_validator.md
references/scripts/coordinator-runtime/lib/
artifacts.mjs
cli-helpers.mjs
core.mjs
loop-health.mjs
runtime-constants.mjs
schemas.mjs
validate.mjs
worker-guards.mjs
worker-runtime.mjs
references/scripts/story-execution-runtime/
cli.mjs
references/scripts/story-execution-runtime/lib/
guards.mjs
phases.mjs
store.mjs
references/scripts/task-worker-runtime/
cli.mjs
references/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:設定
  1. storyId を解決します。
  2. タスク管理設定から task_provider を検出します。
  3. 実行マニフェストを作成します:
    • story_id
    • task_provider
    • project_root
    • 予定する worktree_dir
    • ブランチ名
    • parallel_group_policy
    • status_transition_policy
  4. ランタイムを起動し、PHASE_0_CONFIG のチェックポイントを記録します。
フェーズ 1:検出
  1. ストーリーのタイトルと現在のストーリーステータスを解決します。
  2. 子タスクのメタデータのみを読み込みます:
    • 設定済みのトラッカープロバイダーの listTasksByStory(storyId) 操作を使用します(トランスポートについては references/provider_file.md, references/provider_github.md, references/provider_linear.md を参照)。
  3. 次の項目について processable_counts を作成します:
    • to_review
    • to_rework
    • todo
  4. PHASE_1_DISCOVERY のチェックポイントを記録します。
フェーズ 2:ワークツリーのセットアップ
  1. 現在のブランチを検出します。
  2. すでに feature/* 内にいる場合は、現在のディレクトリをアクティブなワークツリーとして扱います。
  3. それ以外の場合は、ワークツリーのフォールバックガイドに従って .hex-skills/worktrees/story-{identifier} を作成し、ブランチ feature/{identifier}-{slug} を作成します。
  4. 次の項目を含めて PHASE_2_WORKTREE_SETUP のチェックポイントを記録します:
    • worktree_ready
    • worktree_dir
    • branch
  5. worktree_ready=true の場合にのみ先へ進みます。
フェーズ 3:作業の選択

選択順序は決定的です:

  1. To Review のタスクを最優先し、順次実行
  2. 次に To Rework のタスクを順次実行
  3. 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-402
  • To Rework -> ln-403、その後すぐに ln-402
  • 単一の Todo テストタスク -> ln-404、その後すぐに ln-402
  • 単一の Todo 実装/リファクタリングタスク -> ln-401、その後すぐに ln-402

フロー:

  1. 実行者の childRunId = {parent_run_id}--{worker}--{taskId} を計算します。
  2. 実行者の成果物パス .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json を計算します。
  3. 実行者のマニフェストを .hex-skills/story-execution/{worker}--{taskId}_manifest.json に生成します。
  4. task-worker-runtime を起動し、呼び出し前に実行者の child_run メタデータをチェックポイントに記録します。
  5. Agent または Skill を通じて --run-id と --summary-artifact-path を指定し、ワーカーを実行します。
  6. .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--{worker}.json から実行者のサマリー成果物を読み取ります。
  7. 同じタスク/ワーカー/エラーを再試行する前に、タスクループの健全性を記録します:
    • アクション:現在のワーカー出力を、以前のタスクループの健全性と比較します。
    • 要点:新しい成果物、新しい ln-402 サマリー、タスクステータスの差分、files_changed の差分、またはシナリオの改善がある場合にのみ再試行します。
    • 理由:同一のワーカー失敗を繰り返しても新たな証拠は増えず、再試行の集中を引き起こします。
    • 証拠:record-loop-health --scope task --scope-id {taskId} の結果。
    • 例外:pause.pause=true の場合は停止し、paused_reason を提示します。
    • 自動化/ガード:story-execution runtime は、同じエラーが発生し進捗がない状態がしきい値に達すると一時停止します。
  8. レビューが必要な場合は、同じランタイムに基づく手順を ln-402 に対して繰り返します。
  9. .hex-skills/runtime-artifacts/runs/{parent_run_id}/task-status/{taskId}--ln-402.json から、同じタスクの最新の ln-402 レビューサマリー成果物を読み取ります。
  10. record-worker でワーカー成果物を記録します。
  11. PHASE_4_TASK_EXECUTION をチェックポイントに記録します。
  12. PHASE_6_VERIFY_STATUSES に進みます。
フェーズ 5:グループの実行

複数のタスクがある Todo グループでのみ使用します。

  1. 各タスクについて、ワーカー固有の子 runId、成果物パス、マニフェストパスを計算します。
  2. 実行者ごとに task-worker-runtime を 1 つ起動し、Agent を起動する前にすべての子メタデータをチェックポイントに記録します。
  3. Agent ツールを通じて、グループ内のすべての実行者を並行して起動します。
  4. すべての実行者が完了するまで待機します。
  5. 各実行者のサマリー成果物を読み取ります。
  6. タスクごとに ln-402 ランタイムを 1 つ起動し、各タスクを順番にレビューして、すべてのタスクの最新レビュー成果物を読み取ります。
  7. record-worker で各ワーカー成果物を記録し、その後 record-group でグループサマリーを記録します。
  8. PHASE_5_GROUP_EXECUTION をチェックポイントに記録します。
  9. PHASE_6_VERIFY_STATUSES に進みます。
フェーズ 6:ステータスの検証
  1. 信頼できる情報源からタスクのメタデータを再読み込みします。
  2. processable_counts を更新します。
  3. この実行で処理したすべてのタスクに、最新の機械可読な ln-402 サマリーがあることを検証します。
  4. いずれかのワーカーが予期しない遷移を残した場合は、ランタイムを一時停止します。
  5. いずれかのタスクで To Rework が 3 回連続した場合は、エスカレーション理由を付けてランタイムを一時停止します。
  6. PHASE_6_VERIFY_STATUSES をチェックポイントに記録します。
  7. 処理可能な作業が残っている場合 -> PHASE_3_SELECT_WORK に戻ります。
  8. 処理可能な作業が残っていない場合 -> PHASE_6B_SCENARIO_VALIDATION に進みます。
シナリオ検証

すべてのタスクが完了すると、一度だけ実行します。外部エージェントに委任し、実装済みのコードに照らしてユーザーシナリオをエンドツーエンドで追跡します。タスクの実装を進めてきた実行者には完了させたいというバイアスがありますが、外部エージェントはシナリオの完了に利害関係がありません。

  1. Story AC とトレーサビリティテーブル(.hex-skills/task-planning/{identifier}_traceability.md 内)を読み込みます。トレーサビリティ成果物がない場合は、Story AC とタスクの実装計画から同等のトレースを再構築します。プランナーの成果物がないことだけを理由にシナリオ検証を失敗させてはいけません。

  2. エージェントのヘルスチェックを実行します。アドバイザーエージェントが利用可能な場合: 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 から壊れているセグメントを解析します。

  3. エージェントを利用できない場合:フォールバックとして、コードを調査して 5 つのセグメントをトレースするセルフチェックを実行します。

  4. 壊れている、または欠落しているセグメントがある場合:

    • トレーサビリティテーブルのレイヤーマッピングから、該当するタスクを特定します。
    • 別の手戻りを設定する前に、壊れているセグメントをキーとしてシナリオループの健全性を記録します。
    • 同じセグメントがコードや成果物の差分なしに再び失敗した場合、やみくもに手戻りを行わず、一時停止します。
    • シナリオ検証での指摘事項を手戻りのコンテキストとして、そのタスクを To Rework に戻します。
    • PHASE_3_SELECT_WORK に戻ります。
  5. シナリオ検証ループは最大 2 回です。手戻りを 2 サイクル行っても失敗する場合は、ユーザーレビューのために PAUSE します。

  6. すべてのセグメントに合格した場合は、PHASE_7_STORY_TO_REVIEW に進みます。

チェックポイント PHASE_6B_SCENARIO_VALIDATION の項目:

  • scenario_pass:true/false
  • segments_traced:トレースした数
  • segments_passed:合格した数
  • rework_tasks:戻したタスク ID の一覧(合格した場合は空)
  • validation_mode:agent_validated または self_check_only
フェーズ 7:Story をレビューに回す
  1. Todo、To Review、To Rework のタスクが残っていないことを確認します。
  2. Story のステータスを To Review に更新します。
  3. カンバンを To Review に更新します。
  4. 次の項目でチェックポイント PHASE_7_STORY_TO_REVIEW を記録します。
    • story_transition_done=true
    • story_final_status="To Review"
    • final_result="READY_FOR_GATE"
  5. 次の項目を含む Stage 2 コーディネーター成果物を作成します。
    • summary_kind=pipeline-stage
    • stage=2
    • story_id
    • status=completed
    • final_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 Reviewln-402-task-reviewerSkill() でインライン実行
To Reworkln-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.md
  • references/story_execution_runtime_contract.md
  • references/coordinator_summary_contract.md
  • references/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

コメント