Communityコーディング&開発github.com

hackycy/goal-loop

将已收敛的 map、ADR、spec 或 implementation plan 编译为 Gate 计划、状态账本和跨轮复用的固定执行提示词。

goal-loop とは?

このスキルは、開発プロジェクトの意思決定が収束した成果物(map、ADR、仕様書、実装計画など)を入力として、実行制御に必要な3つのアーティファクトを生成します。具体的には、安定したGate契約を定義する`implementation-plan.md`、実行状態と証拠を追跡する`goal-runbook.md`、そしてエージェントが再利用可能な固定プロンプト`goal-prompt.md`です。このスキルは、Claude Code、Cursor、CodexなどのAIエージェントが、承認された決定を尊重しながら、自己回帰的で検証可能な実行ループを維持するのに役立ちます。入力として提供されるeffortディレクトリから関連ドキュメントを解析し、計画のコンパイルまたは検証、台帳の作成または検証、固定プロンプトの書き出しを担当します。計画や台帳が既に存在する場合は、一貫性を検証し、ドリフトを防ぎます。このスキル自体はGateを実行せず、実行制御面の確立と検証に専念します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hackycy/skills/tree/main/skills/goal-loop

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Goal Loop

意思決定ドキュメントを3つのアーティファクトにコンパイルします:

  • implementation-plan.md:安定したGate契約。何をするか、境界は何か、どのように検証するか、いつ停止するかを回答します。
  • goal-runbook.md:唯一の実行状態と証拠の台帳。現在の実行状況と、どのような証拠があるかのみを回答します。
  • goal-prompt.md:手動でコピーしやすい固定エントリポイント。最初の2つのドキュメントのみを参照します。Gateにバインドせず、契約を繰り返しません。

このスキルは実行制御面を確立または検証するのみで、Gateを実行せず、承認済みの決定をやり直しません。

入力の特定

ユーザーはeffortディレクトリ、map.md、ADR/spec、または既存のimplementation-plan.mdを提供します。Gitリポジトリのルートを解析し、effortを特定します。一意に特定できない場合は停止し、チェックしたパスをリストアップします。

該当するCLAUDE.md、AGENTS.md、CONTEXT.md / CONTEXT-MAP.md、およびeffort内のmap、spec、implementation plan、それらがリンクするローカルのADR、decision、issue、受入依存関係を読み取ります。CONTEXT.mdは用語とドメイン事実のみを提供し、単独でGateを生成しません。

2種類の収束済みエントリをサポートします:

  • Decision-only:Gate、範囲、検証、Exitが、承認済みADR、spec、または解決済みissueから取得可能。
  • Wayfinder:mapのNot yet specifiedが空または明示的に「なし」。実行順序と受入に関与するdecisionがすべて解決済み。

ローカル決定リンクの欠落、ADR未承認、decision未解決、またはドキュメントにTBD、TODO、未解決の質問、pending decisionがある場合は停止し、項目ごとにギャップを報告します。経験則で製品決定、受入ポリシー、ロールバック境界を補完してはいけません。

計画のコンパイル

implementation-plan.mdが存在しない場合、references/implementation-plan-schema.mdを完全に読み取り、収束済み決定から計画を生成します。既に存在する場合は、読み取りと検証のみ行い、上書きしません。

計画はすべての安定したGate契約を独占します:Objective、Inputs、Scope boundary、Constraints、Slice policy、Verification、Evidence rule、Stop conditions、Rollback、Exit conditions。プロジェクトコマンドと技術的制約は計画にのみ書き込み、固定プロンプトには書き込みません。

古い計画にCurrent Execution Stateが含まれている場合、runbookの初期化時に一度インポートできます。Gate名、順序、状態は一致している必要があり、passed / blockedには対応する証拠が存在する必要があります。インポート後は計画を更新しません。

台帳のコンパイルまたは検証

references/runbook-schema.mdを完全に読み取ります。

goal-runbook.mdが存在しない場合:

  1. 計画からGate番号、名前、依存関係、契約の場所を読み取ります。
  2. ソースベースライン、唯一のGoal Ledger、各GateのProgress Logを書き込みます。
  3. インポート可能な状態がない場合、G0のみをactive、残りをplannedとマークします。
  4. 計画からObjective、Constraints、Verification、その他のGate契約をコピーしません。

goal-runbook.mdが既に存在する場合:

  1. ソースパスセットとSHA-256を比較します。計画または決定がドリフトしている場合、台帳をそのままにして停止します。
  2. Gateの順序、計画参照、厳密な線形依存関係、ステートマシン、Progress Logの証拠を検証します。
  3. 台帳はpassed* active planned*、passed* blocked planned*、またはpassed+の状態のみを示せます。

計画は契約の唯一のソースです。台帳は状態と証拠の唯一のソースです。両者は相互にフィールドをコピーしたり、状態を二重書き込みしたりしてはいけません。

固定プロンプトの書き込み

references/goal-prompt-template.mdを完全に読み取り、{{EFFORT_PATH}}のみを置き換えて、goal-prompt.mdに書き込むか置き換えます。

固定プロンプトは以下を満たす必要があります:

  • 同じeffort内のすべてのGateで完全に同一であること。
  • G0/G1などの特定のGate、Gate名、Objectiveが出現しないこと。
  • Inputs、Constraints、Verification、Stop conditions、Rollback、Exit conditionsを展開しないこと。
  • プロジェクト間で安定した実行ループと行動制約を保持すること:最小スライス、範囲制御、検証失敗時のクローズドループ、責任の分割、無関係な実装の保持、テストの弱体化禁止、手動受入による引き継ぎ終了、push禁止。
  • Goal開始時に現在の唯一のactive Gateをロックし、そのGateのみを実行すること。手動受入時は確認を一度だけ要求し、最初に引き継ぎ証拠を記録し、ホストエージェントが提供する成功終了状態を使用して今回のGoalを終了すること(blocked、pausedとマークしたり、実行を継続したりしない)。最後に、Gate、自動化結果、受入エントリポイント、最小チェックリスト、明確な応答形式、および「Goal終了、Gateはactive」を含む引き継ぎ結果を出力して、通常のセッションを終了すること。この時点でGateはactiveのままである必要があり、後続の処理はユーザーが明確な受入結果を持って手動で新しいGoalを再トリガーすることのみ可能。Goal状態メカニズムがない場合は、現在のタスクを直接終了し、待機ループを作成しないこと。Gate通過後は、現在のGateをpassed、直接後続のGateをactiveとマークし、証拠をまとめてGoal全体を明示的に終了すること。後続のGateを同じGoalに含めてはいけません。

goal-prompt.mdは削除および再構築可能なコピー便宜ファイルです。ソースベースラインに属さず、計画やrunbookから参照されず、状態検証にも関与しません。

最終的な返信では、コンパイルか検証かを説明し、計画、runbook、固定プロンプトのパスを示し、プロンプトの内容を出力します。アーティファクトのみを最適化する場合は、Gateを実行してはいけません。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

関連スキル