github-actions-gen
分析真实项目并生成或修订安全、可验证的 GitHub Actions workflow;当用户要求创建 CI、测试矩阵、构建、Release、部署、缓存、Secrets、OIDC、PR 自动化或排查 workflow 配置时使用
Skill by laolaoshiren
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/laolaoshiren-github-actions-gen
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, security, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/github-actions-gen
What's inside
- Skill name
github-actions-gen- Description
- 分析真实项目并生成或修订安全、可验证的 GitHub Actions workflow;当用户要求创建 CI、测试矩阵、构建、Release、部署、缓存、Secrets、OIDC、PR 自动化或排查 workflow 配置时使用
- License
- MIT
- Instructions
- 140 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# GitHub Actions CI/CD 生成器
## 核心原则
- 先读项目,再生成 workflow。不要凭项目名猜测运行时、包管理器、测试命令或部署目标。
- 默认只生成只读 CI。Release、部署、推送镜像、写回仓库和调用外部 webhook 必须先确认目标、凭据、环境保护与回滚方式。
- 将不可信 PR 代码与 Secrets、写权限、自托管 Runner 隔离。不要为方便而改用 `pull_request_target` 执行 PR 代码。
- 把所有 Action 固定到核验过的完整 40 位 commit SHA,并在旁边保留版本注释。不要使用 `@main`、`@master`、`@latest` 或可移动的 `@vN` tag。
- 为每个 job 设置最小 `permissions` 和 `timeout-minutes`;不依赖仓库默认权限。
- 生成后运行真实语法与项目命令验证,不把“配置看起来正确”当作通过。
## 工作流程
### 1. 盘点项目证据
- 读取 manifest、lockfile、wrapper、运行时文件和现有 workflow,例如 `package.json`、`.nvmrc`、`pyproject.toml`、`go.mod`、`Cargo.toml`、`Dockerfile` 与 `.github/workflows/`。
- 从项目脚本、贡献文档和现有 CI 确认 lint、test、build、package 命令。命令不存在时先指出缺口。
- 识别 monorepo 边界、工作目录、矩阵维度、服务容器、缓存路径与产物。
- 询问必要决策:触发分支、支持的运行时、部署目标、云账号、GitHub Environment、失败处理和发布授权。
- 检查当前工作树,保留用户已有修改;只编辑本次授权的 workflow 和必要配置。
### 2. 建立威胁模型
- `pull_request`:按不可信代码处理,使用只读 Token,不提供 Secrets,不在高权限自托管 Runner 上执行 fork 代码。
- `pull_request_target`:仅处理标签、评论等可信基准分支逻辑;绝不 checkout PR head、运行 PR 脚本或安装 PR 依赖。
- `push` / tag / `workflow_dispatch`:仍需限制分支、输入、Environment 和权限;写操作放入独立 job。
- 避免把 `${{ github.event.* }}` 等不可信表达式直接插进 `run:`。通过 `env:` 传值,并在脚本中按数据处理。
- 不把 Secrets 写入命令行、日志、缓存、Artifact 或 PR 评论;fork PR 缺少 Secrets 是正常安全边界。
### 3. 设计最小流水线
优先拆分职责:
- `ci.yml`:lint、test、build;`pull_request` 与受控 `push` 触发,只读权限。
- `release.yml`:仅在用户明确要求时生成;使用受保护 tag 或手动触发。
- `deploy.yml`:仅在部署目标明确时生成;使用 GitHub Environment、并发控制和最小 OIDC / Secrets 权限。
为耗时 job 设置取消策略和超时。矩阵只覆盖项目真正支持的版本;缓存 key 必须包含 lockfile,不能缓存凭据和构建秘密。
### 4. 核验并固定 Action
- 从 Action 官方仓库 release / tag 解析完整 commit SHA,核对仓库所有者、版本说明和运行时要求。
- 采用 `uses: owner/action@<40位SHA> # vX.Y.Z` 格式。版本注释用于阅读,SHA 才是执行边界。
- 对 `actions/checkout` 默认设置 `persist-credentials: false`。只有后续步骤确实要执行经过授权的 Git 写入时才保留凭据,并限制 job 权限。
- 使用 Dependabot 或人工维护流程更新 SHA;更新时重新阅读 release notes,不盲目替换。
- 本文示例 SHA 核验于 2026-07-22;实际生成时应重新核验官方 release。
### 5. 生成 workflow
下面示例假设项目已有 `.nvmrc`、`package-lock.json`、`lint`、`test` 和 `build` 脚本:
```yaml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- name: 配置 Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: .nvmrc
cache: npm
cache-dependency-path: package-lock.json
- name: 安装依赖
run: npm ci
- name: 代码检查
run: npm run lint
- name: 运行测试
run: npm test
- name: 构建
run: npm run build
```
不要机械复制示例。若项目使用 pnpm、Yarn、uv、Poetry、Gradle、Go 或 Rust,应使用其真实锁文件、wrapper 和命令。
### 6. 单独保护发布与部署
- 把发布 / 部署放入独立 job,只给该 job 必需的 `contents: write`、`packages: write` 或 `id-token: write`。
- 优先使用短期 OIDC,避免长期云密钥;限制云端 audience、subject、分支、仓库和 Environment。
- 为 production 使用 required reviewers、受保护 Environment、并发锁和可验证回滚。
- 对 `workflow_dispatch` 输入设置类型、选项和默认值;在执行前再次校验目标环境与版本。
- 发布前验证产物来源,必要时生成 attestations / provenance;不要部署来自未验证 PR 的 Artifact。
### 7. 验证
- 运行 `actionlint`;若工具不可用,明确说明未完成该门禁,不要声称语法通过。
- 运行 YAML 解析检查,并核对所有 `${{ }}`、shell、路径、矩阵和 `needs` 引用。
- 在本地执行 workflow 中引用的 lint、test、build 命令,或说明环境限制。
- 搜索所有 `uses:`,确认第三方 Action 都是完整 SHA;检查 checkout 的 `persist-credentials`。
- 用 fork PR、内部 PR、push、tag、手动部署等场景检查 Secrets 与权限是否符合预期。
- 查看最终 diff,确认没有写入 Token、账号、真实 webhook、`.env` 或无关配置。
## 交付格式
用中文说明:From laolaoshiren/claude-code-skills-zh, MIT.
More from laolaoshiren/claude-code-skills-zh
- 0.710score
dep-auditor
laolaoshiren
审计 Node.js、Python、Go、Rust、JVM、Ruby 项目的依赖漏洞、版本健康度与许可证事实;当用户要求检查 package.json、lockfile、requirements、go.mod、Cargo.toml、pom.xml、Gemfile.lock,或生成不改依赖的中文审计报告时使用
SkillCFreshness: C★ 893Claude Code +9 - 0.710score
eslint-fix
laolaoshiren
安全诊断并修复 ESLint error、warning 和配置兼容问题。用于用户要求运行 lint、解释 ESLint 报错、限定范围自动修复或迁移 ESLint 配置时;优先使用项目锁定的包管理器与版本,先预检再修改,不自动下载最新版或批量改写无关源码。
SkillCFreshness: C★ 893Claude Code +9 - 0.710score
skill-curator
laolaoshiren
中文 Skill 收录评估器。用于核验 GitHub 上的 Claude Code、Codex、Agent Skills、Plugin、MCP、CLI 或 Agent 工作流是否值得加入精选列表;检查真实资产、安装方式、活跃度、重复项和安全边界,并生成分类、中文描述与可追溯证据。
SkillCFreshness: C★ 893Claude Code +9 - 0.710score
api-tester
laolaoshiren
依据真实 OpenAPI、路由实现和现有测试生成并验证 API 测试。用于用户要求测试接口、补集成测试、验证 API 契约、生成回归用例或排查接口兼容性时;区分“生成测试”和“执行请求”的授权,不猜测状态码、响应结构或 SLA,不在未确认环境中发送写请求。
SkillCFreshness: C★ 893Claude Code +9 - 0.707score
perf-profiler
laolaoshiren
基于可复现基线和 profiler 证据分析性能问题。用于用户要求定位慢接口、慢任务、慢查询、内存或网络瓶颈,制定优化方案,或验证优化收益时;区分实测结论与静态推断,不虚构耗时和提升比例,生产环境操作需明确授权。
SkillCFreshness: C★ 893Claude Code +9 - 0.707score
git-workflow
laolaoshiren
安全处理 Git 状态检查、提交信息、commit、分支、push、PR 和 rebase。用于用户要求检查改动、生成或创建提交、管理分支、推送、发起 PR 或整理历史时;严格区分每个动作的授权,并保护工作树中已有和无关的修改。
SkillCFreshness: C★ 893Claude Code +9 - 0.703score
changelog-gen
laolaoshiren
Changelog 生成器 - 从 Git 历史自动生成 CHANGELOG
SkillCFreshness: C★ 893Claude Code +9 - 0.703score
env-manager
laolaoshiren
环境变量管理器:扫描、校验、同步 .env 文件,生成安全配置模板
SkillCFreshness: C★ 893Claude Code +9 - 0.700score
db-migrator
laolaoshiren
数据库迁移助手 - Schema 对比、迁移脚本生成
SkillCFreshness: C★ 893Claude Code +9 - 0.700score
refactor-advisor
laolaoshiren
重构顾问 - 识别代码坏味道并提供重构方案
SkillCFreshness: C★ 893Claude Code +9 - 0.585score
test-generator
laolaoshiren
依据真实代码契约生成并验证单元测试或集成测试。用于用户要求为函数、类、接口或缺陷补测试、提高覆盖率、生成回归用例或完善测试策略时;先读取现有测试与调用方,不猜测空值、异常或超时行为,不自动安装框架或访问生产依赖。
SkillCFreshness: C★ 893Claude Code +9 - 0.546score
ds-mapper
laolaoshiren
项目目录结构地图 - 生成带说明的可视化目录树,快速理解任意代码库
SkillDFreshness: D★ 893Claude Code +9
Signals
- Stars
- 893
- Forks
- 108
- Open issues
- 1
- Last commit (this folder)
- Jul 22, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Website
- claude-skills.bt199.com/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from laolaoshiren
- 0.710score
api-tester
laolaoshiren
依据真实 OpenAPI、路由实现和现有测试生成并验证 API 测试。用于用户要求测试接口、补集成测试、验证 API 契约、生成回归用例或排查接口兼容性时;区分“生成测试”和“执行请求”的授权,不猜测状态码、响应结构或 SLA,不在未确认环境中发送写请求。
SkillCFreshness: C★ 893Claude Code +9 - 0.710score
dep-auditor
laolaoshiren
审计 Node.js、Python、Go、Rust、JVM、Ruby 项目的依赖漏洞、版本健康度与许可证事实;当用户要求检查 package.json、lockfile、requirements、go.mod、Cargo.toml、pom.xml、Gemfile.lock,或生成不改依赖的中文审计报告时使用
SkillCFreshness: C★ 893Claude Code +9 - 0.710score
eslint-fix
laolaoshiren
安全诊断并修复 ESLint error、warning 和配置兼容问题。用于用户要求运行 lint、解释 ESLint 报错、限定范围自动修复或迁移 ESLint 配置时;优先使用项目锁定的包管理器与版本,先预检再修改,不自动下载最新版或批量改写无关源码。
SkillCFreshness: C★ 893Claude Code +9 - 0.710score
skill-curator
laolaoshiren
中文 Skill 收录评估器。用于核验 GitHub 上的 Claude Code、Codex、Agent Skills、Plugin、MCP、CLI 或 Agent 工作流是否值得加入精选列表;检查真实资产、安装方式、活跃度、重复项和安全边界,并生成分类、中文描述与可追溯证据。
SkillCFreshness: C★ 893Claude Code +9 - 0.707score
git-workflow
laolaoshiren
安全处理 Git 状态检查、提交信息、commit、分支、push、PR 和 rebase。用于用户要求检查改动、生成或创建提交、管理分支、推送、发起 PR 或整理历史时;严格区分每个动作的授权,并保护工作树中已有和无关的修改。
SkillCFreshness: C★ 893Claude Code +9 - 0.707score
perf-profiler
laolaoshiren
基于可复现基线和 profiler 证据分析性能问题。用于用户要求定位慢接口、慢任务、慢查询、内存或网络瓶颈,制定优化方案,或验证优化收益时;区分实测结论与静态推断,不虚构耗时和提升比例,生产环境操作需明确授权。
SkillCFreshness: C★ 893Claude Code +9
Cite this page
github-actions-gen skill. Agent Mart. https://agentmart.dev/skills/laolaoshiren-github-actions-gen (last updated 2026-10-24)