mcpField
S
skill-tester-ci

skill-tester-ci

github.com/pskoett测试与质量32753 次安装1 天前更新
代码仓库

关于 skill-tester-ci

skill-tester-ci 是用于验证仓库中 CI 技能的检查技能,运行规范校验、gh-aw 工作流编译及结构和权限检查。它只报告结果,不修改技能或执行真实工作流。

主要功能

  1. 01运行 Anthropic 规范校验
  2. 02编译 gh-aw 工作流示例
  3. 03检查工作流权限配置
  4. 04验证技能结构和命名
  5. 05检查跨工作流调用目标

适用场景

  1. 01新增或修改 CI 技能后进行检查
  2. 02升级 gh-aw 后验证工作流兼容性
  3. 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-aw CLI(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-awCI 技能应引用 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