Tooluck logoTooluck
SKILL.md

github-actions-gen

Agent skill fromlaolaoshiren/claude-code-skills-zh

分析真实项目并生成或修订安全、可验证的 GitHub Actions workflow;当用户要求创建 CI、测试矩阵、构建、Release、部署、缓存、Secrets、OIDC、PR 自动化或排查 workflow 配置时使用

How to install github-actions-gen

install github-actions-gen
# install the claude-code-skills-zh pack with the skills CLI
npx skills add laolaoshiren/claude-code-skills-zh

# or add only this skill to Claude Code: copy the folder

skills/github-actions-gen/

# into

~/.claude/skills/github-actions-gen/ (all projects)

.claude/skills/github-actions-gen/ (one project)

skills/github-actions-gen/SKILL.md

MITFull file
1# GitHub Actions CI/CD 生成器
2
3## 核心原则
4
5- 先读项目,再生成 workflow。不要凭项目名猜测运行时、包管理器、测试命令或部署目标。
6- 默认只生成只读 CI。Release、部署、推送镜像、写回仓库和调用外部 webhook 必须先确认目标、凭据、环境保护与回滚方式。
7- 将不可信 PR 代码与 Secrets、写权限、自托管 Runner 隔离。不要为方便而改用 `pull_request_target` 执行 PR 代码。
8- 把所有 Action 固定到核验过的完整 40 位 commit SHA,并在旁边保留版本注释。不要使用 `@main`、`@master`、`@latest` 或可移动的 `@vN` tag。
9- 为每个 job 设置最小 `permissions` 和 `timeout-minutes`;不依赖仓库默认权限。
10- 生成后运行真实语法与项目命令验证,不把“配置看起来正确”当作通过。
11
12## 工作流程
13
14### 1. 盘点项目证据
15
16- 读取 manifest、lockfile、wrapper、运行时文件和现有 workflow,例如 `package.json`、`.nvmrc`、`pyproject.toml`、`go.mod`、`Cargo.toml`、`Dockerfile` 与 `.github/workflows/`。
17- 从项目脚本、贡献文档和现有 CI 确认 lint、test、build、package 命令。命令不存在时先指出缺口。
18- 识别 monorepo 边界、工作目录、矩阵维度、服务容器、缓存路径与产物。
19- 询问必要决策:触发分支、支持的运行时、部署目标、云账号、GitHub Environment、失败处理和发布授权。
20- 检查当前工作树,保留用户已有修改;只编辑本次授权的 workflow 和必要配置。
21
22### 2. 建立威胁模型
23
24- `pull_request`:按不可信代码处理,使用只读 Token,不提供 Secrets,不在高权限自托管 Runner 上执行 fork 代码。
25- `pull_request_target`:仅处理标签、评论等可信基准分支逻辑;绝不 checkout PR head、运行 PR 脚本或安装 PR 依赖。
26- `push` / tag / `workflow_dispatch`:仍需限制分支、输入、Environment 和权限;写操作放入独立 job。
27- 避免把 `${{ github.event.* }}` 等不可信表达式直接插进 `run:`。通过 `env:` 传值,并在脚本中按数据处理。
28- 不把 Secrets 写入命令行、日志、缓存、Artifact 或 PR 评论;fork PR 缺少 Secrets 是正常安全边界。
29
30### 3. 设计最小流水线
31
32优先拆分职责:
33
34- `ci.yml`:lint、test、build;`pull_request` 与受控 `push` 触发,只读权限。
35- `release.yml`:仅在用户明确要求时生成;使用受保护 tag 或手动触发。
36- `deploy.yml`:仅在部署目标明确时生成;使用 GitHub Environment、并发控制和最小 OIDC / Secrets 权限。
37
38为耗时 job 设置取消策略和超时。矩阵只覆盖项目真正支持的版本;缓存 key 必须包含 lockfile,不能缓存凭据和构建秘密。
39…

Excerpt shown under the repository's MIT license.

More skills in claude-code-skills-zh

Keep exploring

Similar skill repositories

thedotmack /

claude-mem
116k

Persistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More

CCCXGHGM+135 skills

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates