skill-comply: 自動化遵循度衡量 是做什麼的?
衡量編碼代理是否確實遵循技能、規則或代理定義,方法如下:
- 從任何 .md 檔案自動產生預期的行為序列(規格)
- 自動產生提示嚴格程度逐漸降低的情境(支持性 → 中立 → 競爭性)
- 執行
claude -p並透過 stream-json 擷取工具呼叫軌跡 - 使用 LLM(而非正規表達式)對工具呼叫進行分類以比對規格步驟
- 以確定性方式檢查時序順序
- 產生內含規格、提示與時間軸的獨立報告
支援的目標
- 技能 (
skills/*/SKILL.md):工作流程技能,例如搜尋優先、TDD 指南 - 規則 (
rules/common/*.md):強制規則,例如 testing.md、security.md、git-workflow.md - 代理定義 (
agents/*.md):代理是否在預期時被叫用(內部工作流程驗證尚未支援)
啟用時機
- 使用者執行
/skill-comply <路徑> - 使用者詢問「這個規則真的有被遵循嗎?」
- 新增規則或技能後,用以驗證代理遵循度
- 定期執行以作為品質維護的一部分
使用方式
# 完整執行
uv run python -m scripts.run ~/.claude/rules/common/testing.md
# 試執行(無成本,僅產出規格與情境)
uv run python -m scripts.run --dry-run ~/.claude/skills/search-first/SKILL.md
# 自訂模型
uv run python -m scripts.run --gen-model haiku --model sonnet <路徑>
核心概念:提示獨立性
衡量一項技能或規則是否在提示未明確支援的情況下仍被遵循。
報告內容
報告為獨立格式,包含:
- 預期的行為序列(自動產生的規格)
- 情境提示(每個嚴格程度下的提問內容)
- 每個情境的遵循度分數
- 附有 LLM 分類標籤的工具呼叫時間軸
進階功能(選擇性)
對於熟悉 hook 的使用者,報告還會針對遵循度較低的步驟提供 hook 晉升建議。此為參考資訊——主要價值仍在於遵循度的可視化本身。