Help us improve
Share bugs, ideas, or general feedback.
From devops-skills
Generates GitHub Actions workflows, custom action.yml files (composite, Docker, JavaScript), and reusable workflows for CI/CD pipelines and automation.
npx claudepluginhub akin-ozer/cc-devops-skills --plugin devops-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/devops-skills:github-actions-generatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate production-ready GitHub Actions workflows and custom actions following current best practices, security standards, and naming conventions. All generated resources are automatically validated using the devops-skills:github-actions-validator skill.
assets/templates/action/composite/action.ymlassets/templates/action/docker/Dockerfileassets/templates/action/docker/action.ymlassets/templates/action/docker/entrypoint.shassets/templates/action/javascript/action.ymlassets/templates/action/javascript/index.jsassets/templates/action/javascript/package.jsonassets/templates/workflow/basic_workflow.ymlassets/templates/workflow/reusable_workflow.ymlexamples/README.mdexamples/actions/setup-node-cached/action.ymlexamples/caching/docker-buildkit.ymlexamples/security/dependency-review.ymlexamples/security/sbom-attestation.ymlexamples/triggers/chatops-commands.ymlexamples/triggers/repository-dispatch.ymlexamples/triggers/workflow-orchestration.ymlexamples/workflows/docker-build-push.ymlexamples/workflows/go-ci.ymlexamples/workflows/monorepo-ci.ymlWrite and optimize GitHub Actions workflows. Use when creating CI/CD pipelines, configuring workflow triggers, managing artifacts, or debugging workflow runs.
Create, evaluate, and optimize GitHub Actions workflows and custom actions for CI/CD pipelines, troubleshooting, security analysis, performance tuning. Covers Ruby/Rails, TypeScript/Node.js, Heroku, Fly.io deployments.
Writes and optimizes GitHub Actions workflows for CI/CD pipelines, triggers, jobs, steps, secrets, artifacts, and debugging runs.
Share bugs, ideas, or general feedback.
Generate production-ready GitHub Actions workflows and custom actions following current best practices, security standards, and naming conventions. All generated resources are automatically validated using the devops-skills:github-actions-validator skill.
| Capability | When to Use | Reference |
|---|---|---|
| Workflows | CI/CD, automation, testing | references/best-practices.md |
| Composite Actions | Reusable step combinations | references/custom-actions.md |
| Docker Actions | Custom environments/tools | references/custom-actions.md |
| JavaScript Actions | API interactions, complex logic | references/custom-actions.md |
| Reusable Workflows | Shared patterns across repos | references/advanced-triggers.md |
| Security Scanning | Dependency review, SBOM | references/best-practices.md |
| Modern Features | Summaries, environments | references/modern-features.md |
Route every request through this decision tree before reading references or generating files:
.github/workflows/*.yml CI/CD automation, choose Workflow Generation.action.yml or a reusable step package, choose Custom Action Generation.workflow_call or shared pipelines across repositories, choose Reusable Workflow Generation.Load only what is needed for the selected route, in this order:
| Route | Load First (required) | Load Next (only if needed) | Primary Template |
|---|---|---|---|
| Workflow Generation | references/best-practices.md | references/common-actions.md, references/expressions-and-contexts.md, references/modern-features.md | assets/templates/workflow/basic_workflow.yml |
| Custom Action Generation | references/custom-actions.md | references/best-practices.md | assets/templates/action/composite/action.yml, assets/templates/action/docker/, assets/templates/action/javascript/ |
| Reusable Workflow Generation | references/advanced-triggers.md | references/best-practices.md, references/common-actions.md | assets/templates/workflow/reusable_workflow.yml |
If a required reference/template is unavailable, continue with the closest available reference and report the fallback explicitly in output.
Triggers: "Create a workflow for...", "Build a CI/CD pipeline..."
Process:
permissions to read-only, then elevate only per job when requiredreferences/best-practices.md for patternsreferences/common-actions.md for action versionsMinimal Example:
name: CI Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
with:
node-version: '24'
cache: 'npm'
- run: npm ci
- run: npm test
Untrusted PR Guardrail (required for secret-using jobs):
jobs:
deploy:
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
Triggers: "Create a composite action...", "Build a Docker action...", "Create a JavaScript action..."
Types:
Process:
assets/templates/action/references/custom-actions.mdSee references/custom-actions.md for:
Triggers: "Create a reusable workflow...", "Make this workflow callable..."
Key Elements:
workflow_call trigger with typed inputssecrets: inherit)on:
workflow_call:
inputs:
environment:
required: true
type: string
secrets:
deploy-token:
required: false
outputs:
result:
value: ${{ jobs.build.outputs.result }}
When secrets are required, pass only the exact secret names needed and prefer environment protection rules for deployment stages.
See references/advanced-triggers.md for complete patterns.
Triggers: "Add security scanning...", "Add dependency review...", "Generate SBOM..."
Components:
actions/dependency-review-action@v4actions/attest-sbom@v2github/codeql-actionPermission Model: Use a read-only workflow-level baseline, then elevate only in the security job that requires write scopes.
permissions:
contents: read
jobs:
security-scan:
permissions:
contents: read
security-events: write # For CodeQL
id-token: write # For attestations
attestations: write # For attestations
See references/best-practices.md section on security.
Triggers: "Add job summaries...", "Use environments...", "Run in container..."
See references/modern-features.md for:
$GITHUB_STEP_SUMMARY)When using third-party actions (any uses: entry not in the same repository):
Search for documentation:
"[owner/repo] [version] github action documentation"
Or use Context7 MCP:
mcp__context7__resolve-library-id to find actionmcp__context7__query-docs for documentationPin to SHA with version comment:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Cite source and version in the response:
See references/common-actions.md for pre-verified action versions.
CRITICAL: Every generated resource MUST be validated.
devops-skills:github-actions-validator skillSkip validation only for:
If required tooling or network access is unavailable, use this deterministic fallback order:
devops-skills:github-actions-validator is unavailable, run local fallback checks:
actionlint (if installed)yamllint (if installed)references/common-actions.md for known action versionsassets/templates/Fallback usage must always be reported in the final output.
All generated resources must follow:
| Standard | Implementation |
|---|---|
| Security | Pin to SHA, minimal permissions, mask secrets |
| Performance | Caching, concurrency, shallow checkout |
| Naming | Descriptive names, lowercase-hyphen files |
| Error Handling | Timeouts, cleanup with if: always() |
See references/best-practices.md for complete guidelines.
| Document | Content | When to Use |
|---|---|---|
references/best-practices.md | Security, performance, patterns | Every workflow |
references/common-actions.md | Action versions, inputs, outputs | Public action usage |
references/expressions-and-contexts.md | ${{ }} syntax, contexts, functions | Complex conditionals |
references/advanced-triggers.md | workflow_run, dispatch, ChatOps | Workflow orchestration |
references/custom-actions.md | Metadata, structure, versioning | Custom action creation |
references/modern-features.md | Summaries, environments, containers | Enhanced workflows |
| Template | Location |
|---|---|
| Basic Workflow | assets/templates/workflow/basic_workflow.yml |
| Reusable Workflow | assets/templates/workflow/reusable_workflow.yml |
| Composite Action | assets/templates/action/composite/action.yml |
| Docker Action | assets/templates/action/docker/ |
| JavaScript Action | assets/templates/action/javascript/ |
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
node: [18, 20, 22]
fail-fast: false
deploy:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
# Upload
- uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
with:
name: build-${{ github.sha }}
path: dist/
# Download (in dependent job)
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
with:
name: build-${{ github.sha }}
Third-party action citations:
- actions/checkout: https://github.com/actions/checkout (version: v6.0.2, sha: de0fac2e4500dabe0009e67214ff5f5447ce83dd, accessed: 2026-02-28)
The task is complete only when all checks below pass:
devops-skills:github-actions-validator (or documented fallback)