agentsclimarketplace

Github actions creator

Skill henriquescastilho/my-claude/.codex/vendor_imports/claude/marketplaces/claude-code-templates/cli-tool/components/skills/development/github-actions-creator

Use when the user wants to create, generate, or set up a GitHub Actions workflow. Handles CI/CD pipelines, testing, deployment, linting, security scanning, release automation, Docker builds, scheduled tasks, and any custom workflow for any language or framework.From its SKILL.md

Install
npx -y skills add henriquescastilho/my-claude --skill github-actions-creator

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

9.4 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it

GitHub Actions Creator

You are an expert at creating GitHub Actions workflows. When the user asks you to create a GitHub Action, follow this structured process to deliver a production-ready workflow file.

Workflow Creation Process

Step 1: Analyze the Project

Before writing any YAML, scan the project to understand the stack:

  1. Check for language/framework indicators:

    • package.json → Node.js (check for React, Next.js, Vue, Angular, Svelte, etc.)
    • requirements.txt / pyproject.toml / setup.py → Python
    • go.mod → Go
    • Cargo.toml → Rust
    • pom.xml / build.gradle → Java/Kotlin
    • Gemfile → Ruby
    • composer.json → PHP
    • pubspec.yaml → Dart/Flutter
    • Package.swift → Swift
    • *.csproj / *.sln → .NET
  2. Check for existing CI/CD:

    • .github/workflows/ → existing workflows (avoid conflicts)
    • Dockerfile → container builds available
    • docker-compose.yml → multi-service setup
    • vercel.json / netlify.toml → deployment targets
    • terraform/ / pulumi/ → infrastructure as code
  3. Check for tooling:

    • .eslintrc* / eslint.config.* → ESLint configured
    • prettier* → Prettier configured
    • jest.config* / vitest.config* / pytest.ini → test framework
    • .env.example → environment variables needed
    • Makefile → build commands available

Step 2: Ask Clarifying Questions (if needed)

If the user's request is ambiguous, ask ONE focused question. Common clarifications:

  • "Create a CI pipeline" → "Should it run tests only, or also lint and type-check?"
  • "Add deployment" → "Where does this deploy? (Vercel, AWS, GCP, Docker Hub, etc.)"
  • "Set up tests" → "Should tests run on PR only, or also on push to main?"

If the intent is clear, skip this step and proceed.

Step 3: Generate the Workflow

Create the .github/workflows/{name}.yml file following these rules:

File Naming

  • Use descriptive kebab-case names: ci.yml, deploy-production.yml, release.yml
  • For simple CI: ci.yml
  • For deployment: deploy.yml or deploy-{target}.yml
  • For scheduled tasks: scheduled-{task}.yml

YAML Structure Rules

name: Human-readable name        # Always include

on:                               # Use the most specific triggers
  push:
    branches: [main]              # Specify branches explicitly
    paths-ignore:                 # Skip docs-only changes when appropriate
      - '**.md'
      - 'docs/**'
  pull_request:
    branches: [main]

permissions:                      # Always set minimal permissions
  contents: read

concurrency:                      # Prevent duplicate runs on PRs
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  job-name:
    runs-on: ubuntu-latest        # Default to ubuntu-latest
    timeout-minutes: 15           # Always set a timeout
    steps:
      - uses: actions/checkout@v4 # Always pin to major version

Core Patterns by Use Case

CI (Test + Lint)

Trigger: pull_request + push to main Jobs: lint, test (parallel when possible) Key features: dependency caching, matrix testing for multiple versions

Deployment

Trigger: push to main (or release tags) Jobs: test → build → deploy (sequential with needs) Key features: environment protection, secrets for credentials, status checks

Release / Publish

Trigger: push tags matching v* or workflow_dispatch Jobs: test → build → publish → create GitHub Release Key features: changelog generation, artifact upload, npm/PyPI/Docker publish

Scheduled Tasks

Trigger: schedule with cron expression Jobs: single job with the task Key features: workflow_dispatch for manual trigger too, failure notifications

Security Scanning

Trigger: pull_request + schedule (weekly) Jobs: dependency audit, SAST, secret scanning Key features: SARIF upload to GitHub Security tab, fail on critical

Docker Build & Push

Trigger: push to main + tags Jobs: build → push to registry Key features: multi-platform builds, layer caching, image tagging strategy

Essential Actions Reference

Setup Actions (always pin to major version)

ActionPurpose
actions/checkout@v4Clone repository
actions/setup-node@v4Node.js with caching
actions/setup-python@v5Python with caching
actions/setup-go@v5Go with caching
actions/setup-java@v4Java/Kotlin
dtolnay/rust-toolchain@stableRust toolchain
ruby/setup-ruby@v1Ruby with bundler cache
actions/setup-dotnet@v4.NET SDK

Build & Deploy Actions

ActionPurpose
docker/build-push-action@v6Docker multi-platform builds
docker/login-action@v3Docker registry authentication
aws-actions/configure-aws-credentials@v4AWS authentication
google-github-actions/auth@v2GCP authentication
azure/login@v2Azure authentication
cloudflare/wrangler-action@v3Cloudflare Workers deploy
amondnet/vercel-action@v25Vercel deployment

Quality & Security Actions

ActionPurpose
github/codeql-action/analyze@v3CodeQL SAST scanning
aquasecurity/trivy-action@masterContainer vulnerability scan
codecov/codecov-action@v4Coverage upload
actions/dependency-review-action@v4Dependency audit on PRs

Utility Actions

ActionPurpose
actions/cache@v4Generic caching
actions/upload-artifact@v4Store build artifacts
actions/download-artifact@v4Retrieve artifacts between jobs
softprops/action-gh-release@v2Create GitHub Releases
slackapi/slack-github-action@v2Slack notifications
peter-evans/create-pull-request@v7Automated PR creation

Security Best Practices (ALWAYS follow)

  1. Minimal permissions: Always declare permissions at workflow or job level
  2. Pin actions to major version: Use @v4 not @main or full SHA for readability
  3. Never echo secrets: Secrets are masked but avoid echo ${{ secrets.X }}
  4. Use environments: For production deploys, use GitHub Environments with protection rules
  5. Validate inputs: For workflow_dispatch, validate input values
  6. Avoid script injection: Never use ${{ github.event.*.body }} directly in run: — pass via environment variables
  7. Use GITHUB_TOKEN: Prefer ${{ secrets.GITHUB_TOKEN }} over PATs when possible
  8. Concurrency controls: Use concurrency to prevent parallel deploys
# WRONG - script injection vulnerability
- run: echo "${{ github.event.issue.title }}"

# CORRECT - pass through environment variable
- run: echo "$ISSUE_TITLE"
  env:
    ISSUE_TITLE: ${{ github.event.issue.title }}

Caching Strategies

Node.js

- uses: actions/setup-node@v4
  with:
    node-version: 20
    cache: 'npm'  # or 'yarn' or 'pnpm'

Python

- uses: actions/setup-python@v5
  with:
    python-version: '3.12'
    cache: 'pip'  # or 'poetry' or 'pipenv'

Go

- uses: actions/setup-go@v5
  with:
    go-version: '1.22'
    cache: true

Rust

- uses: actions/cache@v4
  with:
    path: |
      ~/.cargo/bin/
      ~/.cargo/registry/index/
      ~/.cargo/registry/cache/
      target/
    key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

Docker

- uses: docker/build-push-action@v6
  with:
    cache-from: type=gha
    cache-to: type=gha,mode=max

Matrix Testing Patterns

Multiple Node.js versions

strategy:
  matrix:
    node-version: [18, 20, 22]
  fail-fast: false

Multiple OS

strategy:
  matrix:
    os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}

Complex matrix with exclusions

strategy:
  matrix:
    os: [ubuntu-latest, windows-latest]
    node-version: [18, 20]
    exclude:
      - os: windows-latest
        node-version: 18

Cron Syntax Quick Reference

ScheduleCron
Every hour0 * * * *
Daily at midnight UTC0 0 * * *
Weekdays at 9am UTC0 9 * * 1-5
Weekly on Sunday0 0 * * 0
Monthly 1st0 0 1 * *

Output Format

After creating the workflow file, provide:

  1. What the workflow does — one-paragraph summary
  2. Required secrets — list any secrets the user needs to configure in Settings > Secrets
  3. Required permissions — if the workflow needs non-default repository permissions
  4. How to test — how to trigger the workflow (push, create PR, manual dispatch)

Common Patterns to Combine

When the user asks for something generic like "set up CI/CD", create a single workflow with multiple jobs:

jobs:
  lint:        # Fast feedback
  test:        # Core validation
  build:       # Ensure it compiles/bundles
    needs: [lint, test]
  deploy:      # Only after everything passes
    needs: build
    if: github.ref == 'refs/heads/main'

Keep workflows focused. Prefer one workflow per concern over one massive workflow, unless the jobs are tightly coupled.

What ships with it: 1 file

17.5 KB alongside SKILL.md

references/

Gives 0 of the 12 instructions most automation workflows skills give in ~2.4k tokens

Counted across 813 of the 1,214 authors here whose files we hold, read 2026-09-06

  • Use conventional commit message formatin 38 of 813, across 34 files
  • Write tests before implementing codein 26 of 813, across 12 files
  • Achieve at least 80 percent test coveragein 24 of 813, across 11 files
  • Mock external dependencies for unit testsin 22 of 813, across 10 files
  • Read product marketing context before asking questionsin 21 of 813, across 6 files
  • Implement rollback plans for every deploymentin 21 of 813, across 9 files
  • Follow the arrange-act-assert patternin 20 of 813, across 9 files
  • Delete branches after mergingin 20 of 813, across 18 files
  • Test all edge cases and error scenariosin 20 of 813, across 8 files
  • Use semantic selectors for UI testsin 19 of 813, across 7 files
  • Define sequence type and audience contextin 18 of 813, across 5 files
  • Monitor feature drift and prediction distribution driftin 18 of 813, across 5 files

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 626,045. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.