skill-grader は何をしますか?
エージェントスキルをプロダクション品質のルーブリック(3つのハードゲート + 6次元加重スコアリング)に基づいて評価します。証拠に基づくLLM判定レポートを生成します。
概要
skill-grader は、AIエージェントスキルの品質を自動的に評価するためのCLIツールです。このツールは、以下の3つのハードゲートと6つの評価次元を通じて、スキルがプロダクション環境で機能するための最低基準を満たしているかどうかをチェックします。
3つのハードゲート(必須チェック)
- スキル定義の存在:
SKILL.mdまたはskill.yamlファイルが存在するか。 - 実行可能コマンド: スキルが定義する主要コマンドが実際に実行可能か。
- 依存関係の解決: スキルが必要とする外部依存関係(パッケージ、APIキーなど)が適切に定義されているか。
6次元加重スコアリング
各次元は0~10点で評価され、重み付けされた合計スコアが算出されます。
| 次元 | 重み | 評価基準 |
|---|---|---|
| 明確性 | 20% | 説明、使用方法、引数が明確に文書化されているか |
| 保守性 | 20% | コードが整理され、コメントが適切で、命名規則が一貫しているか |
| 安全性 | 15% | 入力バリデーション、エラーハンドリング、機密情報の扱いが適切か |
| 効率性 | 15% | 処理速度、リソース使用量、API呼び出しの最適化がされているか |
| 拡張性 | 15% | 機能追加や設定変更が容易か、モジュール設計がされているか |
| ドキュメント品質 | 15% | README、コード内コメント、使用例が充実しているか |
使用方法
# デフォルト設定でスキルを評価
npx skill-grader evaluate ./path/to/skill
# カスタム設定ファイルを使用
npx skill-grader evaluate ./path/to/skill --config ./custom-config.yaml
# JSON形式で結果を出力
npx skill-grader evaluate ./path/to/skill --output json
設定ファイル例 (skill-grader.yaml)
# 評価設定
hard_gates:
require_skill_md: true
require_executable: true
require_dependencies: true
dimensions:
clarity:
weight: 0.20
min_score: 5
maintainability:
weight: 0.20
min_score: 5
safety:
weight: 0.15
min_score: 6
efficiency:
weight: 0.15
min_score: 4
extensibility:
weight: 0.15
min_score: 4
documentation:
weight: 0.15
min_score: 5
# 合格基準(100点満点)
pass_threshold: 70
レポート例
評価が完了すると、以下のような詳細レポートが生成されます。
評価対象: ./my-awesome-skill
日時: 2024-01-15T10:30:00Z
ハードゲート結果:
✔ スキル定義の存在: SKILL.md が見つかりました
✔ 実行可能コマンド: `my-command --help` が正常に実行されました
✘ 依存関係の解決: 必要な環境変数 `API_KEY` が定義されていません
6次元スコア:
明確性: 8/10 (重み: 20%) → 16.0点
保守性: 7/10 (重み: 20%) → 14.0点
安全性: 5/10 (重み: 15%) → 7.5点
効率性: 6/10 (重み: 15%) → 9.0点
拡張性: 7/10 (重み: 15%) → 10.5点
ドキュメント品質: 6/10 (重み: 15%) → 9.0点
合計スコア: 66.0 / 100(不合格 - 合格基準: 70)
詳細な証拠:
- 明確性: README.md に使用方法が明確に記載されていますが、引数の説明が不足しています。
- 安全性: エラーハンドリングは部分的に実装されていますが、すべてのエッジケースをカバーしていません。
対応プラットフォーム
- Claude Code
- Cursor
- Codex CLI
- その他AIエージェントツール(カスタム設定により対応可能)
インストール
npm install -g skill-grader
# またはnpx経由で直接実行
npx skill-grader --help
貢献方法
バグ報告や機能リクエストは、GitHub Issues からお願いします。プルリクエストも歓迎します。