2026/9/5 16:56:21

技能目录自动化测试实战:3 道防线守住 skills4/skills 的技能质量

技能目录自动化测试实战:3 道防线守住 skills4/skills 的技能质量 技能目录自动化测试实战3 道防线守住 skills4/skills 的技能质量【免费下载链接】skillsSkills Catalog for Codex项目地址: https://gitcode.com/GitHub_Trending/skills4/skillsskills4/skills 是面向 Codex 的技能目录Skills Catalog for Codex把指令、脚本和资源打包成 AI 代理可直接调用的技能。这篇指南讲技能质量的自动化测试流程结构检查、依赖冒烟、输出回归三道防线一次说清。先说一个现实这个目录里没有集中的代码库每个技能就是一个文件夹。以 skills/.curated/pdf/ 为例SKILL.md写流程scripts/放脚本assets/、references/放资源。质量问题因此集中在文件夹本身依赖写没写全、引用文件在不在、输出达不达标。下面按三类最常见的上线前事故展开每类事故给一套对应的测试手段和落地做法。事故一换个环境就跑挂靠依赖冒烟测试兜底这类事故最隐蔽。本地能跑换台机器就报错原因往往是SKILL.md假设了某些工具已存在。pdf 技能就依赖 Poppler 的pdftoppm和 reportlab、pdfplumber 等 Python 包缺一个渲染环节就断。依赖冒烟测试的思路很简单在干净环境里把技能的关键命令真的跑一遍。干净容器用 Docker 起一个不带依赖的镜像模拟用户第一次装技能的场景。每技能一条冒烟用例不追求全覆盖只跑最短路径。pdf 技能就渲染一页、检查 PNG 是否生成。失败要可诊断技能缺依赖时应明确报出缺什么。pdf 技能的SKILL.md已写了这条约定——装不上就告诉用户缺哪个依赖冒烟测试可以把这条作为断言点。记录依赖版本每次冒烟通过记下关键工具的版本号回归时先比版本。落地节奏上冒烟不必每次都全量跑。技能改动提交时跑自己那一个目录级定时任务每周补一次全量。事故二引用文件悄悄缺失用结构检查脚本拦截技能文件夹的代码是文档加脚本最容易出的是引用烂掉SKILL.md里写的scripts/fetch_xxx.py被删了references/目录改名了新技能忘了放LICENSE.txt。这类问题不执行技能永远发现不了。结构检查适合写成几十行的脚本每次提交都跑成本极低必备文件清单每个技能目录必须有SKILL.md和LICENSE.txt这是本目录的既有约定.curated 和 .experimental 下都适用。frontmatter 可解析SKILL.md开头的 YAML 头部要能解析出name和description。description写不清楚代理根本不会选中这个技能等于技能不存在。引用完整性扫描SKILL.md里的相对路径逐个验证文件存在。脚本语法过一遍Python 用python -m py_compileshell 用bash -nNode 脚本用node --check语法错误提交时就拦住。事故三技能能跑但输出跑歪用基准样例回归验收 前三类防线都过了技能也可能跑歪流程走完了但 PDF 文字被裁掉一半、评论一条没改。这时需要输出验收做法是基准样例回归。fixture 随仓库走每类技能备一份最小输入放到统一的 tests/fixtures/ 下。pdf 技能备一个两页样例 PDF 就够。只断言关键点不对整个输出做全量 diff。断言页数、关键文本是否存在、表格列数这类可机判的指标。刷新基线要留痕故意改了技能行为时更新基准样例并在提交说明里写明改了什么。两次复发就固化手工修过的输出问题补成一条固定用例进回归集。三道防线接进 CI每次提交自动跑一遍手动执行三次不如让流水线替你跑。先在本地把目录拿下来git clone https://gitcode.com/GitHub_Trending/skills4/skillsCI 配置抓住四要点即可片段如下完整文件放.github/workflows/skills-check.ymlname: skills-check on: pull_request: schedule: - cron: 0 3 * * * jobs: check: runs-on: ubuntu-latest timeout-minutes: 20 steps: - uses: actions/checkoutv4 - run: bash scripts/check_structure.sh - run: bash scripts/check_syntax.sh - run: docker run --rm skill-smoke:latest触发策略PR 必跑定时任务兜底全量冒烟。超时与缓存每个 job 设timeout-minutes依赖安装走缓存别让流水线卡在装包上。失败即拦截结构检查和语法检查挂了合并直接挡住冒烟失败按团队约定处理可用 label 标记已知问题临时放行。结果可统计输出按技能维度聚合的失败计数方便后面看趋势。上线后的日常测试报告怎么读、失败怎么修报告阅读有个顺序问题。先看列表再看细节CI 汇总页告诉你哪个技能在哪个环节挂的再进对应步骤日志定位。两个习惯能省很多时间一次只修一个技能同一个 PR 别混修多个技能出问题好二分。回归清单常更新CI 汇总里把连续两次复发的失败单独列出来每周过一次清单该补用例的补该改技能的改。三道防线跑起来之后技能目录的质量就不再依赖我记得测过。结构检查拦住烂引用冒烟拦住依赖坑基准回归拦住输出漂移——每次提交都过一遍新技能合入前就已经是测过的状态。团队后续的规则调整按 contributing.md 的流程提 issue 讨论即可。【免费下载链接】skillsSkills Catalog for Codex项目地址: https://gitcode.com/GitHub_Trending/skills4/skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考