
Github Actions Workflow
- 569 installs
- 305 repo stars
- Updated March 4, 2026
- aj-geddes/useful-ai-prompts
github-actions-workflow is a Claude Code skill that helps developers draft and extend GitHub Actions workflows for CI testing, security scans, and automated deployments from their repository.
About
github-actions-workflow is a Claude Code skill for building comprehensive GitHub Actions workflows covering CI/CD, testing, security scanning, and deployment. The skill teaches workflows, jobs, steps, and conditional execution patterns so agents can automate build, test, security analysis, and release pipelines directly in .github/workflows YAML. Developers reach for github-actions-workflow when bootstrapping repository automation, adding matrix test jobs, wiring dependency updates, or extending deploy stages without memorizing Actions syntax edge cases.
- Starter CI/CD pipeline with push/PR triggers and multi-version matrix jobs
- Covers build automation, security scanning, dependency updates, and deployment jobs
- Documents workflows, jobs, steps, env vars, and conditional execution patterns
- Points to reference guides for complete CI/CD, security, and release implementations
- Uses checkout/setup-node and registry env patterns common in solo SaaS repos
Github Actions Workflow by the numbers
- 569 all-time installs (skills.sh)
- Ranked #251 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill github-actions-workflowAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 569 |
|---|---|
| repo stars | ★ 305 |
| Security audit | 3 / 3 scanners passed |
| Last updated | March 4, 2026 |
| Repository | aj-geddes/useful-ai-prompts ↗ |
How do you write GitHub Actions CI/CD workflows?
Draft or extend GitHub Actions workflows for CI, security scans, and automated deploys from their repo.
Who is it for?
Developers adding or extending GitHub Actions pipelines who need CI, security scans, and deploy jobs drafted from repository context.
Skip if: GitLab CI, CircleCI, or Jenkins pipelines, or application feature code unrelated to workflow YAML.
When should I use this skill?
A developer asks to create, fix, or extend GitHub Actions workflows for CI, testing, security scanning, or deployment.
What you get
.github/workflows YAML files with jobs for testing, security scanning, build automation, and deployment stages.
- .github/workflows YAML files
- CI job definitions
- deploy and security scan workflows
Files
GitHub Actions Workflow
Table of Contents
Overview
Create powerful GitHub Actions workflows to automate testing, building, security scanning, and deployment processes directly from your GitHub repository.
When to Use
- Continuous integration and testing
- Build automation
- Security scanning and analysis
- Dependency updates
- Automated deployments
- Release management
- Code quality checks
Quick Start
Minimal working example:
# .github/workflows/ci.yml
name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x, 18.x, 20.x]
steps:
- uses: actions/checkout@v3
- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
// ... (see reference guides for full implementation)Reference Guides
Detailed implementations in the references/ directory:
| Guide | Contents |
|---|---|
| Complete CI/CD Workflow | Complete CI/CD Workflow |
| Automated Release Workflow | Automated Release Workflow |
| Docker Build and Push | Docker Build and Push |
Best Practices
✅ DO
- Use caching for dependencies (npm, pip, Maven)
- Run tests in parallel with matrix strategy
- Require status checks on protected branches
- Use environment secrets and variables
- Implement conditional jobs with
if: - Lint and format before testing
- Set explicit permissions with permissions
- Use runner labels for specific hardware
- Cache Docker layers for faster builds
❌ DON'T
- Store secrets in workflow files
- Run untrusted code in workflows
- Use
secrets.*with pull requests from forks - Hardcode credentials or tokens
- Miss error handling with
continue-on-error - Create overly complex workflows
- Skip testing on pull requests
Automated Release Workflow
Automated Release Workflow
# .github/workflows/release.yml
name: Release
on:
push:
tags:
- "v*"
jobs:
create-release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Generate changelog
id: changelog
uses: mikepenz/action-github-changelog-generator@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Create Release
uses: ncipollo/release-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
body: ${{ steps.changelog.outputs.changelog }}
draft: false
- name: Publish to npm
uses: JS-DevTools/npm-publish@v1
with:
token: ${{ secrets.NPM_TOKEN }}Complete CI/CD Workflow
Complete CI/CD Workflow
# .github/workflows/ci.yml
name: CI/CD Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x, 18.x, 20.x]
steps:
- uses: actions/checkout@v3
- name: Setup Node ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run linter
run: npm run lint
- name: Run tests
run: npm run test:coverage
- name: Upload coverage
uses: codecov/codecov-action@v3
build:
runs-on: ubuntu-latest
needs: test
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to Registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=branch
type=semver,pattern={{version}}
- name: Build and push image
uses: docker/build-push-action@v4
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@master
with:
scan-type: "fs"
scan-ref: "."
format: "sarif"
output: "trivy-results.sarif"
- name: Upload Trivy results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: "trivy-results.sarif"
deploy:
runs-on: ubuntu-latest
needs: [test, build]
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- uses: actions/checkout@v3
- name: Deploy to production
run: |
echo "Deploying to production..."
# Add deployment scriptDocker Build and Push
Docker Build and Push
name: Docker Build
on: [push]
jobs:
docker:
runs-on: ubuntu-latest
permissions:
packages: write
steps:
- uses: actions/checkout@v3
- uses: docker/setup-buildx-action@v2
- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/build-push-action@v4
with:
context: .
push: true
tags: ghcr.io/${{ github.repository }}:latest#!/bin/bash
# validate-pipeline.sh - Validate CI/CD pipeline configuration
# Usage: ./validate-pipeline.sh <pipeline_file>
set -euo pipefail
PIPELINE_FILE="${{1:?Usage: $0 <pipeline_file>}}"
echo "Validating pipeline: $PIPELINE_FILE"
# TODO: Add pipeline validation
# - Check YAML/Groovy syntax
# - Verify stage dependencies
# - Check for required stages (build, test, deploy)
# - Validate environment variable references
# - Check for security best practices
echo "Pipeline validation complete."
# CI/CD Pipeline Starter Template
# TODO: Customize for your CI/CD platform (GitHub Actions, GitLab CI, Jenkins, etc.)
name: CI/CD Pipeline
# TODO: Configure triggers
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# TODO: Add build steps
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
# TODO: Add test steps
deploy:
runs-on: ubuntu-latest
needs: test
if: github.ref == 'refs/heads/main'
steps:
# TODO: Add deployment steps
- run: echo "Deploy to production"
Related skills
How it compares
Use github-actions-workflow for GitHub-native CI YAML; use a generic DevOps skill when targeting multiple CI providers.
FAQ
What pipeline types does github-actions-workflow cover?
github-actions-workflow covers continuous integration, build automation, security scanning, dependency updates, and deployment workflows. The skill structures jobs, steps, and conditional execution in GitHub Actions YAML.
Where do github-actions-workflow outputs live?
github-actions-workflow produces .github/workflows YAML files inside the repository. Agents draft or extend workflow definitions for testing, security, and deploy stages directly from repo context.
Is Github Actions Workflow safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.