mcpField
R
recursive-mode

recursive-mode

github.com/try-worksエージェントワークフロー136114 回インストール14 週間前に更新
リポジトリ

recursive-mode について

リポジトリのワークフローで `/.recursive/RECURSIVE.md` の仕様に従うようエージェントを導くスキルです。必要なファイルの初期化、フェーズ実行と状態管理に加え、ルーティング、ロック、レビュー、保守用のスクリプトやサブスキルを備えます。

主な機能

  1. 01リポジトリの構成を初期化
  2. 02規定の再帰ワークフローに従う
  3. 03状態と決定記録を管理
  4. 04ルーティングによるサブエージェント委譲
  5. 05ロックと実行成果物を管理
  6. 06専用サブスキルとスクリプトを利用

活用シーン

  1. 01リポジトリに recursive-mode を初期導入
  2. 02要件ワークフローを実行または再開
  3. 03委譲作業の設定ルートを解決

MCP 対応

recursive-training MCP スクリプトが記載されていますが、MCP サーバーやクライアントのインターフェースについては説明されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/try-works/recursive-mode --skill recursive-mode

インストール後、Claude Code で/recursive-modeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
agents-block.md
artifact-template.md
local-first-web-app-checklist.md
references/bootstrap/
RECURSIVE.md
scripts/
check-reusable-repo-hygiene.ps1
check-reusable-repo-hygiene.py
install-recursive-mode.ps1
install-recursive-mode.py
install-recursive-mode.sh
lint-recursive-run.ps1
lint-recursive-run.py
recursive_phase_rules.py
recursive_router_cli_lib.py
recursive_router_lib.py
recursive-closeout.ps1
recursive-closeout.py
recursive-init.ps1
recursive-init.py
recursive-lock.ps1
recursive-lock.py
recursive-review-bundle.ps1
recursive-review-bundle.py
recursive-router-cli-configure.ps1
recursive-router-cli-configure.py
recursive-router-cli-init.ps1
recursive-router-cli-init.py
recursive-router-cli-invoke.ps1
recursive-router-cli-invoke.py
recursive-router-cli-probe.ps1

詳細

recursive-mode

目的

このスキルは、/.recursive/RECURSIVE.md で定義されているリポジトリのワークフローを実行するために使用します。

このファイルは、このスキルのインストール可能なエントリーポイントです。正規のワークフロー仕様ではありません。 フェーズの順序、監査ループのルール、ロックのルール、追補、後期フェーズの記録、状態/決定事項の更新、メモリの保守については、/.recursive/RECURSIVE.md に従ってください。

ブートストラップ

recursive-mode の作業を始める前に、リポジトリのスキャフォールドが存在することを確認してください。

  • /.recursive/RECURSIVE.md
  • /.recursive/STATE.md
  • /.recursive/DECISIONS.md
  • /.recursive/memory/MEMORY.md
  • /.recursive/memory/skills/SKILLS.md
  • /.recursive/memory/{domains,patterns,incidents,episodes,archive}/
  • /.recursive/memory/skills/{availability,usage,issues,patterns}/
  • /.recursive/run/
  • /.codex/AGENTS.md プライマリ Codex ブリッジドキュメント
  • /.agent/PLANS.md ブリッジドキュメント
  • リポジトリですでに使用されている場合は、任意のミラー AGENTS.md ドキュメント

これらのいずれかが存在しない、または古くなっている場合、エージェントは処理を続ける前にリポジトリを自動的にブートストラップしてください。環境でサポートされている Python ランタイムまたはシェルランタイムが利用できない場合を除き、ユーザーに手動でブートストラップを実行するよう求めないでください。PowerShell は任意であり、必須ではありません。

推奨されるブートストラップコマンド:

python "<SKILL_DIR>/scripts/install-recursive-mode.py" --repo-root .
python3 "<SKILL_DIR>/scripts/install-recursive-mode.py" --repo-root .
bash "<SKILL_DIR>/scripts/install-recursive-mode.sh" --repo-root .
powershell -ExecutionPolicy Bypass -File "<SKILL_DIR>/scripts/install-recursive-mode.ps1" -RepoRoot .
pwsh -NoProfile -File "<SKILL_DIR>/scripts/install-recursive-mode.ps1" -RepoRoot .

重要な境界:

  • npx skills add ... は、エージェントのディレクトリにスキルパッケージをインストールします。
  • その後、対象リポジトリのスキャフォールドは、recursive-mode を初めて使用するとき、または接続されたセッション開始フックを介して自動的に作成してください。
  • Python と Bash の経路は第一級の選択肢であり、PowerShell を使わずに macOS と Linux で動作する必要があります。
  • 手動のブートストラップコマンドは代替手段であり、通常の推奨 UX ではありません。

読み込み順序

  1. /.recursive/RECURSIVE.md を読みます。
  2. 存在する場合は、プライマリ Codex ブリッジとして /.codex/AGENTS.md を読みます。
  3. リポジトリで使用されている場合は、ほかの AGENTS.md のコピーを、ミラーされたブリッジガイダンスとしてのみ読みます。
  4. 存在する場合は、プライマリ Codex plans ブリッジとして /.agent/PLANS.md を読みます。
  5. /.recursive/STATE.md を読みます。
  6. /.recursive/DECISIONS.md を読みます。
  7. /.recursive/memory/MEMORY.md を読みます。
  8. /.recursive/memory/ 以下から、関連するメモリドキュメントのみを読み込みます。

ブリッジドキュメントが /.recursive/RECURSIVE.md と矛盾する場合は、/.recursive/RECURSIVE.md に従ってください。

運用上の構成

  • 正規の実行ルート:/.recursive/run/<run-id>/
  • 正規のワークフロー仕様:/.recursive/RECURSIVE.md
  • 正規の状態:/.recursive/STATE.md
  • 正規の決定事項台帳:/.recursive/DECISIONS.md
  • 正規のメモリルーター:/.recursive/memory/MEMORY.md

トリガーの例

  • 要件「」を実装する
  • .recursive/run/<run-id>/ に対して Recursive Phase 2 を実行する
  • 手動 QA の後、要件「」を再開する
  • .recursive/run/<run-id>/ のロックを検証する

ユーティリティスクリプト

  • scripts/install-recursive-mode.py
  • scripts/install-recursive-mode.ps1
  • scripts/install-recursive-mode.sh
  • scripts/recursive-init.py
  • scripts/recursive-init.ps1
  • scripts/recursive-status.py
  • scripts/recursive-status.ps1
  • scripts/lint-recursive-run.py
  • scripts/lint-recursive-run.ps1
  • scripts/recursive-review-bundle.py
  • scripts/recursive-review-bundle.ps1
  • scripts/recursive-closeout.py
  • scripts/recursive-closeout.ps1
  • scripts/recursive-router-init.py
  • scripts/recursive-router-init.ps1
  • scripts/recursive-router-probe.py
  • scripts/recursive-router-probe.ps1
  • scripts/recursive-router-configure.py
  • scripts/recursive-router-configure.ps1
  • scripts/recursive-router-invoke.py
  • scripts/recursive-router-invoke.ps1
  • scripts/recursive-router-resolve.py
  • scripts/recursive-router-resolve.ps1
  • scripts/recursive-router-validate.py
  • scripts/recursive-router-validate.ps1
  • scripts/recursive-subagent-action.py
  • scripts/recursive-subagent-action.ps1
  • scripts/recursive-lock.py
  • scripts/recursive-lock.ps1
  • scripts/verify-locks.py
  • scripts/verify-locks.ps1
  • scripts/check-reusable-repo-hygiene.py
  • scripts/check-reusable-repo-hygiene.ps1
  • .recursive/scripts/recursive-training-grpo.py
  • .recursive/scripts/recursive-training-grpo.ps1
  • .recursive/scripts/recursive-training-phase8-trigger.py
  • .recursive/scripts/recursive-training-phase8-trigger.ps1
  • .recursive/scripts/recursive-training-extract.py
  • .recursive/scripts/recursive-training-extract.ps1
  • .recursive/scripts/recursive-training-sync.py
  • .recursive/scripts/recursive-training-sync.ps1
  • .recursive/scripts/recursive-training-loader.py
  • .recursive/scripts/recursive-training-loader.ps1
  • .recursive/scripts/recursive-training-mcp.py
  • .recursive/scripts/recursive-training-mcp.ps1

サブスキル

  • ../recursive-spec/SKILL.md
  • ../recursive-worktree/SKILL.md
  • ../recursive-debugging/SKILL.md
  • ../recursive-tdd/SKILL.md
  • ../recursive-review-bundle/SKILL.md
  • ../recursive-router/SKILL.md
  • ../recursive-subagent/SKILL.md
  • ../recursive-training/SKILL.md — 完了した実行から、永続的に活用できる経験的知識を抽出します

各専門分野ではこれらのサブスキルを使用します。ただし、全体的なワークフローの契約については、引き続き /.recursive/RECURSIVE.md を唯一の信頼できる情報源としてください。

正規のルーティング CLI 設定は、次の場所にあります。

  • /.recursive/config/recursive-router.json
  • /.recursive/config/recursive-router-discovered.json

ルーター対応の委任実行

このスキルまたは再帰的なサブスキルが、委任監査、レビュー、範囲を限定した実装、その他のルーティングされたサブエージェント作業のために、別のモデルまたは外部 CLI を呼び出そうとしている場合は、CLI/モデルを選ぶ直前に、これらのルーティングファイルをディスクから再読み込みしてください。

リポジトリのポリシーですでにルートまたはフォールバックの動作が定義されている場合は、ルーティングされた委任においてプロバイダー名やモデル名をハードコードしないでください。

ルーティングされた委任が対象となる場合は、独自のモデル選択ロジックよりも、../recursive-router/SKILL.md と、標準の recursive-router-resolve および recursive-router-invoke スクリプトを優先してください。

ルーティングされた委任が明示的に要求されている場合、または選択したロールに対する recursive-router-resolve の結果が external-cli の場合、実効ルートが fallback-local、local-only、blocked、ask-user のいずれかであり、その結果が記録されていない限り、ローカルでの作業や自己監査でその委任枠を満たさないでください。コントローラーは、実際のファイル、差分、再帰的な成果物に照らして確認したうえで、ルーティングされた出力を却下できます。ただし、未検証のローカル作業は、設定済みの実装担当、テスト担当、レビュアー、監査担当、プランナーの代わりにはなりません。

ルーティングされた呼び出しが success: false を返した場合、ゼロ以外の終了コードで終了した場合、または範囲が限定されたロールの担当箇所に修正すべき問題があると報告した場合は、監査・修正・再試行のループを実行してください。失敗した試行を証跡として保持し、修正すべき内容をルーティングされたサブエージェントに正確に伝え、修正後に同じルートを再実行し、受け入れ前に新しい出力をローカルで検証してください。ゼロ以外の終了コードとなったルーティング実行を根拠に、委任ロールやフェーズゲートを完了扱いにしないでください。

隔離された作業ツリーからディスパッチする前に、その作業ツリー内にルーティングポリシーと最新のディスカバリーインベントリが存在することを確認してください。ディスカバリーインベントリは追跡対象外であることが多いため、新たに作成した作業ツリーには /.recursive/config/recursive-router.json があっても、/.recursive/config/recursive-router-discovered.json がない場合があります。ルートを解決または実行する前に、作業ツリー内でディスカバリーを更新するか、コントローラー/ソースリポジトリから最新のインベントリをコピーし、フェーズ成果物またはアクション記録にパスと結果を記録してください。

オプションのアドオン

  • recursive-benchmark は、デフォルトの再帰モード用パッケージの対象外のままにします。
  • ユーザーが再帰モードのベンチマークを明示的に依頼した場合に限りインストールしてください。できれば find-skills を使用するか、専用のベンチマーク用アドオンパッケージまたはリポジトリソースを追加してください。 監査対象フェーズでは、インストール済みのワークフローで draft -> audit -> repair -> re-audit -> pass -> lock が必須です。Coverage/Approval が合格するには、その前に Audit: PASS が必要です。 ## Worktree Diff Audit はフェーズ単位で扱います。Phase 2 は計画の完全性と、想定される製品/worktree のパスを担当し、Phase 3-4 は実際の製品/worktree の差分を担当し、Phase 6 は /.recursive/DECISIONS.md を担当し、Phase 7 は /.recursive/STATE.md を担当し、Phase 8 は /.recursive/memory/** を担当します。 新しい実行では Workflow version: recursive-mode-audit-v2 を使用してください。このバージョンでは、Phase 1 に ## Source Requirement Inventory、Phase 2 に ## Requirement Mapping、## Plan Drift Check、計画段階の ## Requirement Completion Status が必要です。 Phase 3 では、TDD Mode: strict|pragmatic を宣言してください。Strict モードでは、具体的な RED と GREEN の証拠パスが必要です。Pragmatic モードでは、明示的な例外理由と、それを補う証拠が必要です。 Phase 5 では、QA Execution Mode: human|agent-operated|hybrid を宣言してください。エージェント運用の QA で人間の承認を偽装してはならず、人間またはハイブリッドの QA で承認を省略してはなりません。 レビューを委任する場合は、Phase 3.5 に正規の Review Bundle Path が記録されるよう、.recursive/scripts/recursive-review-bundle.py または .recursive/scripts/recursive-review-bundle.ps1 を優先してください。 意味のあるサブエージェントの作業がフェーズに寄与する場合は、その作業を /.recursive/run/<run-id>/subagents/ に記録し、受け入れる前に、アクション記録を実際のファイル、実際の差分、実際の recursive アーティファクトと照合して検証してください。レビュー/監査を委任する場合は、変更可能なドラフトの受領記録ではなく、安定したレビュー済みアーティファクトを Current Artifact として優先してください。 監査対象フェーズでは、Subagent Capability Probe、Delegation Decision Basis、## Subagent Contribution Verification、## Requirement Completion Status を記録する必要があります。 サブエージェントが利用可能で、コンテキストバンドルが完全な場合、監査/レビューの委任をデフォルトとします。それでもコントローラーが Audit Execution Mode: self-audit を使用する場合は、具体的な Delegation Override Reason を記録してください。 ## Requirement Completion Status では、選択したステータスに応じて、より厳密な要件処理フィールドである Changed Files、Implementation Evidence、Verification Evidence、Deferred By、Scope Decision、Blocking Evidence、Addendum を使用してください。 具体的な Changed Files がない限り、implemented または verified としてはなりません。個別の検証証拠がない限り、verified としてはなりません。 追補は、効力を持つ正式な入力として扱ってください。関連する追補がある場合は Inputs に記載し、## Effective Inputs Re-read で読み直し、## Earlier Phase Reconciliation で整合を確認してください。 レビュー用バンドルには、関連する追補を自動的に含めてください。また、記述する Phase 3.5 のレビューでは、上流のアーティファクト、追補、変更ファイル、またはコード参照について、バンドルを根拠とした引用をレビュー本文に含めてください。 差分の基準となる唯一の情報源は 00-worktree.md です。ベースラインの種類/参照先、比較参照先、正規化済みのベースライン/比較対象、正規化済みの差分コマンドを記録してください。後から別の基準を独断で使用してはなりません。 実行を通じて、スキルの利用可否、適合性、委任レビューの品質、またはスキル発見の結果についてリポジトリにとって永続的に役立つ知見が得られた場合、Phase 8 で /.recursive/memory/skills/ のスキルメモリを更新してください。 Phase 8 では、得られた知見を永続メモリに反映する前に、実行中に利用したスキルも記録してください。 実行で委任レビュー、レビュー用バンドル、またはスモークハーネスの移植性に関する作業を計画している場合、計画または監査の前に /.recursive/memory/skills/SKILLS.md と関連するスキルメモリの断片を読み込んでください。 すでに利用可能なものにない専門機能が必要な場合は、find-skills スキルがあればそれを優先してください。なければ Skills CLI を直接使用し(npx skills find、npx skills add、npx skills check、npx skills update)、スキルの使用が関連する場合は結果を記録してください。 差分監査では、リポジトリが意図的に追跡している場合を除き、__pycache__/、*.pyc、.pytest_cache/、.mypy_cache/、.ruff_cache/ などの偶発的なランタイム生成物は無視します。 Phase 6、Phase 7、Phase 8 の受領記録は、長いセクションを繰り返すのではなく、最終的な制御プレーン文書を参照する簡潔な差分記録として扱ってください。 Status、LockedAt、LockHash を手作業で編集する代わりに、通常のロック手順として .recursive/scripts/recursive-lock.py または .recursive/scripts/recursive-lock.ps1 を使用してください。 recursive-lock はフェーズゲートの単調性を強制します。実行ディレクトリに存在する先行フェーズがすべて LOCKED でない場合、ロックを拒否します。ロック済みのアーティファクトを再び開いて DRAFT に戻す(これにより下流の受領記録も無効化されます)には、--reopen フラグを使用してください。 Windows では、subst やマップされたドライブのエイリアスではなく、実際の worktree パスから Node/Vite/Vitest コマンドを実行してください。 ブラウザー内で完結するアプリを評価または構築する場合は、インポート/永続化/QA における一般的なエッジケースについて、references/local-first-web-app-checklist.md を参照してください。 改善対象のリポジトリ自体が再利用可能なスキル/ワークフローのリポジトリである場合、意図的なフィクスチャを除き、現在のセッションの実行フォルダー、証拠ログ、レビュー用バンドル、サブエージェントのアクション記録、または一時パスへの参照をコミットしてはなりません。リポジトリがクリーンであると判断する前に、scripts/check-reusable-repo-hygiene.py または scripts/check-reusable-repo-hygiene.ps1 を使用してください。

コメント