auto-test-skill
v1.0.2Skill 质量审查与测试优化技能:系统检查 SKILL.md、配置、脚本、参考资料和用户文档的发布质量。 通过多轮独立审查、问题分级、修复计划、轻量验证和质量门禁,帮助判断技能是否适合导入或发布。
name: auto-test-skill description: | Skill 质量审查与测试优化技能:系统检查 SKILL.md、配置、脚本、参考资料和用户文档的发布质量。 通过多轮独立审查、问题分级、修复计划、轻量验证和质量门禁,帮助判断技能是否适合导入或发布。 author: "Bensz Conan" license: "MIT" category: "debugging" tags: "技能测试, 质量审查, 批判性测试, QA" source: "https://github.com/huangwb8/skills/tree/main/auto-test-skill" allowed-tools: "glob, read_file, search_file_content, write_file, replace, ask_user_question, run_shell_command"
Auto Test Skill:技能质量审查与测试优化
适用场景
适用于以下任务:
- 测试某个 Skill 是否可靠
- 对 Skill 做批判性审查或 QA review
- 发现并修复技能说明、配置、脚本、参考资料中的系统性问题
- 为技能生成测试计划、问题清单、修复计划和验证报告
- 检查某个 Skill 是否适合发布到资源市场
不适用场景
- 用户只是想直接使用某个 Skill 完成业务任务
- 用户只问技能含义,不要求测试或审查
- 目标目录不是 Skill,且没有
SKILL.md或等价说明文件 - 用户要求执行不可信脚本、安装未知依赖或调用外部发布流程;这类操作必须单独审查和确认
核心原则
- 独立审查:每一轮都从当前文件状态重新判断,不依赖上一轮结论
- 证据驱动:每个问题必须指出文件位置、现象、影响、修复建议和验证方式
- 批判性优先:优先找架构、兼容性、安全、工具名、平台绑定、流程闭环等系统性问题
- 轻量验证:验证本轮改动,不为了“测试”制造大型流程或无意义文件
- 不强行导入:如果技能质量不足或绑定特定平台,明确建议跳过,而不是硬改
输入要求
必须确认:
| 参数 | 说明 |
|---|---|
skill_path |
目标技能目录,必须包含 SKILL.md |
review_rounds |
审查轮数,默认 1;用户指定时按用户要求执行 |
output_dir |
测试与报告输出目录,默认目标技能内的 tests/ 与 plans/ |
focus |
可选,指定关注点:安全、工具名、平台绑定、用户体验、脚本质量等 |
如果目标不明确,先询问用户要测试哪个 Skill。
工作流程
1. 建立审查范围
读取目标技能目录,确认哪些文件参与审查。
必须审查:
SKILL.md- 配置文件:
config.yaml、config.json、SKILL.yaml(如存在) scripts/(如存在)references/(如存在)README.md(如存在)
排除:
- 旧测试产物:
tests/、plans/ - 版本历史:
CHANGELOG.md,除非用户要求审查发布记录 - 依赖目录、构建产物、缓存目录
2. 进行 A 轮批判性审查
每轮独立产出一份问题清单和修复计划。
重点检查:
| 维度 | 检查点 |
|---|---|
| 格式 | frontmatter 是否完整,字段是否符合目标平台要求 |
| 触发 | description 是否清晰,是否会误触发或漏触发 |
| 工具 | 工具名是否存在、是否与当前平台工具一致 |
| 平台绑定 | 是否绑定特定客户端、私有路径、外部服务或固定工作流 |
| 安全 | 是否要求执行不可信代码、下载脚本、泄露凭证、破坏文件 |
| 流程 | 步骤是否闭环,是否有无法执行的跳跃或隐式依赖 |
| 复杂度 | 是否过度设计,是否把简单任务变成大型工程 |
| 用户体验 | 是否能让第一次使用的人理解输入、输出和失败处理 |
问题分级:
- P0:会导致技能不可用、安全风险、错误工具名、严重平台绑定、破坏用户文件
- P1:重要质量问题,如流程缺口、分类错误、标签不清、验证不足
- P2:表达、文档、示例或可读性改进
每个问题使用以下结构:
### P0-1:问题标题
- 位置:`文件:行号`
- 现象:...
- 影响:...
- 修复建议:...
- 验证方式:...
3. 生成修复计划
修复计划必须可执行,按优先级排序。
## 修复计划
### 必须修复(P0)
- [ ] ...
### 应该修复(P1)
- [ ] ...
### 可选优化(P2)
- [ ] ...
## 验证计划
- [ ] frontmatter 字段检查
- [ ] 工具名白名单检查
- [ ] 平台绑定风险词检查
- [ ] 安全命令和外部依赖检查
- [ ] README/说明可读性检查
4. 执行修复
按计划修改文件。修改时遵守:
- 先读文件再改文件
- 不引入新库或新外部服务
- 不保留已废弃字段、旧平台路径或注释墓碑
- 对脚本类技能,优先把高风险脚本用法改为只读审查或用户确认后执行
- 对资源市场技能,必须补齐
category、tags、source、license
5. 轻量验证
至少执行以下验证:
- 目标文件能被 Markdown 正常阅读,代码块没有破损嵌套
- frontmatter 字段完整且分类合法
- 风险词审计无真实命中:外部协议绑定、特定客户端绑定、私有路径、错误工具名
- 如果修改了脚本或命令示例,确认不存在破坏性默认行为
- 如仓库有官方校验命令,运行官方校验;没有则说明未运行原因
6. 输出报告
默认输出到目标技能目录:
plans/<timestamp>-skill-review.md:问题清单与修复计划tests/<timestamp>-skill-review.md:验证结果与证据
如果用户不希望写文件,也可以直接在对话中输出报告。
报告必须包含:
## 结论
- 建议:通过 / 修复后通过 / 跳过导入 / 不建议使用
- 风险等级:Low / Medium / High / Critical
- 主要原因:...
## 审查范围
## 问题清单
## 修复计划
## 已执行修复
## 验证证据
## 遗留问题
完成标准
只有同时满足以下条件,才能判定本轮完成:
- 所有 P0 已修复或明确判定无法修复并建议跳过
- P1 已修复或有清楚的不修复理由
- 验证报告包含真实证据,而不是口头声明
- 没有真实的平台绑定、错误工具名、外部协议依赖或危险默认行为
- 结论明确,能支持用户是否发布、导入或继续优化的决策
