mcpField
S
simplify-and-harden-ci

simplify-and-harden-ci

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

关于 simplify-and-harden-ci

simplify-and-harden-ci 是用于拉取请求的 CI 审查技能。它只检查变更文件,以结构化结果报告问题而不修改代码,并可按严重级别设置合并门禁。

主要功能

  1. 01仅审查拉取请求中的变更
  2. 02无代码修改的无头审查
  3. 03结构化审查结果
  4. 04按严重程度阻止合并
  5. 05可选的建议级别门禁

适用场景

  1. 01审查拉取请求中的变更文件
  2. 02阻止存在严重问题的变更合并
  3. 03发布问题供后续审查
  4. 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 中自动应用代码变更
  • 将模糊不清的发现升级为交互式审查

先决条件

  1. 为仓库启用 GitHub Actions
  2. GitHub CLI 已完成身份验证(gh auth status)
  3. 本地已安装 gh-aw,用于编写/验证:
gh extension install github/gh-aw
  1. 在 GitHub Actions 作业中,使用以下命令安装 CLI:
- uses: github/gh-aw/actions/setup-cli@main
  with:
    version: v0.2.0-beta

CI 约定

CI 技能必须强制执行以下要求:

  1. 范围锁定:仅审查 PR 中已更改的文件
  2. 无头执行:报告发现,不应用补丁或重构
  3. 结构化输出:输出 simplify_and_harden 摘要载荷
  4. 门控策略:
    • critical:存在严重级别的强化发现时,检查失败
    • advisory(可选):配置为阻止的建议级发现会导致检查失败

编写工作流(gh-aw)

仅供示例的模板位于 references/workflow-example.md。 除非明确要启用自动化,否则请将其保留在 .github/workflows 之外。

准备启用时:

  1. 将 references/workflow-example.md 中的模板块复制到 .github/workflows/simplify-and-harden-ci.md。(.md 扩展名是有意为之:gh-aw 工作流是 Markdown 文件,gh aw compile 会将其编译成 GitHub Actions 实际运行的 .lock.yml 文件。这不是标准的手写 Actions YAML 工作流。)
  2. 编译并验证工作流:
gh aw compile --validate --strict
  1. 触发并推送工作流变更:
gh aw run simplify-and-harden-ci --push
  1. 在 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.

建议输出

  1. PR 评论,包含简洁的发现并按严重性排序
  2. 检查运行摘要,说明通过/失败原因
  3. 供下游自动化使用的机器可读 YAML 构件

与自我改进集成

通过 self-improvement 工作流,将 simplify_and_harden.learning_loop.candidates 转发到 .learnings/LEARNINGS.md,以便将反复出现的模式提升为持久的 Agent 上下文规则。

评论

支持 Markdown