Skill质量TRACE审查 Skill v1.1.0
功能说明
基于腾讯 SkillHub 官方 TRACE 评测体系,对 Skill 目录或 ZIP 包做自动化五维度审查:逐维度评分 + 加权总分 + S/A/B/C/D/F 评级 + 问题明细 + 按扣分点给出可直接照做的改法。v1.1 新增实测冲分套路(两个真实案例:88.2→94.2、93.2 首发直接过付费闸)。
TRACE五维度
- T Trust 可信任度:危险代码检测、硬编码密钥、权限声明、文件操作安全(
open(...,"w")覆盖写会扣分) - R Reliability 可靠性:异常处理、输入验证、错误提示、语法正确性(纯提示词 Skill 靠文档里的异常说明拿分)
- A Adaptability 适用性:trigger_keywords、适用场景、能力边界
- C Convention 规范性:SKILL.md 存在性、frontmatter 完整性、必需章节
- E Effectiveness 有效性:输出格式说明、使用示例、测试验证
实测冲分套路(v1.1 新增)
以下每条都有真实案例验证,按扣分维度对号入座:
| 维度 | 常见扣分点 | 改法(照做即提分) |
|---|---|---|
| C | frontmatter 缺字段 | 七字段全填:name / description / slug / displayName / version / summary / license |
| A | 没有 trigger_keywords | frontmatter 加 trigger_keywords 列表,≥15 个真实触发词(含英文变量名、故障码这类用户会原话说的词) |
| R | 纯提示词 Skill 报「未说明异常/边界」 | 正文加「## 异常与错误处理」章节,用表格列异常情况 × 处理方式(实测 88.2→94.2 就靠这一节) |
| T | 脚本里 open(...,"w") 覆盖写 |
改追加模式或独占创建;日志类一律追加 |
| E | 只有格式没有实例 | 补「## 示例输出(完整样例)」——从用户输入到完整输出全流程,不是片段 |
| C | SKILL.md 带 BOM | 保存为无 BOM UTF-8(解析器会报「首行需为 ---」) |
| C | 缺必需章节 | 至少含:功能说明 / 适用场景 / 不适用场景 / 使用方法 / 参数说明 / 权限与安全 |
| T | 权限与安全缺失 | 加「## 权限与安全」:收款方式、不索取凭据、数据用途限制、付费放弃处理 |
评级线(本工具与社区惯例):付费 Skill 建议 ≥90(S/A),免费 Skill 建议 ≥70。
适用场景
- Skill 发布前质量自查(尤其付费线 ≥90 的硬闸)
- 批量 Skill 质量评估(逐个跑或脚本循环)
- SkillHub 上架前预检,避免发布后被打回
- 对照冲分套路改造老 Skill
- 不适用于非 Skill 格式的普通代码审查、不做运行时/语义级测试
能力边界
- 静态规则检测,不运行 Skill 本体
- 不做 AI 语义判断(文案好坏它不管,只管结构完整)
- 评分基于规则匹配,临近阈值时建议人工复核
使用方法
python scripts/skill_trace_audit.py --skill <Skill目录或ZIP> [--report <输出路径>]
目录内必须含 SKILL.md;ZIP 会先解包到临时目录再审。
触发示例
- 用户:
审查一下这个 Skill→ 对指定目录跑五维度审查,报总分与问题明细 - 用户:
这个 Skill 能上架吗→ 审查后按 付费≥90/免费≥70 给出过/不过结论 - 用户:
帮我做 TRACE 评测→ 同上,并附冲分套路改法
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
--skill |
是 | Skill 目录路径或 ZIP 文件路径 |
--report |
否 | 报告输出路径(默认打印到标准输出) |
输出格式
Markdown 报告(五维度评分 + 问题明细 + 改进建议)+ JSON 报告;加权总分,S/A/B/C/D/F 六级评级。
示例输出(完整样例):
审查中: D:\pub\my-skill
============================================================
TRACE审查完成: my-skill
总分: 94.2/100 (S级)
问题数: 0
T: 100 (S)
R: 80 (A)
A: 100 (S)
C: 100 (S)
E: 91 (S)
报告: D:\reports\TRACE_my-skill_2026-09-27.md
============================================================
若 R 维度不足,会附带问题行,例如:
[R] 纯提示词Skill未说明异常/边界情况处理 → 按「冲分套路」表格加「## 异常与错误处理」章节即可。
异常处理
| 异常情况 | 处理方式 |
|---|---|
| 目录/ZIP 不存在 | 报错退出,退出码 1 |
SKILL.md 缺失或首行不是 --- |
C 维度直接扣分并在问题明细注明(含 BOM 导致的情况) |
| 单个文件读取失败 | 记录错误并继续审其余文件,不中断 |
| 不支持的文件类型 | 跳过 |
| Python 语法检查失败 | 该文件计入 R 维度问题,不中断整体审查 |
权限与安全
- 仅读取指定 Skill 目录内文件,不读取目录外任何路径
- 语法检查使用
python -m py_compile(本地执行,不联网) - 不发起网络请求,不收集、不上传用户数据