关于 skill-tester-ci
skill-tester-ci 是用于验证仓库中 CI 技能的检查技能,运行规范校验、gh-aw 工作流编译及结构和权限检查。它只报告结果,不修改技能或执行真实工作流。
主要功能
- 01运行 Anthropic 规范校验
- 02编译 gh-aw 工作流示例
- 03检查工作流权限配置
- 04验证技能结构和命名
- 05检查跨工作流调用目标
适用场景
- 01新增或修改 CI 技能后进行检查
- 02升级 gh-aw 后验证工作流兼容性
- 03提交插件审核前检查 CI 技能
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pskoett/ pskoett-ai-skills --skill skill-tester-ci安装后在 Claude Code 中输入/skill-tester-ci确认已加载。
附带文件scripts/run-tests.sh
详细介绍
Skill Tester CI
验证本仓库中的所有 CI 技能(*-ci)。运行规范验证、编译 gh-aw 工作流,并检查 CI 特定约定。
使用场景
- 添加或修改 CI 技能后
- 将
gh-aw升级到新版本后(API 变更可能导致工作流失效) - 提交 CI 技能变更前
- 将插件提交给 Anthropic 审核前
前置条件
- 已安装
gh-awCLI(gh extension install github/gh-aw) - 安装了
pyyaml的python3 .claude/skills/skill-creator/scripts/中有quick_validate.py
检查项
1. Anthropic 规范验证
对每个 CI 技能运行 quick_validate.py:
for d in skills/*-ci/; do
python3 .claude/skills/skill-creator/scripts/quick_validate.py "$d"
done
2. 工作流示例编译
从每个 CI 技能的 references/workflow-example.md 中提取工作流代码块,并使用 gh aw compile 编译:
# Extract markdown code blocks with frontmatter
# Copy to temp .github/workflows/
# Run: gh aw compile
通过标准: 编译错误为零。警告会报告,但不会导致失败。
3. 权限检查
严格模式下的 CI 工作流不得直接使用写入权限。请确认:
- 不使用
issues: write(改用safe-outputs: add-comment) - 不使用
pull-requests: write(改用safe-outputs: create-pull-request-review-comment) - 除非工作流会创建文件(
eval-creator创建模式),否则不使用contents: write - 已为声明的工具集设置所需的读取权限
4. 结构检查
| 检查项 | 规则 | 严重级别 |
|---|---|---|
存在 references/workflow-example.md | 所有 CI 技能都必须具备 | 错误 |
| 工作流示例包含 frontmatter 块 | 至少有一个带 --- 的 ```markdown 块 | 错误 |
| 名称与文件夹匹配 | Frontmatter 中的 name == 目录名 | 错误 |
| 描述提及 gh-aw | CI 技能应引用 gh-aw | 警告 |
| 存在对应的交互式技能 | foo-ci 应有对应的 foo 技能 | 警告 |
5. 跨工作流验证
对于使用 call-workflow 的工作流:
- 确认目标工作流存在,且其
on:部分包含workflow_call - 确认目标工作流的输入与调用方提供的输入相匹配
输出格式
## CI Skill Test Results
**Date:** YYYY-MM-DD
**gh-aw version:** vX.Y.Z
**Skills tested:** N
**Passed:** N
**Compile errors:** N
**Spec failures:** N
### Compilation Results
- [skill-name]: ✓ compiled (N KB) | ✗ error: [message]
### Spec Results
- [skill-name]: ✓ valid | ✗ [error]
### Permission Issues
- [skill-name]: [issue]
运行
手动调用:
/skill-tester-ci
或直接运行脚本:
bash skills/skill-tester-ci/scripts/run-tests.sh
此技能不执行的操作
- 不测试交互式技能(请使用
skill-tester) - 不会在真实仓库中执行工作流,只会编译工作流
- 不会修改技能,只会报告发现的问题
- 不测试工作流运行时行为——编译仅验证结构和权限
评论
支持 Markdown