用途
skill-test 用于验证 Claude Code 游戏工作室(CCGS)体系中的技能文件与智能体文件,检查其结构合规性与行为正确性。它不依赖外部组件,完全运行在既有的技能、钩子与模板架构内。
主要能力(四种模式)
- static:结构静态检查器,对每个技能执行 7 项合规检查,仅适用于技能。命令为
/skill-test static [name|all],令牌开销较低(约每技能 1k)。 - spec:行为验证器,评估技能或智能体测试规格中的断言。命令为
/skill-test spec [name],令牌开销中等(约每个 5k)。 - category:分类评分,依据类别专属指标检查技能或智能体。命令为
/skill-test category [name|all],令牌开销较低(约每个 2k)。 - audit:覆盖报告,列出技能、智能体规格及最近测试日期。命令为
/skill-test audit,令牌开销较低(总计约 3k)。
使用方式
参数解析
根据第一个参数确定模式:static [name] 对单个技能运行 7 项结构检查;static all 对所有技能运行;spec [name] 读取技能或智能体及其测试规格并评估断言;category [name] 运行类别专属评分;category all 对目录中所有带 category 的技能与智能体运行;audit(或无参数)读取目录并展示覆盖情况。无法识别的参数会输出用法并停止。
在 spec 或 category 模式前需先解析名称:在 CCGS Skill Testing Framework/catalog.yaml 中查找,skills: 下的条目对应技能文件,agents: 下的条目对应智能体文件。无目录条目时,使用两者中实际存在的文件;两者都不存在时报告并停止。static 仅检查 SKILL.md 结构,因此只适用于技能;若传入智能体名称,会提示改用 /skill-test spec [name]。
static 模式的 7 项检查
- 必需前置元数据字段:必须包含 name、description、argument-hint、user-invocable、allowed-tools;缺失任一即 FAIL,前置元数据无法解析也判 FAIL。
- 多阶段结构:需有至少 2 个编号阶段标题(如
## Phase N、## N.,或至少 2 个不同的##标题)。 - 结论关键词:需传达明确结果,接受门禁/评审结论(PASS、FAIL、CONCERNS、APPROVED、BLOCKED、COMPLETE、READY、COMPLIANT、NON-COMPLIANT)、推进/否决结论(PROCEED、PIVOT、KILL、GO、NO-GO)或严重性分级(CRITICAL、HIGH、MEDIUM、LOW)。若技能产出评估却无任何关键词则 FAIL;若产出的是工件或数值而非判断则 WARN。
- 协作协议语言:需包含写入前询问的表述(如 "May I write"、"before writing"、"approval" 或同段落内 "ask" 与 "write" 邻近)。缺失时 WARN;若 allowed-tools 含 Write 或 Edit 却无询问语言则 FAIL。
- 下一步交接:结尾需有推荐后续动作或路径。缺失时 WARN。
- fork 上下文复杂度:若前置元数据含
context: fork,应有至少 5 个阶段标题,否则 WARN。 - 参数提示合理性:argument-hint 不得为空;若正文提及多种模式,提示应反映它们。为空或模式不匹配时 WARN。
static 模式输出单技能报告或全量汇总表,单技能结论为 COMPLIANT、WARNINGS、NON-COMPLIANT 或 NOT ASSESSED 之一。全量模式需说明实际检查的分母(如 "[N] of [M] skills checked")。static 模式不写入任何文件。
spec 模式流程
- 定位文件:从 catalog.yaml 查找 spec 路径;缺失时给出对应提示。
- 完整读取技能(含 references/ 下所有文件)或智能体文件及测试规格。
- 评估断言:对静态断言逐条精确比对(字面值如 model 别名、前置元数据键、工具名须完全匹配,近似匹配判 FAIL);对测试用例读取 Fixture、Expected behavior 与 Assertion 复选框,逐条标记 PASS、PARTIAL、FAIL 或 NOT ASSESSED;对协议合规部分评估规格自带列表,并补充四项底线检查(写入前 "May I write"、请求批准前先呈现发现、结尾推荐下一步、未经批准不自动创建文件)。
- 生成报告:包含静态断言、各用例结论、协议合规与总体结论。用例结论取其断言中最差结果,总体结论按 FAIL、PARTIAL、NOT ASSESSED、PASS 顺序取最差。
- 询问是否写入结果文件并更新 catalog.yaml 的 last_spec 与 last_spec_result 字段。
category 模式流程
从 catalog.yaml 查找技能或智能体的 category 字段;文件不存在或未分配类别时给出提示。category all 会收集所有带 category 字段的技能与智能体逐一处理。
适用场景
适用于维护 CCGS 技能与智能体库的开发者,在新增或修改技能/智能体后检查结构合规性、验证行为规格、按类别评估质量,以及通过 audit 掌握整体测试覆盖情况。
限制
- static 模式仅适用于技能,不适用于智能体。
- spec 与 category 模式依赖 catalog.yaml 中的 spec 路径与 category 字段,缺失时无法继续。
- 评估为 Claude 推理式检查,非代码执行;依赖运行时行为或未定义 fixture 状态的断言无法评估,标记为 NOT ASSESSED。
- 具体价格、平台支持范围等资料暂未提供。