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-skillsThis skill uses the workspace's default tool permissions.
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.ymlSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
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)