mcpField
E
env-doctor

env-doctor

github.com/venhdev開発115 回インストール1 日前に更新
リポジトリ

env-doctor について

env-doctorは、プロジェクトの実行環境を確認し、安全な範囲で修復するスキルです。`.agents/environment.md`を仕様とし、システム全体の変更や本番シークレットへの接触を避け、準備状態や阻害要因を報告します。

主な機能

  1. 01マニフェストに基づく環境確認
  2. 02ランタイムとサービスのプローブ
  3. 03プロジェクト内に限定した修復
  4. 04合成テストシークレットの使用
  5. 05人間とランナー向けの報告形式

活用シーン

  1. 01作業前に指定ツールとサービスを確認
  2. 02プロジェクトサービスの起動と依存関係の同期
  3. 03テストデータストア設定の検証
  4. 04環境の阻害要因を安全に報告

インストール

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

$npx skills add https://github.com/venhdev/skills --skill env-doctor

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

詳細

env-doctor — 実行環境の診断と修復

運用上の不変条件

  • 冪等なローカル境界:修復はプロジェクトのスコープ内の操作(宣言済み依存関係の同期、ローカルサービスの起動、テスト用データストアのマイグレーション、合成テスト用シークレット)に厳密に限定します。システム全体の変更(sudo、brew)、ホストの PATH の改変、リモートからのシークレット取得は禁止します。ポートの競合、デーモンの不足、破壊的な操作がある場合は UNRESOLVED で停止します。
  • シークレットを一切露出しない:本番のシークレットファイル(.env.example を除く .env*)を調査またはコピーしません。.env.test または環境スタブに決定論的なモックを注入します。
  • マニフェストを唯一の信頼できる情報源とする:権威ある仕様として .agents/environment.md を読みます。省略可能なセクション(純粋なライブラリ向けのサービス、外部データストア)は、記載がない場合に PASS とします。
  • 呼び出し元に応じた出力:人間に呼び出された場合は、正規出力契約の全体を出力します。自律型ランナーに呼び出された場合は、1行のマイクロサマリートークン(READY または UNRESOLVED: <blocker>)のみを出力します。

ドメイン評価基準

1. 寸法監査とプロービングの規律

宣言されたマニフェストと、ホストのランタイムおよび実行ラッパー(pnpm、cargo、uv)を相互確認します。宣言されたサービスのレディネスプローブ(ソケット、HTTP /healthz、データベースへの ping)を指数バックオフ(最大 15s)で実行します。プロセスの状態(Up)をレディネスとみなすことは禁止します。テスト用データストアのマイグレーション、フィクスチャ、合成 .env.test スタブを検証します。

正規出力契約

# Environment Health Report: <Scope> · <READY | STAGED | UNRESOLVED>

Basis: .agents/environment.md

| Dimension | Declared / Target | Active / Detected | State |
| :--- | :--- | :--- | :--- |
| **Toolchain** | <Target runtime version> | <Active version / wrapper> | <PASS | FAIL> |
| **Services** | <Declared services or N/A> | <Probe outcome or Standalone>| <PASS | FAIL> |
| **Datastore** | <Target test datastore> | <Migration & seed status> | <PASS | FAIL> |
| **Test Stubs** | <Test env / secrets> | <Stubs presence (.env.test)> | <PASS | FAIL> |

*(omit if clean)* ## Applied Remediation
- **[<Auto | Staged>] <Action>**: <Command and outcome or pending approval>

*(omit if READY)* Gap: <Root cause blocker and required human action.>

自律型マイクロトークン契約:

READY | runtime: <version> | services: <healthy|standalone> | fixtures: verified

(失敗時は UNRESOLVED: <single-sentence blocker> を出力します)。

ルーティング
  • 環境が READY の場合、タスクの分解に進みます →(/split-tasks 経由)。
  • 環境が READY の場合、コードの実装に進みます →(/forge 経由)。
  • 環境が READY の場合、根本原因の診断に進みます →(/diagnose 経由)。
  • サービスアーキテクチャが未定義で設計上の判断が必要な場合 →(/architect-decision 経由)。

実行プロトコル

  1. .agents/environment.md を読み、宣言されたホストツール、ランタイム、サービス、フィクスチャをプローブします。すべて合格した場合は、そこで処理を打ち切って READY とします。
  2. 安全な自動修復(宣言済みサービスの起動、依存関係の同期、テスト用データストアのマイグレーション/フィクスチャの実行)を行います。ヘルスを再度プローブし、ブロッカーがなければ READY を報告し、ブロッカーがあればそのターンを UNRESOLVED で終了します。

コメント