用途
GitHub Actions Generator 用于创建、生成或搭建 GitHub Actions 工作流、action.yml 以及 .github/workflows 下的 CI/CD 流水线。它按照当前最佳实践、安全标准和命名规范生成可用于生产的资源,并自动使用 devops-skills:github-actions-validator 技能进行校验。
主要能力
- 工作流生成:面向 CI/CD、自动化、测试场景,支持触发器、运行器、依赖配置,定义信任边界(内部分支、fork PR、外部触发),默认只读权限并按作业按需提权,包含并发控制、缓存、矩阵策略以及 fork 安全的 PR 处理。
- 自定义 Action 生成:支持复合 Action(组合多个步骤,启动快)、Docker Action(自定义环境/工具,隔离性好)、JavaScript Action(API 交互、复杂逻辑,速度最快),包含品牌信息、输入输出与文档。
- 可复用工作流生成:使用 workflow_call 触发器与类型化输入,显式声明 secrets(避免 secrets: inherit),明确可信调用方边界,输出映射自作业输出,最小权限。
- 安全扫描工作流:依赖审查(actions/dependency-review-action@v4)、SBOM 证明(actions/attest-sbom@v2)、CodeQL 分析(github/codeql-action),采用只读基线权限并在安全作业中按需提权。
- 现代特性:作业摘要($GITHUB_STEP_SUMMARY)、带审批的部署环境、带服务的容器作业、工作流注解。
- 第三方 Action 文档与引用:查找文档(搜索或使用 Context7 MCP),固定到 SHA 并附版本注释,在响应中引用来源、版本、SHA 与访问日期。
使用方式
该技能通过触发决策树路由请求:若用户要求 .github/workflows/*.yml CI/CD 自动化,选择工作流生成;若要求 action.yml 或可复用步骤包,选择自定义 Action 生成;若要求 workflow_call 或跨仓库共享流水线,选择可复用工作流生成;若仅涉及安全扫描,仍走工作流生成的安全模式;意图不明确时询问一个澄清问题。随后按渐进式披露路由仅加载所需参考与模板,例如工作流生成先加载 references/best-practices.md,再按需加载 references/common-actions.md、references/expressions-and-contexts.md、references/modern-features.md 以及 assets/templates/workflow/basic_workflow.yml。生成后必须调用 devops-skills:github-actions-validator 校验,出错则修复并重新校验,成功则附使用说明呈现。
适用场景
适用于需要快速搭建 CI/CD 流水线、创建可复用自定义 Action、跨仓库共享流水线模式、添加安全扫描(依赖审查、SBOM、CodeQL)以及使用作业摘要、部署环境、容器作业等现代 GitHub Actions 特性的开发与运维场景。
限制
所有生成的资源必须经过校验,仅部分代码片段、文档示例或用户明确要求跳过时可例外。若所需工具或网络不可用,按确定性回退顺序处理:校验器不可用时运行本地回退检查(actionlint、yamllint 或手动 YAML/schema 审查并注明“未经过工具校验”);Context7 或互联网不可用时使用 references/common-actions.md 中的已知版本并说明无法完成外部版本验证;模板路径缺失时使用最接近的模板模式并记录替换情况。回退使用情况必须在最终输出中报告。所有生成资源须遵循强制标准:安全(固定 SHA、最小权限、掩码 secrets)、性能(缓存、并发、浅检出)、命名(描述性名称、小写连字符文件)、错误处理(超时、使用 if: always() 清理)。