关于 simplify-and-harden-ci
simplify-and-harden-ci 是用于拉取请求的 CI 审查技能。它只检查变更文件,以结构化结果报告问题而不修改代码,并可按严重级别设置合并门禁。
主要功能
- 01仅审查拉取请求中的变更
- 02无代码修改的无头审查
- 03结构化审查结果
- 04按严重程度阻止合并
- 05可选的建议级别门禁
适用场景
- 01审查拉取请求中的变更文件
- 02阻止存在严重问题的变更合并
- 03发布问题供后续审查
- 04将重复出现的问题候选转交 self-improvement
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pskoett/ pskoett-ai-skills --skill simplify-and-harden-ci安装后在 Claude Code 中输入/simplify-and-harden-ci确认已加载。
附带文件references/workflow-example.md
详细介绍
简化并强化 CI
安装
gh skill install pskoett/pskoett-skills simplify-and-harden-ci
通过 Agent Skills CLI 进行备用安装:
npx skills add pskoett/pskoett-skills/skills/simplify-and-harden-ci
用途
在拉取请求中运行仅用于 CI 的「简化并强化」版本:
- CI 中不修改代码
- 仅审查已更改的文件
- 输出结构化发现
- 可根据严重性门槛选择是否阻止合并
交互式/本地编码会话请使用 simplify-and-harden。
上下文限制(重要)
CI Agent 不具备编写变更的编码 Agent 那样的最高实现上下文。请将 CI 发现视为结构化审查信号,而不是充分理解意图后进行的重写。
影响:
- 优先扫描、报告和合并门控
- 不要在 CI 中自动应用代码变更
- 将模糊不清的发现升级为交互式审查
先决条件
- 为仓库启用 GitHub Actions
- GitHub CLI 已完成身份验证(
gh auth status) - 本地已安装
gh-aw,用于编写/验证:
gh extension install github/gh-aw
- 在 GitHub Actions 作业中,使用以下命令安装 CLI:
- uses: github/gh-aw/actions/setup-cli@main
with:
version: v0.2.0-beta
CI 约定
CI 技能必须强制执行以下要求:
- 范围锁定:仅审查 PR 中已更改的文件
- 无头执行:报告发现,不应用补丁或重构
- 结构化输出:输出
simplify_and_harden摘要载荷 - 门控策略:
critical:存在严重级别的强化发现时,检查失败advisory(可选):配置为阻止的建议级发现会导致检查失败
编写工作流(gh-aw)
仅供示例的模板位于 references/workflow-example.md。
除非明确要启用自动化,否则请将其保留在 .github/workflows 之外。
准备启用时:
- 将
references/workflow-example.md中的模板块复制到.github/workflows/simplify-and-harden-ci.md。(.md扩展名是有意为之:gh-aw 工作流是 Markdown 文件,gh aw compile会将其编译成 GitHub Actions 实际运行的.lock.yml文件。这不是标准的手写 Actions YAML 工作流。) - 编译并验证工作流:
gh aw compile --validate --strict
- 触发并推送工作流变更:
gh aw run simplify-and-harden-ci --push
- 在 GitHub Actions 中检查状态/日志,并确认已发布 PR 反馈。
提示词模板(CI)
在 gh-aw 工作流中使用以下提示词正文:
Run Simplify & Harden in CI (headless mode) for this pull request.
Rules:
1) Review only files changed in this PR.
2) Do not modify repository files.
3) Before reporting findings, re-read all changed code with "fresh eyes" and actively look for obvious bugs, errors, confusing logic, brittle assumptions, naming issues, and missed hardening opportunities.
4) Simplify pass: detect dead code, naming clarity issues, control-flow complexity, unnecessary API surface, and over-abstraction.
5) Harden pass: detect input-validation gaps, injection vectors, auth/authz issues, secret exposure, data leaks, and concurrency risks.
6) Document pass: suggest non-obvious rationale comments as findings (do not edit files).
7) Emit structured YAML under key `simplify_and_harden`, including:
- simplify findings
- harden findings (critical/advisory split)
- summary counts
- `review_followup_required`
- learning loop candidates for self-improvement ingestion
8) If blocking policy is enabled and matching findings exist, mark the run as failed.
建议输出
- PR 评论,包含简洁的发现并按严重性排序
- 检查运行摘要,说明通过/失败原因
- 供下游自动化使用的机器可读 YAML 构件
与自我改进集成
通过 self-improvement 工作流,将 simplify_and_harden.learning_loop.candidates 转发到
.learnings/LEARNINGS.md,以便将反复出现的模式提升为持久的 Agent 上下文规则。
评论
支持 Markdown