Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install partme-ai-full-stack-skills-skills-devops-skills-github-actionsgit clone https://github.com/partme-ai/full-stack-skills.gitcp full-stack-skills/SKILL.MD ~/.claude/skills/partme-ai-full-stack-skills-skills-devops-skills-github-actions/SKILL.md---
name: github-actions
description: "Provides comprehensive guidance for GitHub Actions including workflow creation, CI/CD pipelines, secrets management, matrix strategies, and reusable workflows. Use when the user asks about GitHub Actions, needs to create workflows, automate processes, or configure CI/CD."
license: Complete terms in LICENSE.txt
---
## When to use this skill
Use this skill whenever the user wants to:
- Create or debug GitHub Actions workflows (`.github/workflows/*.yml`)
- Configure triggers, jobs, steps, secrets, matrix strategies, or reusable workflows
- Integrate checkout, build, test, deploy, and notification steps
- Optimize workflow performance with caching and concurrency controls
## How to use this skill
### Workflow
1. **Create workflow file** — add YAML to `.github/workflows/`
2. **Define triggers** — specify `on` events (push, pull_request, schedule, etc.)
3. **Configure jobs and steps** — use official and third-party actions
4. **Test and iterate** — push to trigger, check logs, fix failures
### Quick Start Example
```yaml
# .github/workflows/ci.yml
name: CI Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- run: npm ci
- run: npm test
deploy:
needs: test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- name: Deploy
env:
DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
run: ./scripts/deploy.sh
```
### Reusable Workflow Example
```yaml
# .github/workflows/reusable-build.yml
on:
workflow_call:
inputs:
node-version:
type: string
default: '20'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
- run: npm ci && npm run build
```
## Best Practices
- Store tokens and keys in `secrets` — never echo sensitive values in logs
- Add `id` and `outputs` to key steps for downstream consumption
- Cache dependencies with `actions/cache` or built-in setup action caching
- Use `concurrency` to cancel outdated workflow runs on the same branch
- Pin action versions to a SHA or major version tag for security
## Troubleshooting
- **Workflow not triggered**: Verify the `on` event matches your branch and event type
- **Permission denied**: Check `permissions` block and repository settings for GITHUB_TOKEN scope
- **Cache miss**: Ensure the cache key includes lockfile hash (e.g., `hashFiles('**/package-lock.json')`)
- **Matrix failures**: Use `continue-on-error` selectively; check logs per matrix combination
## Keywords
github actions, workflow, yaml, CI/CD, automation, matrix strategy, reusable workflows, secrets