mcpField
G
github-actions-efficiency

github-actions-efficiency

github.com/github云与 DevOps40.5k2.1k 次安装今天更新
代码仓库

关于 github-actions-efficiency

用于审查和改进 GitHub Actions 效率的技能,面向处理 CI 耗时、成本或工作流设计的仓库维护者。它要求依据审计证据和约束筛选改动,并区分实测与静态验证。

主要功能

  1. 01检查工作流配置和近期运行
  2. 02依据审计证据识别 CI 浪费
  3. 03为建议的改动应用约束
  4. 04按优先级列出至多三项优化
  5. 05区分实时验证与静态审查

适用场景

  1. 01查找 CI 缓慢或昂贵的原因
  2. 02建立 GitHub Actions 基线
  3. 03审查缓存、触发器、矩阵或并发设置
  4. 04报告 CI 预期与实测影响

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/github/awesome-copilot --skill github-actions-efficiency

安装后在 Claude Code 中输入/github-actions-efficiency确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
actions.md
patterns.md
reporting.md
review-rubric.md

详细介绍

GitHub Actions 效率

将此技能作为 GitHub Actions 效率工作的入口。检查仓库,找出浪费来源,并仅加载当前任务所需的参考资料。

如果尚不存在任何工作流,请加载 references/actions.md,并在继续执行以下步骤之前定义基线。

如果无法使用 shell 或 gh CLI 访问权限: 请用户粘贴 .github/workflows/ 内容以及 gh run list --limit 10 输出。如果仅提供了部分文件,请注明:“仅基于所提供的文件进行审计;部分洞察可能不完整。” 仅基于文件作出的回复请以如下内容开头:“仅静态分析(未经实际运行确认)。”

何时使用此技能

  • 用户希望减少 GitHub Actions 运行时间、CI 成本或浪费的工作流运行。
  • 仓库在 .github/workflows/ 中已有工作流,或有明确的 GitHub Actions 配置问题。
  • 用户要求缓存、并发、路径过滤、矩阵缩减、作业优化或特定工作流修复。
  • 用户需要从零开始帮助创建新的 GitHub Actions 工作流或 CI 基线。

只加载你需要的内容

核心工作流

1. 先测量
rg -n "on:|concurrency:|paths:|paths-ignore:|strategy:|matrix:|cache:" .github/workflows
gh run list --limit 10
run_id=$(gh run list --limit 1 --json databaseId --jq '.[0].databaseId')
gh run view "$run_id" --log-failed

查找:缺失的依赖缓存、缺失的 concurrency 取消、过宽的触发器、重复的工作流覆盖范围,以及无论范围如何都会在每次变更时运行的昂贵作业。

2. 应用护栏

在推荐每项拟议修复之前,请对照以下规则检查:

  1. 不隐藏必需的验证 — 丢弃任何移除发布、schema、迁移或共享库检查的修复。
  2. 无正当理由不降低并行性 — 除非用户优先考虑成本而非延迟,并且 新的关键路径保持在原始的 1.25× 以内,否则丢弃。
  3. 仅保留有文档记录的矩阵组合 — 丢弃没有明确版本或平台承诺的矩阵组合。
  4. 写回作业使用选择性加入触发器 — 标记(不要丢弃)会自动运行的格式化程序或机器人作业;建议改用选择性加入触发器。
  5. 仓库更改与组织设置保持分离 — 将任何混合仓库可编辑 YAML 与组织级或 GitHub 账户设置的修复拆分为两条不同的建议。
3. 选择前 3 项修复

从以下六个候选项中,仅保留有步骤 1 审计证据支持 并且 通过步骤 2 所有护栏的项。按预计每日节省的 CI 分钟数(每次运行节省 × 每日运行次数)对幸存项排序。选择所有同时满足两个标准的候选项,最多 3 项。

  1. 使用基于 lockfile 的键添加依赖缓存
  2. 添加或修正 concurrency 取消
  3. 在合并作业之前移除重复的工作流覆盖范围
  4. 安全地收窄工作流或作业触发器
  5. 将矩阵范围缩减至与风险和事件类型匹配
  6. 并行化关键路径上的独立作业
4. 验证
  • 如果可以使用 gh CLI 访问权限,请在非保护分支上进行实时测试推送,以验证路径门控和并发取消。
  • 如果无法进行实时验证,请在输出中明确说明。
  • 即使 YAML 看起来正确,也要将意外的实时行为视为真实 bug。

必需输出

  1. 浪费来源 — 步骤 1 中发现的最高成本或延迟驱动因素
  2. 拟议修复 — 前 3 项(或所有剩余项),并附支持性审计证据
  3. 验证 — 哪些已在实时环境中得到证明,哪些仅在本地检查过,以及任何剩余风险
  4. 影响 — 预期节省与实际节省;将 PR 墙钟时间与总 runner 时间分开

参考资料

评论

支持 Markdown