agent-dx-cli-scale について
agent-dx-cli-scaleは、CLIのエージェント対応度を評価する採点フレームワークです。CLIの設計者や評価者向けに、7つの観点を採点し、合計点から対応度を判定します。
主な機能
- 017つの評価観点を採点
- 02機械可読な出力を評価
- 03入力検証と安全策を確認
- 04コンテキストウィンドウ制御を測定
- 05エージェント向け知識の同梱を確認
- 06複数のエージェント接続面を記録
活用シーン
- 01CLIのエージェント対応度を評価
- 02出力や入力処理の課題を特定
- 03CLIの安全策を比較
- 04エージェント向けCLIの改善を計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jpoehnelt/ skills --skill agent-dx-cli-scaleインストール後、Claude Code で/agent-dx-cli-scaleを入力して読み込まれたか確認します。
詳細
エージェント DX CLI スケール
このスキルを使用すると、あらゆる CLI をエージェントファースト設計の原則に照らして評価できます。各軸を 0~3 で採点し、合計点を 0~21 の範囲で算出してください。
人間向け DX では、見つけやすさと柔軟性を重視します。 エージェント向け DX では、予測可能性と多層防御を重視します。 — AI エージェントのために CLI を書き直す必要がある理由
評価軸
1. 機械可読な出力
エージェントは、ヒューリスティックを使わずに CLI の出力を解析できますか?
| スコア | 基準 |
|---|---|
| 0 | 人間向けの出力のみ(表、カラーコード、文章)。構造化形式は利用できません。 |
| 1 | --output json などの機能はありますが、不完全、またはコマンド間で一貫していません。 |
| 2 | すべてのコマンドで一貫した JSON 出力が得られます。エラーも構造化 JSON を返します。 |
| 3 | ページネーションされた結果を NDJSON でストリーミングできます。非 TTY(パイプ接続)環境では、構造化出力がデフォルトです。 |
2. 生のペイロード入力
エージェントは、専用フラグへの変換を介さず、API のペイロード全体を送信できますか?
| スコア | 基準 |
|---|---|
| 0 | 専用フラグのみです。構造化された入力を渡す方法はありません。 |
| 1 | 一部のコマンドでは --json または標準入力の JSON を受け付けますが、ほとんどのコマンドではフラグが必要です。 |
| 2 | すべての変更系コマンドが、基盤となる API スキーマに直接対応する生の JSON ペイロードを受け付けます。 |
| 3 | 生のペイロードは、利便性を高めるフラグと並ぶ第一級の入力方法です。エージェントは、変換による情報損失なしに API スキーマをドキュメントとして利用できます。 |
3. スキーマの調査
事前に用意されたドキュメントがなくても、エージェントは CLI が実行時に受け付ける内容を確認できますか?
| スコア | 基準 |
|---|---|
| 0 | --help のテキストのみです。機械可読なスキーマはありません。 |
| 1 | --help --json または一部の機能に対する describe コマンドがありますが、不完全です。 |
| 2 | すべてのコマンドについて、パラメーター、型、必須フィールドを含む完全なスキーマを JSON で確認できます。 |
| 3 | 検出ドキュメントなどから取得した、実行時に解決される最新のスキーマを提供し、常に現在の API バージョンを反映します。スコープ、列挙型、ネストされた型も含みます。 |
4. コンテキストウィンドウの管理
CLI は、コンテキストウィンドウを保護するために、エージェントがレスポンスのサイズを制御できるようにしていますか?
| スコア | 基準 |
|---|---|
| 0 | フィールドの制限やページネーションの方法がなく、API のレスポンス全体を返します。 |
| 1 | 一部のコマンドで --fields またはフィールドマスクをサポートしています。 |
| 2 | すべての読み取りコマンドでフィールドマスクを使用できます。--page-all または同等の機能でページネーションできます。 |
| 3 | ストリーミングページネーション(ページごとの NDJSON)に対応しています。コンテキスト/スキルファイルで、フィールドマスクの使い方を明示的に案内しています。CLI はエージェントのトークンの無駄遣いを積極的に防ぎます。 |
5. 入力の堅牢化
CLI は、エージェントが間違える特有のパターン(タイプミスではなく、幻覚)から防御していますか?
| スコア | 基準 |
|---|---|
| 0 | 基本的な型チェック以外に入力検証はありません。 |
| 1 | 一部の入力を検証しますが、エージェント特有の幻覚パターン(パストラバーサル、埋め込みクエリパラメーター、二重エンコーディング)には対応していません。 |
| 2 | リソース ID 内の制御文字、パストラバーサル(../)、パーセントエンコードされたセグメント(%2e)、埋め込みクエリパラメーター(?、#)を拒否します。 |
| 3 | 包括的な堅牢化を実施しています。上記のすべてに加え、出力パスを CWD にサンドボックス化し、HTTP レイヤーでパーセントエンコーディングを行い、明示的なセキュリティ方針を示します——「エージェントは信頼できるオペレーターではありません。」 |
6. 安全策
エージェントは実行前に検証でき、レスポンスはプロンプトインジェクションに対してサニタイズされていますか?
| スコア | 基準 |
|---|---|
| 0 | ドライランモードがありません。レスポンスのサニタイズもありません。 |
| 1 | 一部の変更を伴うコマンドで --dry-run を使用できます。 |
| 2 | すべての変更を伴うコマンドで --dry-run を使用できます。エージェントは副作用を起こさずにリクエストを検証できます。 |
| 3 | ドライランに加え、API データに埋め込まれたプロンプトインジェクションを防ぐため、レスポンスのサニタイズ(Model Armor など)を行います。リクエストからレスポンスまでの全ループが防御されています。 |
7. エージェント向けナレッジのパッケージ化
CLI は、エージェントが会話開始時に利用できる形式でナレッジを提供していますか?
| スコア | 基準 |
|---|---|
| 0 | --help とドキュメントサイトのみです。エージェント専用のコンテキストファイルはありません。 |
| 1 | 基本的な使い方を説明する CONTEXT.md または AGENTS.md があります。 |
| 2 | コマンドごと、または API サーフェスごとのワークフローと不変条件を網羅した、構造化されたスキルファイル(YAML フロントマター + Markdown)があります。 |
| 3 | エージェント固有のガードレール(「常に --dry-run を使う」、「常に --fields を使う」)を定めた包括的なスキルライブラリがあります。スキルはバージョン管理され、見つけやすく、OpenClaw のような標準に準拠しています。 |
合計スコアの解釈
| 範囲 | 評価 | 説明 |
|---|---|---|
| 0–5 | 人間向け | 人間向けに構築されています。エージェントは解析に苦労し、入力を幻覚し、安全策も不足します。 |
| 6–10 | エージェント対応 | エージェントは利用できますが、トークンを無駄にし、回避できるミスを犯し、それを補うために大規模なプロンプトエンジニアリングが必要です。 |
| 11–15 | エージェント対応済み | エージェントをしっかりサポートしています。構造化された入出力、入力検証、ある程度のイントロスペクションを備えています。いくつかの課題が残っています。 |
| 16–21 | エージェント最優先 | エージェント向けに特化して構築されています。完全なスキーマイントロスペクション、包括的な入力強化、安全策、パッケージ化されたエージェント向けナレッジを備えています。 |
ボーナス:複数サーフェスへの対応状況
採点対象ではありませんが、同じバイナリから CLI が複数のエージェントサーフェスを提供しているかを記録してください。
- MCP(stdio JSON-RPC) — 型付きのツール呼び出し。シェルエスケープは不要です
- 拡張機能 / プラグインのインストール — エージェントは CLI をネイティブ機能として扱います
- ヘッドレス認証 — トークン/認証情報に環境変数を使用し、ブラウザーへのリダイレクトは不要です
コメント
Markdown 対応