Cc-devops-skills github-actions-generator
Create, generate, or scaffold GitHub Actions workflows, action.yml, or .github/workflows CI/CD pipelines.
git clone https://github.com/akin-ozer/cc-devops-skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/akin-ozer/cc-devops-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/devops-skills-plugin/skills/github-actions-generator" ~/.claude/skills/akin-ozer-cc-devops-skills-github-actions-generator && rm -rf "$T"
devops-skills-plugin/skills/github-actions-generator/SKILL.mdGitHub Actions Generator
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.
Quick Reference
| Capability | When to Use | Reference |
|---|---|---|
| Workflows | CI/CD, automation, testing | |
| Composite Actions | Reusable step combinations | |
| Docker Actions | Custom environments/tools | |
| JavaScript Actions | API interactions, complex logic | |
| Reusable Workflows | Shared patterns across repos | |
| Security Scanning | Dependency review, SBOM | |
| Modern Features | Summaries, environments | |
Trigger Decision Tree
Route every request through this decision tree before reading references or generating files:
- If the user asks for
CI/CD automation, choose Workflow Generation..github/workflows/*.yml - If the user asks for
or a reusable step package, choose Custom Action Generation.action.yml - If the user asks for
or shared pipelines across repositories, choose Reusable Workflow Generation.workflow_call - If the request includes security-only scanning (dependency review, SBOM, CodeQL), stay on Workflow Generation with the security pattern.
- If intent is ambiguous, ask one disambiguation question: "Do you want a workflow, a custom action, or a reusable workflow?"
Progressive Disclosure Route
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 | | , , | |
| Custom Action Generation | | | , , |
| Reusable Workflow Generation | | , | |
If a required reference/template is unavailable, continue with the closest available reference and report the fallback explicitly in output.
Core Capabilities
1. Generate Workflows
Triggers: "Create a workflow for...", "Build a CI/CD pipeline..."
Process:
- Understand requirements (triggers, runners, dependencies)
- Define trust boundaries (internal branches vs fork PRs vs external triggers)
- Set default
to read-only, then elevate only per job when requiredpermissions - Reference
for patternsreferences/best-practices.md - Reference
for action versionsreferences/common-actions.md - Generate workflow with:
- Semantic names, pinned actions (SHA), explicit permissions
- Concurrency controls, caching, matrix strategies
- Fork-safe PR handling (no secrets in untrusted contexts)
- Validate with devops-skills:github-actions-validator skill
- Fix issues and re-validate if needed
Minimal 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
2. Generate Custom Actions
Triggers: "Create a composite action...", "Build a Docker action...", "Create a JavaScript action..."
Types:
- Composite: Combine multiple steps → Fast startup
- Docker: Custom environment/tools → Isolated
- JavaScript: API access, complex logic → Fastest
Process:
- Use templates from
assets/templates/action/ - Follow structure in
references/custom-actions.md - Include branding, inputs/outputs, documentation
- Validate with devops-skills:github-actions-validator skill
See
references/custom-actions.md for:
- Action metadata and branding
- Directory structure patterns
- Versioning and release workflows
3. Generate Reusable Workflows
Triggers: "Create a reusable workflow...", "Make this workflow callable..."
Key Elements:
trigger with typed inputsworkflow_call- Explicit secrets (avoid
)secrets: inherit - Explicit trusted-caller expectations (document org/repo boundaries)
- Outputs mapped from job outputs
- Minimal permissions
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.
4. Generate Security Workflows
Triggers: "Add security scanning...", "Add dependency review...", "Generate SBOM..."
Components:
- Dependency Review:
actions/dependency-review-action@v4 - SBOM Attestations:
actions/attest-sbom@v2 - CodeQL Analysis:
github/codeql-action
Permission 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.
5. Modern Features
Triggers: "Add job summaries...", "Use environments...", "Run in container..."
See
references/modern-features.md for:
- Job summaries (
)$GITHUB_STEP_SUMMARY - Deployment environments with approvals
- Container jobs with services
- Workflow annotations
6. Third-Party Action Documentation and Citation
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:
to find actionmcp__context7__resolve-library-id
for documentationmcp__context7__query-docs
-
Pin to SHA with version comment:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 -
Cite source and version in the response:
- Action source (repository URL)
- Version source (release/tag/changelog URL)
- Selected commit SHA and human-readable version
- Access date for the source used
See
references/common-actions.md for pre-verified action versions.
Validation Workflow
CRITICAL: Every generated resource MUST be validated.
- Generate workflow/action file
- Invoke
skilldevops-skills:github-actions-validator - If errors: fix and re-validate
- If success: present with usage instructions
Skip validation only for:
- Partial code snippets
- Documentation examples
- User explicitly requests skip
Fallback Behavior (Tooling and Environment Constraints)
If required tooling or network access is unavailable, use this deterministic fallback order:
- If
is unavailable, run local fallback checks:devops-skills:github-actions-validator
(if installed)actionlint
(if installed)yamllint- manual YAML/schema review with a clear "not tool-validated" note
- If Context7 or internet access is unavailable:
- use
for known action versionsreferences/common-actions.md - state that external version verification could not be completed
- use
- If a template path is missing:
- generate from the closest template pattern in
assets/templates/ - document which template was substituted
- generate from the closest template pattern in
Fallback usage must always be reported in the final output.
Mandatory Standards
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 |
See
references/best-practices.md for complete guidelines.
Resources
Reference Documents
| Document | Content | When to Use |
|---|---|---|
| Security, performance, patterns | Every workflow |
| Action versions, inputs, outputs | Public action usage |
| syntax, contexts, functions | Complex conditionals |
| workflow_run, dispatch, ChatOps | Workflow orchestration |
| Metadata, structure, versioning | Custom action creation |
| Summaries, environments, containers | Enhanced workflows |
Templates
| Template | Location |
|---|---|
| Basic Workflow | |
| Reusable Workflow | |
| Composite Action | |
| Docker Action | |
| JavaScript Action | |
Common Patterns
Matrix Testing
strategy: matrix: os: [ubuntu-latest, windows-latest] node: [18, 20, 22] fail-fast: false
Conditional Deployment
deploy: if: github.event_name == 'push' && github.ref == 'refs/heads/main'
Artifact Sharing
# 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 Citation Block
Third-party action citations: - actions/checkout: https://github.com/actions/checkout (version: v6.0.2, sha: de0fac2e4500dabe0009e67214ff5f5447ce83dd, accessed: 2026-02-28)
Done Criteria
The task is complete only when all checks below pass:
- The request route was selected using the trigger decision tree.
- Only the minimum required references/templates were loaded first.
- Every third-party action is pinned to a commit SHA and has source/version citation.
- Validation was run, or a skip exception/fallback path was explicitly documented.
- Output includes assumptions, security-sensitive decisions (permissions/secrets), and generated file paths.
Workflow Summary
- Route the request using the trigger decision tree
- Load the minimum references/templates for that route
- Generate using mandatory security and naming standards
- Cite and pin third-party actions (source, version, SHA)
- Validate with
(or documented fallback)devops-skills:github-actions-validator - Fix and re-validate until clean
- Present validated output with citations, assumptions, and file paths