skill-comply:自动化合规性测量 是做什么的?
测量编码智能体是否实际遵循技能、规则或智能体定义,方法如下:
- 从任意 .md 文件自动生成预期的行为序列(规范)
- 以递减的提示严格程度(支持性 → 中性 → 竞争性)自动生成场景
- 运行
claude -p并通过 stream-json 捕获工具调用轨迹 - 使用 LLM(而非正则表达式)将工具调用分类到规范步骤
- 确定性检查时间顺序
- 生成包含规范、提示和时间线的自包含报告
支持的目标
- 技能 (
skills/*/SKILL.md):工作流技能,如 search-first、TDD 指南 - 规则 (
rules/common/*.md):强制性规则,如 testing.md、security.md、git-workflow.md - 智能体定义 (
agents/*.md):检查智能体是否在预期时被调用(内部工作流验证尚不支持)
何时激活
- 用户运行
/skill-comply <path> - 用户询问“这条规则是否真的被遵循了?”
- 在添加新规则/技能后,验证智能体合规性
- 定期作为质量维护的一部分
用法
# 完整运行
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 <path>
关键概念:提示独立性
测量一条技能/规则是否在提示未明确支持时仍然被遵循。
报告内容
报告是自包含的,包括:
- 预期的行为序列(自动生成的规范)
- 场景提示(每个严格级别下提出的问题)
- 每个场景的合规得分
- 带有 LLM 分类标签的工具调用时间线
高级(可选)
对于熟悉钩子(hooks)的用户,报告还针对合规性较低的步骤包含钩子推广建议。这仅供参考——主要价值在于合规性的可视化本身。