ops-doctor について
ops-doctorはopsプラグインを診断するClaude Code向けスキルで、検出したエラーや警告への対処をエージェントに依頼できます。check-onlyでは修復に進まず、結果のみを表示します。
主な機能
- 01プラグインのヘルス診断
- 02エラーと警告のJSON出力
- 03チェックのみのレポート
- 04エージェントによる問題修正
- 05修復後の再検証
活用シーン
- 01プラグイン設定と状態の確認
- 02マニフェストやレジストリの問題調査
- 03追加診断による修復結果の検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill ops-doctorインストール後、Claude Code で/ops-doctorを入力して読み込まれたか確認します。
詳細
実行時コンテキスト
診断を行う前に、以下を読み込んでください。
- 設定:
cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json— 設定されているすべてのチャネルとサービスを確認します - デーモンの健全性:
cat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json— 主な診断入力です - シークレット:シークレットの解決チェーンが機能することを確認します:Doppler MCP → 環境変数 → Doppler CLI → パスワードマネージャー
OPS ► ドクター
CLI/API リファレンス
ops-doctor bin スクリプト
| コマンド | 用途 | 出力 |
|---|---|---|
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor | 完全な健全性診断を実行 | errors、warnings、tools、env_vars、registry を含む JSON |
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null || echo '{"errors":["diagnostic_script_failed"]}' | フォールバック付きで実行 | JSON またはエラーセンチネル |
診断で読み取る主要ファイル
| ファイル | 目的 |
|---|---|
${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json | 主なデーモン健全性入力 |
${CLAUDE_PLUGIN_DATA_DIR}/preferences.json | 設定されているチャネルとサービス |
${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json | プラグインマニフェストの検証 |
${CLAUDE_PLUGIN_ROOT}/scripts/registry.json | プロジェクトレジストリの検証 |
フェーズ 1 — 診断を実行する
診断スクリプトを実行して、健全性レポート全体を取得します。
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null || echo '{"errors":["diagnostic_script_failed"],"warnings":[]}'
JSON 出力を解析し、概要を表示します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OPS ► DOCTOR — [timestamp]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Plugin: [version] at [plugin_root]
Skills: [count] defined
Agents: [count] defined
Bin scripts:[count] available
ERRORS [count]
[list each error with description]
WARNINGS [count]
[list each warning with description]
TOOLS
[table of CLI tool availability]
ENV VARS
[table of env var status]
Registry: [status] ([project_count] projects)
Preferences:[status]
Cache: [versions list]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Agent Teams のサポート
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 が設定されている場合、独立した修正カテゴリが複数特定されたとき(例:マニフェストの問題 + 権限の問題 + レジストリの問題)は、Agent Teams を使用してください。これにより、次のことが可能になります。
- 修正エージェントが互いに干渉することなく、異なる問題カテゴリに並行して取り組めます
- 「まずマニフェストのエラーを修正してから、権限を修正する」のように優先順位を付けられます
- エージェントがコンテキストを共有するため、マニフェストの修正をレジストリの修復に活用できます
チームのセットアップ(フラグが有効で、問題カテゴリが複数ある場合のみ):
TeamCreate("doctor-fixers")
Agent(team_name="doctor-fixers", name="fix-manifest", subagent_type="ops:doctor-agent", ...)
Agent(team_name="doctor-fixers", name="fix-permissions", subagent_type="ops:doctor-agent", ...)
Agent(team_name="doctor-fixers", name="fix-registry", subagent_type="ops:doctor-agent", ...)
フラグが設定されていない場合、または問題カテゴリが 1 つだけの場合は、単一の doctor-agent サブエージェントを使用してください。
フェーズ 2 — 判断
$ARGUMENTS に --check-only が含まれている場合:ここで停止し、結果のみを表示します。
エラーまたは警告がある場合:
次を表示します:"問題が [N] 件見つかりました。自動修正のため doctor agent を起動します..."
次に、doctor agent(または Agent Team — 上記を参照)を起動します。
Agent({
subagent_type: "ops:doctor-agent",
prompt: "Fix the following ops plugin issues.\n\nDIAGNOSTIC_JSON: [paste full JSON]\nPLUGIN_ROOT: ${CLAUDE_PLUGIN_ROOT}\nCACHE_DIR: ~/.claude/plugins/cache/ops-marketplace/ops\n\nFix all errors and warnings. Re-run diagnostics after to verify.",
description: "Fix ops plugin issues"
})
エラーも警告もない場合:
次を表示します:"すべてのチェックに合格しました。プラグインは正常です。"
フェーズ 3 — 修正後の検証
エージェントの処理が完了したら、診断を再実行します。
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null
更新された結果を表示します。エラーが残っている場合は、手動での修正手順とともにユーザーに報告します。
ネイティブツールの使用
WebSearch — 既知の問題を検索
診断でエラーが見つかった場合は、WebSearch を使用して、その問題が既知の Claude Code プラグインのバグ、MCP サーバーの問題、または設定の問題かどうかを確認します。関連する GitHub の issue やドキュメントへのリンクを含めてください。
WebFetch — MCP の健全性チェック
切断されているように見える MCP サーバーについては、WebFetch を使用して基盤となる API を直接テストします(例:簡単なクエリを使用して https://api.linear.app/graphql を呼び出す)。これにより、「MCP の不具合」と「API の停止」を区別できます。