skill-tester-yashu

v2026.09.24

对指定 Skill 进行真实运行测试(正常场景),输出测试报告。激活条件:用户消息必须包含以下关键词之一--`skill真实测试`、`跑一下这个skill`、`测试这个skill`、`真实测试skill`、`skill功能测试`。

GitHub
安装命令
npx skhub add steelan9199/skill-tester-yashu
Markdown
SKILL.md

Skill Tester - Skill 真实测试器

功能概述

对任意 Skill 进行真实运行测试,按"正常"单阶段执行(阶段0预检 + 阶段1正常场景)。

每完成一个阶段立即输出一份可见报告,避免用户长时间等待无产出。

环境说明

变量含义
$SKILL_DIR本 skill(skill-tester)所在目录
$TARGET_SKILL_DIR用户指定的被测试 skill 目录
  • Shell 类型:PowerShell 5(命令分隔符统一使用 ;,禁止使用 && 或 &)
  • 静态结构检查脚本:$SKILL_DIR/scripts/check.js
  • 报告输出目录:$TARGET_SKILL_DIR
  • 详细流程参考 测试执行指南
  • 报告格式参考 报告模板

全局前置条件

前置条件说明
Node.js>=18.20.8,用于运行 $SKILL_DIR/scripts/check.js
目标 Skill$TARGET_SKILL_DIR/SKILL.md 必须存在且可读

全脚本索引清单

脚本功能
$SKILL_DIR/scripts/check.js校验目标 skill 结构与 frontmatter 合法性(功能清单由主 AI 在阶段 0 自行分析)

跨功能公共规则

规则说明
全量覆盖必须为阶段0识别出的每一个功能生成并执行测试场景,任何功能不得跳过(无适用场景需在报告中标注原因)
分阶段交付每阶段结束后必须立即输出报告,禁止连续执行多个阶段而不向用户汇报
严格串行同一阶段内的所有场景必须逐个执行,禁止并发
真实执行子 agent 必须真实调用目标 skill 的工具/API/脚本,禁止模拟
凭证失效即熔断预检或执行中出现凭证失效,立即终止依赖该凭证的后续场景
脱敏显示报告中的 token、secret 等敏感字段仅保留前后各 4 个字符
产出物对比仅阶段1(正常场景),对每个功能采集"预期输出"与"实际输出"并做匹配判定,详见产出物对比规则

触发映射:用户说 -> AI 做

用户输入触发词AI 执行动作
"skill真实测试" / "跑一下这个skill"启动分阶段测试:先静态检查与凭证预检,再执行正常场景并输出第一阶段报告

文档索引

文档内容
检查脚本说明check.js 参数、输出结构与功能解析
依赖检测指南外部依赖识别、索要话术、凭证预检
测试执行指南分阶段执行、子 agent 协议、熔断机制
评判标准指南契约验证与通用维度评分
报告模板各阶段报告格式与模板变量

分阶段测试工作流程

阶段名称执行内容输出报告
阶段0预检确认目标目录、运行静态检查、检测外部依赖、索要缺失凭证、预检凭证有效性预检摘要(直接输出,不写入文件)
阶段1正常场景为每个功能生成并执行 NORMAL 场景$TARGET_SKILL_DIR/{skill-name}-test-report-normal.md

核心原则:测试是真实运行,不是静态分析。但用户可见的产出必须分阶段交付,禁止长时间无输出。

功能识别规则(全量覆盖)

阶段0 必须从目标 skill 的 SKILL.md 中提取完整的可测试功能列表,作为后续测试的基准。

识别优先级

AI 从文档内容自主推断  >  全脚本索引清单(表格)  >  触发映射表(表格)

识别步骤

  1. AI 自主分析:完整阅读 SKILL.md 全文,从功能概述、使用方式、脚本文档索引等所有章节中提取可测试的功能点
  2. 表格补漏:对照「全脚本索引清单」表和「触发映射」表,检查是否有未被步骤 1 覆盖的脚本/触发词,补充到功能列表
  3. 去重合并:将步骤 1 和步骤 2 的结果去重合并,形成最终功能列表
  4. 标注来源:每个功能标注识别来源(AI 分析 / 脚本清单 / 触发映射),便于报告追溯
  5. 提取预期输出:为每个功能确定"预期输出"--优先从目标 SKILL.md 中提取 skill 明确声明的产出(标注"SKILL.md声明");若 SKILL.md 未明确声明,由 AI 基于功能描述推断应有的产出(标注"AI推断")。预期输出用于阶段1报告中与实际输出做对比

输出要求

预检摘要中必须列出完整的功能列表,格式:

功能列表:
  1. 功能名称A - 来源: AI分析, 脚本清单 - 对应脚本: xx.js - 预期输出: {产出描述}(来源: SKILL.md声明/AI推断)
  2. 功能名称B - 来源: 触发映射 - 对应脚本: yy.js - 预期输出: {产出描述}(来源: SKILL.md声明/AI推断)
  ...

产出物对比规则

仅适用于阶段1(正常场景)。对每个功能的产出物进行"预期输出 vs 实际输出"对比,让用户一眼看到 skill 的真实产出效果。

预期输出

优先级来源标注
1目标 SKILL.md 明确声明(SKILL.md声明)
2AI 基于功能描述推断(AI推断)
  • 预期输出在阶段0功能识别时一并提取
  • 始终标注来源,帮助用户判断不一致时是 skill 问题还是 AI 推断偏差

实际输出记录方式

产出类型记录方式
文本类直接记录文本内容
链接类记录完整 URL(不下载)
文件类记录本地绝对路径(不复制)
结构化数据记录 JSON 或关键字段

匹配判定

判定条件
一致实际输出的类型、核心内容与预期吻合
部分一致方向一致但存在偏差(格式略不同、部分字段缺失)
不一致明显不符(预期返回数据但返回错误、预期生成文件但未生成)

从宽判定:只有明显不符才标"不一致",模糊地带标"部分一致"。判定须附简要说明。

详细判定标准参考 评判标准指南 第四节"产出物匹配判定"。

阶段0:预检

  1. 确认 $TARGET_SKILL_DIR 存在且包含 SKILL.md
  2. 读取 检查脚本说明
  3. 运行 cd "$SKILL_DIR/scripts"; node check.js "$TARGET_SKILL_DIR"
  4. 识别功能列表:完整阅读目标 skill 的 SKILL.md,按照「功能识别规则」提取所有可测试功能,输出功能列表
  5. 扫描目标 skill,识别外部依赖并一次性向用户索要缺失凭证
  6. 使用目标 skill 内置凭证脚本预检凭证有效性
  7. 输出预检摘要(结构检查结果、完整功能列表、依赖状态、凭证状态)

预检摘要输出后,立即进入阶段1。

阶段1:正常场景测试

  1. 硬性规则:基于阶段0的功能列表,必须为每一个功能生成至少 1 个 NORMAL 场景,禁止遗漏任何功能
  2. 每个场景必须携带阶段0提取的"预期输出"信息
  3. 严格串行执行所有 NORMAL 场景
  4. 每个场景执行完毕后进行凭证失效熔断检查
  5. 采集每个场景的实际产出物(文本/链接/路径),与预期输出对比并给出匹配判定(一致/部分一致/不一致)
  6. 汇总结果并生成第一阶段报告(报告中须包含每个功能的"产出物对比"区块)
  7. 告知用户报告路径,测试结束

结束话术:

第一阶段「正常场景」测试已完成,报告已保存至:{report-path}
测试结束。

全局错误处理

场景处理方式
$TARGET_SKILL_DIR 不存在提示用户路径无效,要求重新输入
$TARGET_SKILL_DIR 无 SKILL.md提示该目录不是有效的 skill,终止测试
$SKILL_DIR/scripts/check.js 不存在提示 skill-tester 自身安装不完整,请重新安装
check.js 执行失败(非零退出码)检查 Node.js 是否可用,报告错误
check.js 返回内容不是合法 JSON输出原始 stderr 到报告,标注脚本异常
AI 阶段0未识别到任何功能在阶段1报告中标注"无可测试功能",终止测试
用户拒绝提供必需凭证依赖该凭证的场景标记为"跳过(缺凭证)",其余场景正常测试
凭证预检:所有必需凭证均失效直接终止测试,生成预检报告,标注"因基础凭证失效,测试终止"
凭证预检:部分凭证失效失效凭证相关的场景标记"跳过(凭证失效)",有效凭证覆盖的场景正常测试
执行中凭证失效(熔断触发)当前场景若已完成执行标记为"失败(凭证失效)",若尚未执行标记为"跳过(凭证失效)";后续依赖该凭证的场景标记"跳过(凭证失效)",已执行场景证据保留,生成报告
子 agent 执行超时或无响应标记该场景为"失败(执行异常)",记录已采集的部分证据,继续下一个场景
子 agent 返回内容无法解析将原始返回作为证据保留,判定为"失败(输出不可解析)"
检测到授权保护信号立即终止测试,记录触发输出到报告,标注"因授权保护,测试终止"

使用示例

示例1:完整测试

用户:测试 feishu-docx 这个 skill
AI:
  1. 阶段0:预检通过,功能列表 [上传Markdown, 下载Markdown, 解析链接, 获取token]
  2. 阶段1:执行 4 个 NORMAL 场景 -> 生成 feishu-docx-test-report-normal.md
     -> 测试结束
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

Sep 24, 2026

分类

未分类

许可证

未指定

源路径

skills/skill-tester-yashu

默认分支

main

最新提交

03b646a

Tree SHA

e79e9ee