health
Codex・Claude Code・エージェント指示・検証ロジック・AIメンテナビリティを対象に、予算を考慮したAgent Healthの監査を実行します。エージェントが指示を無視する、hooks/MCPが失敗する、バリデーションが欠如している、またはAIが生成したコードの保守性が低い場合にトリガーされ、問題を深刻度別にフラグ付けします。コードのデバッグやPRレビューには使用しません。
description の原文を見る
Runs a budget-aware Agent Health audit for Codex, Claude Code, agent instructions, verifier surfaces, and AI maintainability when agents ignore instructions, hooks/MCP fail, validation is missing, or AI-written code is hard to maintain. Flags issues by severity. Not for debugging code or reviewing PRs.
SKILL.md 本文
Health: エージェント設定とAIメンテナンス性
最初の行の前に 🥷 をインラインで付与してください(独立した段落ではなく)。
現在のプロジェクトのエージェント設定とAIコーディングメンテナンス性を以下のフレームワークに対して監査してください:
エージェント設定 → 命令サーフェス → ツール/ランタイム → 検証器 → メンテナンス性
違反を見つけてください。不整合なレイヤーを識別してください。プロジェクトの複雑さに合わせて調整してください。
出力言語: 以下の順序でチェック: (1) プロジェクトエージェント命令 (AGENTS.md をランタイム固有ファイルの前に); (2) グローバルエージェント命令; (3) ユーザーの最近の言語; (4) 英語。
予算方針: サマリー監査から開始してください。ユーザーが深い、完全、徹底的な、「深入」、「完整」、「彻底」、または「继续跑完」監査を要求した場合、ユーザーが明示的にAIコーディングコード腐化、Codex/Claude設定ドリフト、不明確なコンテキスト、検証の欠落、陳腐なパスを指す検証器出力、または「代码变烂」を言及した場合、現在のプロジェクト命令またはユーザーの記憶設定がデフォルトで深い健康チェックを実行すると言う場合、プロジェクトが複雑な場合、またはサマリーパスが局所的に解決できない重大な曖昧性を公開している場合に自動的にエスカレートしてください。それ以外の場合は、完全な会話抽出を読んだり、インスペクター副エージェントを起動したりしないでください。深い健康監査は重大なトークンクォータを消費する可能性があるため、エスカレートする前にユーザーに通知してください。
耐久的コンテキストプリフライト
ユーザーがメモリ、プレビュー、以前の決定、または事前の結論について言及する場合にのみ、メモリパスを提供する場合、または現在のプロジェクトが明らかな局所的なメモリサマリーを公開する場合に実行してください。マシン固有のメモリルートをハードコード化したり、生のトランスクリプトを読んだりしないでください。
この順序で耐久的なコンテキストを読んでください: ユーザー指定パス、現在のプロジェクトスコープ、グローバル設定。最初にタイトルをリストアップして、最大1-2個の関連サマリーを開いてください。クロスプロジェクトエントリは転送可能なパターンのみとして扱ってください。
メモリを使用する前にマップしてください: decision、preference、principle は監査期待値です; pattern と learning は繰り返される失敗のチェックです; fact は現在の状態に対して検証してから、それが結果になります。CLAUDE.md、インストール済みスキル、フック、MCP設定、コマンド出力、ライブプローブはメモリをオーバーライドします。
/health の場合は、動作に影響する耐久的なメモリ問題もフラグしてください: 過度に挿入されたサマリー、古いまたは矛盾するエントリ、欠落しているプロジェクトエントリポイント参照、またはパブリック命令にコピーされたプライベートパス。これらをコードレビュー結果ではなくコンテキスト結果として保持してください。
ステップ0: プロジェクトティアを評価
1つを選んでください。そのティアの要件のみを適用してください。
| ティア | シグナル | 期待値 |
|---|---|---|
| Simple | <500ファイル、1貢献者、CI無し | CLAUDE.mdのみ; 0-1スキル; フック任意 |
| Standard | 500-5Kファイル、小チームまたはCI | CLAUDE.md + 1-2ルール; 2-4スキル; 基本フック |
| Complex | >5Kファイル、複数貢献者、アクティブCI | 6層完全セットアップが必須 |
ステップ1: データ収集
最初にサマリーモードで収集スクリプトを実行してください。まだ解釈しないでください。
# 正規の場所からcollect-data.shを解決(パーソナルホームディレクトリパスなし)。
HEALTH_SCRIPT="${CLAUDE_SKILL_DIR:+$CLAUDE_SKILL_DIR/scripts/collect-data.sh}"
if [ ! -f "${HEALTH_SCRIPT:-}" ]; then
for candidate in \
"./skills/health/scripts/collect-data.sh" \
"$(npx skills path tw93/Waza 2>/dev/null)/skills/health/scripts/collect-data.sh"; do
[ -f "$candidate" ] && HEALTH_SCRIPT="$candidate" && break
done
fi
if [ ! -f "${HEALTH_SCRIPT:-}" ]; then
echo "health collect-data.sh not found; set CLAUDE_SKILL_DIR or reinstall: npx skills add tw93/Waza -a claude-code -g -y"
exit 1
fi
bash "$HEALTH_SCRIPT"
ツールが欠落している場合、セクションに (unavailable) と表示される場合があります:
jq欠落 → 会話セクション利用不可python3欠落 → MCP/フック/allowedTools セクション利用不可settings.local.json不在 → フック/MCP利用不可の可能性(グローバルのみセットアップでは正常)
(unavailable) を不十分なデータとして扱い、結果ではありません。これらの領域をフラグしないでください。
コレクターはランタイム固有と言語ゴム製のサーフェスの両方を含みます:
- Codex、Claude、プロジェクト命令ファイル用の
AGENT CONFIG SUMMARY/AGENT CONFIG DETAIL。 - プロジェクト形状、検証サーフェス、ホットスポット所有権、ラッパー、ドックリンク用の
AI MAINTAINABILITY SUMMARY/AI MAINTAINABILITY DETAIL。
ステップ1b: MCP ライブチェック
すべてのMCPサーバーをテスト: サーバーごとに1つの無害なツールを呼び出し。live=yes/no をエラー詳細と共に記録します。enabled: false を尊重(フラグしなくてスキップ)。APIキーの場合、環境変数が設定されている場合のみチェック (echo $VAR | head -c 5)。完全なキーは絶対に出力しないでください。
ステップ2: 分析
ティアを確認してください。その後、ルート:
- Simple: ローカルで分析。副エージェントなし。
- Standard: サマリー出力からローカルで分析します。デフォルトでは副エージェントを起動しないでください。ユーザーが深い/完全/徹底的な監査を求めている場合、またはローカル分析がセキュリティ/制御問題を分類できない場合は、深いモードにエスカレートして推定トークンコストを説明してください。
- Complex、記憶された深い設定、明示的な深い監査、または明示的なAIメンテナンス性監査:
bash "$HEALTH_SCRIPT" auto deepで収集を再実行してから、関連する副エージェントを並行して起動します。認証情報を[REDACTED]に削除します。- エージェント1 (コンテキスト + セキュリティ):
agents/inspector-context.mdを読む。CONVERSATION SIGNALSセクションを供給。 - エージェント2 (制御 + 動作):
agents/inspector-control.mdを読む。検出されたティアを供給。 - エージェント3 (AIメンテナンス性):
agents/inspector-maintainability.mdを読む。TIER METRICS、AI MAINTAINABILITY SUMMARYまたはAI MAINTAINABILITY DETAIL、およびスクリプトホットスポットリストのみを供給。このエージェントを起動するのは深い健康監査、複雑なプロジェクト、または明示的なコード腐化/AIメンテナンス性リクエストの場合のみです。
- エージェント1 (コンテキスト + セキュリティ):
- フォールバック: 副エージェントが失敗した場合は、そのレイヤーをローカルで分析して "(ローカルで分析)" と記載してください。
ステップ3: レポート
ヘルスレポート: {プロジェクト} ({ティア} ティア、{ファイル数} ファイル)
[PASS] チェックに合格 (テーブル、最大5行)
結果フォーマット
- [重大度] <症状> ({ファイル}:{行} 既知の場合)
なぜ: <1行の理由>
対応: <正確なコマンドまたは編集で修正>
対応: はコピー&ペースト可能である必要があります。「Xを調査」または「Yを検討」と書かないでください。修正方法が不明な場合は、診断コマンドに名前を付けてください。
[!] 重大 -- 今すぐ修正
ルール違反、危険なallowedTools、MCP オーバーヘッド >12.5%、セキュリティ結果、流出した認証情報。
例:
- [!]
settings.local.jsonがgitにコミット(MCPトークンを公開) なぜ: 流出したトークンは、インストール済みMCPサーバー経由でのリモートコード実行を可能にします 対応:git rm --cached .claude/settings.local.json && echo '.claude/settings.local.json' >> .gitignore
[~] 構造的 -- 間もなく修正
エージェント命令が間違ったレイヤーに、フック欠落、説明の過度なサイズ、検証器ギャップ。
Codex/Claude命令ドリフト。 まず AGENT CONFIG SUMMARY を使用してください。AGENTS.md とランタイム固有ファイルの両方が委譲なしで実質的なガイダンスを含む場合、Codex config.toml が現在のプロジェクトの信頼を欠く場合、プロジェクトエージェント命令が欠落している場合、またはランタイム固有命令が共有プロジェクト情報源の真実に矛盾する場合に、構造的な結果をレポートしてください。生の設定値は出力しないでください。シークレット、トークン、キー、パスワードは [REDACTED] としてのみ表示される必要があります。
プロジェクトルートからの簡単なチェック:
bash skills/health/scripts/check-agent-context.sh . summary
AIメンテナンス性ギャップ。 サマリーモードで AI MAINTAINABILITY SUMMARY を、深いモードで AI MAINTAINABILITY DETAIL を使用します。プロジェクトに実行可能な検証コマンドがない場合、非自明なリポジトリ用のエージェント命令サーフェスがない場合、または壊れたドックリファレンスがある場合は FAIL をレポートしてください。命令は存在するが、プロジェクトマップがない場合、検証ガイダンスがない場合、境界/非目標言語がない場合、TODO/HACKマーカーが集中している場合、または大規模なソースホットスポットが所有権/境界および検証ガイダンスを欠く場合は WARN をレポートしてください。欠落している docs/、specs/、.specify/、HANDOFF.md、CHANGELOG、問題テンプレート、PRテンプレートをプロジェクトの複雑さが引き継ぎに必須にしない限り情報として扱ってください。
ホットスポット所有権ギャップ。 深いモードで、HOTSPOT OWNERSHIP SURFACE を読んでください。最大のソースファイルがホットスポット閾値を超える場合、AGENTS.md / CLAUDE.md / 共有命令ファイルがホットスポットの所有者、安定した境界、検証コマンドに名前を付けない場合は、構造的な WARN をレポートしてください。文書化された大きなファイルをサイズだけでコード腐化として扱わないでください。いくつかのモジュールは意図的に大きいです。
安定した検証ラッパーの欠落。 リポジトリがCI、スクリプト、またはマニフェストを通じて複数の検証コマンドを公開しているが、Makefile に check、test、または verify ターゲットがない場合は、構造的な WARN をレポートしてください。これはAIメンテナンス性ギャップです。エージェントは複数の検証コマンドではなく、1つの安定したデフォルトエントリポイントが必要だからです。プロジェクトが壊れているからではありません。
プロジェクトルートからの簡単なチェック:
bash skills/health/scripts/check-maintainability.sh . summary
深い監査の場合:
bash skills/health/scripts/check-maintainability.sh . deep
対応は具体的で非侵襲的に: 最小限の有用な命令サーフェスを追加または修正、1つの実行可能な検証コマンドを追加、ホットスポット所有権とテストをドキュメント化、境界が既に明確な場合にのみ分割、または壊れたリファレンスを修復。スクリプト出力だけからの広範な書き換えを提案しないでください。
壊れたドックリファレンス。 AGENTS.md、CLAUDE.md、.claude/rules/*.md、およびすべての .claude/skills/*/SKILL.md で @<path>、~/.claude/rules/<name>.md、~/.claude/skills/<name>/、docs/<name>.md、または references/<name>.md のような形状のリファレンスをスキャンしてください。各マッチについて、ターゲットがディスク上に存在することを確認してください。ソースファイルと行を含む「参照されているが欠落している」ポインターをレポートしてください。
よくある容疑者:
- プロジェクトレベルのルールはグローバルルールファイルを参照しますが、作成されたことはありません(例:
~/.claude/rules/swift.md)。 CLAUDE.mdは@AGENTS.mdプレースホルダーを使用していますが、実際のAGENTS.mdは欠落しているか空です。- スキルボディは
references/<name>.mdを参照していますが、references/<name>-v2.mdのみが存在します。 - ルールファイルは削除されたスキルパスを参照しています。
プロジェクトルートからの簡単なチェック:
bash skills/health/scripts/check-doc-refs.sh .
チェッカーはプロジェクトルートから @... と docs/... を解決し、~ を拡張し、各 .claude/skills/<name>/SKILL.md ディレクトリから references/... を解決し、各行のすべてのリファレンスをチェックし、フェンスコード例をスキップし、ターゲットが欠落しているときに非ゼロで終了します。
欠落しているリファレンスを構造的な結果としてレポートしてください(重大ではなく)。ただし、欠落しているファイルがハード依存として指定されている場合(例: プロジェクトのリリーススキル用の release.md)を除きます。
壊れたMarkdownリファレンス。 深いモードで、check-maintainability.sh はリポジトリMarkdownリンクもスキャンします。これらが欠落しているローカルファイルを指している場合、特にエージェントが将来の作業中に従う可能性のある設計、セキュリティ、リリース、または引き継ぎドックの場合は、構造的な結果としてレポートしてください。
古い検証キャッシュ出力。 検証出力が削除された一時作業ツリーまたは存在しない /tmp / /private/tmp ファイルを指している場合、以下でキャプチャログを解析してください:
bash skills/health/scripts/check-verifier-output.sh . <log-file>
ユーザーによって提供されたまたは現在の監査中に生成された既存のコマンド出力に対してのみこのスクリプトを使用してください。このチェッカーをフィードするためだけにプロジェクトテストを実行しないでください。既知の対応には golangci-lint cache clean、go clean -cache -testcache、npm cache verify が含まれます; 未知のツールは診断再実行対応を取得します。
[-] インクリメンタル -- あると良い
古いアイテム、グローバル対ローカル配置、コンテキスト衛生、古いallowedToolsエントリ。
問題がない場合: すべての関連するチェックに合格しました。修正するものはありません。
非目標
- 確認なしで修正を自動適用しないでください。
- シンプルなプロジェクトに複雑なティアチェックを適用しないでください。
- 重い lint、型チェック、重複排除、またはアーキテクチャ書き換え代わりとして機能しないでください;
/healthはメンテナンス性ガードレールと具体的な次のアクションのみをレポートしてください。
落とし穴
| 何が起きたのか | ルール |
|---|---|
| ローカルオーバーライドを見落とした | 常に settings.local.json も読んでください; これは提出されたファイルをシャドウします |
| 副エージェントタイムアウトがMCP失敗として報告された | MCP失敗はデータ収集からではなく、ライブプローブから来ます |
| 結果を間違った言語で報告した | まずCLAUDE.md通信ルールを尊重してください |
| 意図的にノイズの多いフックを壊れていると書いた | フックを「壊れている」と呼ぶ前に尋ねてください |
| フックが発火したように見えず、実際には発火した -- 後のUI要素が上にレンダリングされた | フック発火順序はビジュアル順序ではありません。フック設定を再編集する前に: (a) --debug またはパイプ出力で確認、(b) diff ダイアログ、許可プロンプト、またはUI要素がレンダリングされて出力を画面外に押し出したかどうかを確認、(c) その後のみフック自体に疑いを持つ。 |
/health は最初の実行で過度なクォータを消費した | まずサマリーモードに留まってください。完全な会話抽出とインスペクター副エージェントは深い監査ツールであり、標準的なプロジェクトのデフォルトパスではありません。 |
| 欠落している仕様/ドックを失敗として扱った | 決定成果物はデフォルトでオプションです。欠落しているドックス/仕様をエスカレートするのは、ティア、アクティブな引き継ぎリスク、またはユーザーリクエストがそれらを必須にする場合のみです。 |
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
Source: https://github.com/tw93/waza / ライセンス: MIT
関連スキル
agent-browser
AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。
anyskill
AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。
engram
AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。
skyvern
AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。
pinchbench
PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。
openui
OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。