evaluate-skilllisted
Install: claude install-skill chenwei791129/agent-skills
# Evaluate Skill
以相同案例重複執行「啟用 skill」與「未啟用 skill」兩組 Claude Code 配對實驗,再由獨立模型盲評,產生自包含 HTML report 與 machine-readable JSON sidecar。
## 模型用量與執行前確認
每個案例、每輪會呼叫 Claude Code 三次(with skill、without skill、judge)。總呼叫數為 `案例數 × rounds × 3`,可能產生顯著模型用量。執行前先向使用者確認 model、judge model 與 rounds,並告知總呼叫數;建議先用 1 case、1 round 驗證配置。
此 skill 設為 `disable-model-invocation: true`,只能由使用者明確呼叫,避免自動啟動昂貴實驗。
## 案例格式
案例檔為 JSON:
```json
{
"name": "example-suite",
"cases": [
{
"id": "case-1",
"prompt": "Complete the requested task.",
"rubric": "Score correctness, completeness, and adherence to the fixture requirements.",
"fixture": "fixtures/case-1"
}
]
}
```
`id`、`prompt`、`rubric` 必填且不得為空,`id` 不可重複。`fixture` 選填,路徑相對於案例 JSON;每組 arm/round 都會複製到獨立暫存 workspace,原始 fixture 不會被修改。可複製 `${CLAUDE_SKILL_DIR}/examples/cases.example.json` 作為起點。
### 會改變外部狀態的 CLI 案例
若受測 skill 會透過 CLI 執行 deploy、publish、send、upload、delete,或修改 repository、cloud、ticket、database 等外部狀態,一律使用 **describe-only** 案例,不得要求 agent 真正執行操作:
- `prompt` 必須要求 agent 只說明「會怎麼做」以及會建議哪些命令,並明示不得執行命令、不得使用 tools、不得修改檔案或外部狀態。
- `rubric` 必須將任何實際 tool use、workspace/external-state mutation,或聲稱已完成操作視為嚴重缺失。
- 使用 synthetic placeholders,不提供可直接操作真實資源的識別資訊或 credentials。
這項規則必須寫進每個相關 case;evaluator 不會根據關鍵字猜測案例風險。可參考 example suite 中的 `external-cli-procedure`。
## 執行
```bash
uv run ${CLAUDE_SKILL_DIR}/scripts/evaluate_skill.py \
--skill /path/to/skill \
--cases /path/to/cases.json \
--claude-bin cx \
--model claude-sonnet-5 \