mcpField
V
verification

verification

github.com/aurite-aiテスト・品質4455 回インストール2 週間前に更新
リポジトリ

verification について

AIエージェントのコードを監査する開発者向けの、ローカル実行型オーケストレーションスキルです。セキュリティ、パターン、品質、言語別のチェックを行い、結果を検証レポートにまとめます。

主な機能

  1. 01セキュリティ、パターン、品質を検査
  2. 02言語別のコードチェックを実施
  3. 03言語とエージェントフレームワークを判定
  4. 04Kahunaがある場合は組織のコンテキストを反映
  5. 05検出結果をレポートに集約

活用シーン

  1. 01AIエージェントプロジェクトを総合検証
  2. 02エージェントコードのセキュリティを確認
  3. 03エージェントのパターンと言語慣習を点検

インストール

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

$npx skills add https://github.com/aurite-ai/agent-verifier --skill verification

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

詳細

エージェント検証

目的

AI エージェントのコードを包括的に検証します。このオーケストレーターは、特化した検証スキルを実行し、その結果を統一されたレポートにまとめます。すべての分析はローカルで行われ、コードがマシンの外部に送信されることはありません。

使用するタイミング

ユーザーが次のように依頼したときに、このスキルを実行します。

  • 「エージェントを検証して」(主な呼び出し方法)
  • 「自分のエージェントを検証して」
  • 「エージェントを監査して」
  • 「完全に検証して」
  • 「自分のコードを検証して」(エージェントのパターンが検出された場合)
  • 「コンプライアンスを確認して」

利用可能な検証モード

コマンドスキル検証内容
「エージェントを検証して」このスキル全項目を検証(以下すべて)
「エージェントのセキュリティを検証して」verify-securityシークレット、依存関係、入力検証
「エージェントのパターンを検証して」verify-patternsループ、再試行、ツール、コンテキストサイズ
「エージェントの品質を検証して」verify-quality命名、構成、ドキュメント
「エージェントの言語を検証して」verify-language型ヒント、イディオム、言語のベストプラクティス

プロセス

ステップ 1:コンテキストの特定

プロジェクトをスキャンして、以下を特定します。

  1. 主要な言語:

    • pyproject.toml、package.json、go.mod を確認します
    • src/ またはプロジェクトルートにあるファイルの拡張子を確認します
  2. エージェントフレームワーク(あれば):

    • インポートに langgraph がある → LangGraph
    • インポートに crewai がある → CrewAI
    • インポートに autogen がある → AutoGen
    • インポートに langchain がある → LangChain
    • SDK を直接使用している → カスタムエージェント
  3. Kahuna との統合:

    • .kahuna/ ディレクトリが存在するか確認します
    • 存在する場合は、組織のルールを確認するために .kahuna/context-guide.md を読み込みます

検出したコンテキストをレポート用に記録します。

ステップ 2:セキュリティチェックの実行

verify-security スキルを読み込み、その手順を実行します。

以下を確認します。

  • ハードコードされたシークレットと API キー
  • 依存関係のバージョン固定
  • 入力検証のパターン
  • エラーメッセージからの情報漏えい
  • 安全なデフォルト設定

すべての検出結果を記録します。

ステップ 3:パターンチェックの実行

verify-patterns スキルを読み込み、その手順を実行します。

以下を確認します。

  • ループの安全性(終了条件)
  • 再試行回数の制限
  • ツールレジストリの一貫性
  • コンテキストサイズへの配慮
  • LangGraph のサイクル分析(該当する場合)

すべての検出結果を記録します。

ステップ 4:品質チェックの実行

verify-quality スキルを読み込み、その手順を実行します。

以下を確認します。

  • 命名規則
  • コード構成
  • マジックナンバー/文字列
  • ドキュメント
  • エラー処理のパターン

すべての検出結果を記録します。

ステップ 5:言語固有のチェックの実行

検出された言語に応じて、verify-language スキルを読み込み、その手順を実行します。

Python のチェック:

  • 公開関数の型ヒント
  • Docstring
  • Requirements のバージョン固定
  • Python のイディオム

TypeScript/JavaScript のチェック:

  • strict モードの有効化
  • any 型の不使用
  • async/await のエラー処理
  • Promise の処理

Go のチェック:

  • エラーの無視がないこと
  • コンテキストの伝播
  • パッケージ構成
  • Go のイディオム

すべての検出結果を記録します。

ステップ 6:レポートの統合

ステップ 2〜5 のすべての検出結果を、統一された検証レポートにまとめます。

レポート形式
# Agent Verification Report

**Project:** [project name or path]
**Date:** [current date]
**Mode:** [Kahuna-enhanced | Standalone]
**Language:** [Python | TypeScript | JavaScript | Go]
**Agent framework:** [LangGraph | CrewAI | AutoGen | LangChain | Custom | None]
**Files analyzed:** [count]

## Summary

✅ X checks passed | ⚠️ Y warnings | ❌ Z issues

### By Category
| Category | Pass | Warn | Issue |
|----------|------|------|-------|
| Security | X | X | X |
| Patterns | X | X | X |
| Quality | X | X | X |
| Language | X | X | X |

## Security

*(Summary from verify-security)*

- [x] No hardcoded secrets
- [x] Dependencies pinned
- [ ] ⚠️ [finding]
- [ ] ❌ [finding]

## Agent Patterns

*(Summary from verify-patterns — include only if agent detected)*

### Loop Safety
- [x] All loops have termination conditions
- [ ] ⚠️ Potential unbounded loop at `[file:line]`

### Retry Limits
- [x] All retry mechanisms have explicit limits
- [ ] ❌ Missing retry limit at `[file:line]`

### Tool Consistency
- [x] Tool registry found: X tools defined
- [ ] ❌ Hallucinated tool reference at `[file:line]`
- [ ] ⚠️ Undocumented tool: `[name]`

### Context Size
- [x] System prompt within limits (~X tokens)
- [ ] ⚠️ System prompt exceeds recommended size

## Quality

*(Summary from verify-quality)*

- [x] Naming conventions consistent
- [x] Code well-organized
- [ ] ⚠️ [finding]

## Language ([Python/TypeScript/Go])

*(Summary from verify-language)*

- [x] Type safety enforced
- [ ] ⚠️ [finding]
- [ ] ❌ [finding]

## Detailed Findings

> `[P]` = pattern-matched (structurally reliable) · `[H]` = heuristic (best-effort judgment)

### ✅ Passing
- `[P]` No hardcoded secrets or API keys
- `[P]` All retry decorators have stop conditions
- `[H]` Code organization follows best practices

### ⚠️ Warnings
- `[P|H]` [Check name]: [Description]
  - **Location:** [file:line]
  - **Category:** [Security | Patterns | Quality | Language]
  - **Suggestion:** [How to address]

### ❌ Issues
- `[P|H]` [Check name]: [Description]
  - **Location:** [file:line]
  - **Category:** [Security | Patterns | Quality | Language]
  - **Rule:** [Which rule this violates]
  - **Fix:** [Specific remediation steps]

## Recommendations

1. **[Highest priority]** - [Specific action]
2. **[Second priority]** - [Specific action]
3. [Additional improvements]

---

*Report generated by Agent Verifier v1.0.0*
ステップ 7:レポートのエクスポート(任意)

レポートを提示した後、ユーザーに次のように尋ねます。

この検証レポートをファイルに保存しますか?

承認された場合:

  1. 存在しなければ、レポートディレクトリを作成します。

    mkdir -p reports/verification
    
  2. 現在の日付と時刻を使ってファイル名を生成します(プレースホルダーは使用しません)。

    • 環境コンテキストから実際の現在のタイムスタンプを取得します
    • 形式:reports/verification/{date}_{time}.md
    • 日付形式:YYYY-MM-DD(例:2026-03-17)
    • 時刻形式:HH-MM-SS(例:午前 8:15:42 の場合は 08-15-42)

    重要: ゼロやプレースホルダーではなく、実際の現在時刻を使用してください。「Current Time」の情報がないか、システムコンテキストを確認してください。

    例: 現在時刻が 2026 年 3 月 17 日午前 1:05:30 PST の場合、ファイル名は次のようになります。 reports/verification/2026-03-17_01-05-30.md

  3. 完全なレポートをそのファイルに保存します。

ティアの規律を守る

すべての検証手順を通して、ティアの規律を守ってください。

  • [PATTERN] チェック — 記載どおりに適用します。ルールが「X にフラグを立てる」と定めている場合は、X にフラグを立てます。判断は加えません。
  • [HEURISTIC] チェック — 判断を加えて適用します。該当箇所には [H] を明記します。

報告書のすべての指摘に [P] または [H] を付け、確信度がわかるようにしてください。

注意事項

  • プライバシーを最優先: コード分析はすべてローカルで行われます。外部サービスにデータが送信されることはありません。
  • Kahuna は機能を拡張しますが、必須ではありません: このスキルは組み込みルールだけで単独で動作します。Kahuna を使うと、組織固有の知識を追加できます。
  • 具体的に: 問題を報告する際は、ファイル名と行番号を含めてください。
  • 「なぜ」を説明: 各ルールが重要な理由を、開発者が理解できるようにしてください。
  • 既存の設定を尊重: プロジェクトで既に使用されている lint ルールや .editorconfig などを尊重してください。

コメント