verification について
AIエージェントのコードを監査する開発者向けの、ローカル実行型オーケストレーションスキルです。セキュリティ、パターン、品質、言語別のチェックを行い、結果を検証レポートにまとめます。
主な機能
- 01セキュリティ、パターン、品質を検査
- 02言語別のコードチェックを実施
- 03言語とエージェントフレームワークを判定
- 04Kahunaがある場合は組織のコンテキストを反映
- 05検出結果をレポートに集約
活用シーン
- 01AIエージェントプロジェクトを総合検証
- 02エージェントコードのセキュリティを確認
- 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:コンテキストの特定
プロジェクトをスキャンして、以下を特定します。
-
主要な言語:
pyproject.toml、package.json、go.modを確認しますsrc/またはプロジェクトルートにあるファイルの拡張子を確認します
-
エージェントフレームワーク(あれば):
- インポートに
langgraphがある → LangGraph - インポートに
crewaiがある → CrewAI - インポートに
autogenがある → AutoGen - インポートに
langchainがある → LangChain - SDK を直接使用している → カスタムエージェント
- インポートに
-
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:レポートのエクスポート(任意)
レポートを提示した後、ユーザーに次のように尋ねます。
この検証レポートをファイルに保存しますか?
承認された場合:
-
存在しなければ、レポートディレクトリを作成します。
mkdir -p reports/verification -
現在の日付と時刻を使ってファイル名を生成します(プレースホルダーは使用しません)。
- 環境コンテキストから実際の現在のタイムスタンプを取得します
- 形式:
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 -
完全なレポートをそのファイルに保存します。
ティアの規律を守る
すべての検証手順を通して、ティアの規律を守ってください。
[PATTERN]チェック — 記載どおりに適用します。ルールが「X にフラグを立てる」と定めている場合は、X にフラグを立てます。判断は加えません。[HEURISTIC]チェック — 判断を加えて適用します。該当箇所には[H]を明記します。
報告書のすべての指摘に [P] または [H] を付け、確信度がわかるようにしてください。
注意事項
- プライバシーを最優先: コード分析はすべてローカルで行われます。外部サービスにデータが送信されることはありません。
- Kahuna は機能を拡張しますが、必須ではありません: このスキルは組み込みルールだけで単独で動作します。Kahuna を使うと、組織固有の知識を追加できます。
- 具体的に: 問題を報告する際は、ファイル名と行番号を含めてください。
- 「なぜ」を説明: 各ルールが重要な理由を、開発者が理解できるようにしてください。
- 既存の設定を尊重: プロジェクトで既に使用されている lint ルールや
.editorconfigなどを尊重してください。