**Status**: Production Ready ✅
Sets up GitHub Actions workflows, issue templates, and security scanning for projects.
npx claudepluginhub secondsky/claude-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
assets/example-template.txtreferences/advanced-configurations.mdreferences/common-errors.mdreferences/configuration-examples.mdreferences/troubleshooting-guide.mdreferences/workflow-patterns.mdscripts/generate-codeowners.shscripts/setup-github-project.shscripts/sync-templates.shscripts/validate-workflows.shtemplates/issue-templates/bug_report.ymltemplates/issue-templates/config.ymltemplates/issue-templates/documentation.ymltemplates/issue-templates/feature_request.ymltemplates/misc/CODEOWNERStemplates/misc/FUNDING.ymltemplates/pr-templates/PULL_REQUEST_TEMPLATE.mdtemplates/pr-templates/bugfix.mdtemplates/pr-templates/feature.mdtemplates/security/SECURITY.mdStatus: Production Ready ✅ Last Updated: 2025-12-17 Version: 2.0.0 (Optimized with progressive disclosure) Dependencies: None (git and gh CLI recommended) Latest Versions: actions/checkout@v4.2.2, actions/setup-node@v4.1.0, github/codeql-action@v3.27.4
Select the workflow template that matches your project:
# For React/Vite projects
cp templates/workflows/ci-react.yml .github/workflows/ci.yml
# For Node.js libraries (matrix testing)
cp templates/workflows/ci-node.yml .github/workflows/ci.yml
# For Python projects
cp templates/workflows/ci-python.yml .github/workflows/ci.yml
# For Cloudflare Workers
cp templates/workflows/ci-cloudflare-workers.yml .github/workflows/deploy.yml
# For basic projects (any framework)
cp templates/workflows/ci-basic.yml .github/workflows/ci.yml
Why this matters:
# Create directory structure
mkdir -p .github/ISSUE_TEMPLATE
# Copy YAML templates (with validation)
cp templates/issue-templates/bug_report.yml .github/ISSUE_TEMPLATE/
cp templates/issue-templates/feature_request.yml .github/ISSUE_TEMPLATE/
Why YAML over Markdown:
# CodeQL for code analysis
cp templates/workflows/security-codeql.yml .github/workflows/codeql.yml
# Dependabot for dependency updates
cp templates/security/dependabot.yml .github/dependabot.yml
CRITICAL:
Create the standard GitHub automation directory structure:
# Create all required directories
mkdir -p .github/{workflows,ISSUE_TEMPLATE}
# Verify structure
tree .github/
# .github/
# ├── workflows/ # GitHub Actions workflows
# ├── ISSUE_TEMPLATE/ # Issue templates
# └── dependabot.yml # Dependabot config (root of .github/)
Key Points:
Choose workflows based on your project needs:
Continuous Integration (pick ONE):
ci-basic.yml - Generic test/lint/build (all frameworks)ci-node.yml - Node.js with matrix testing (18, 20, 22)ci-python.yml - Python with matrix testing (3.10, 3.11, 3.12)ci-react.yml - React/TypeScript with type checkingDeployment (optional):
5. ci-cloudflare-workers.yml - Deploy to Cloudflare Workers
Security (recommended):
6. security-codeql.yml - Code scanning
7. dependabot.yml - Dependency updates
Copy selected templates:
# Example: React app with security
cp templates/workflows/ci-react.yml .github/workflows/ci.yml
cp templates/workflows/security-codeql.yml .github/workflows/codeql.yml
cp templates/security/dependabot.yml .github/dependabot.yml
For deployment workflows (Cloudflare, AWS, etc.), add secrets:
# Using gh CLI
gh secret set CLOUDFLARE_API_TOKEN
# Paste your token when prompted
# Verify
gh secret list
Critical Syntax:
# ✅ CORRECT
env:
API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
# ❌ WRONG - Missing double braces
env:
API_TOKEN: $secrets.CLOUDFLARE_API_TOKEN
Prevents Error #6 (secrets syntax).
Issue templates (YAML format):
cp templates/issue-templates/bug_report.yml .github/ISSUE_TEMPLATE/
cp templates/issue-templates/feature_request.yml .github/ISSUE_TEMPLATE/
PR template (Markdown format):
cp templates/pr-templates/PULL_REQUEST_TEMPLATE.md .github/
Why separate formats:
Required customizations:
Update usernames/emails:
# In issue templates
assignees:
- secondsky # ← Change to your GitHub username
# In dependabot.yml
reviewers:
- "secondsky" # ← Change to your username
Adjust languages (CodeQL):
# In security-codeql.yml
matrix:
language: ['javascript-typescript'] # ← Add your languages
# Options: c-cpp, csharp, go, java-kotlin, python, ruby, swift
Update package manager (Dependabot):
# In dependabot.yml
- package-ecosystem: "npm" # ← Change if using yarn/pnpm/pip/etc
Set deployment URL (Cloudflare):
# In ci-cloudflare-workers.yml
echo "Worker URL: https://your-worker.your-subdomain.workers.dev"
# ← Update with your actual Worker URL
✅ Pin actions to SHA, not @latest
# ✅ CORRECT
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# ❌ WRONG
- uses: actions/checkout@latest
✅ Use explicit runner versions
# ✅ CORRECT
runs-on: ubuntu-24.04 # Locked to specific LTS
# ❌ RISKY
runs-on: ubuntu-latest # Changes over time
✅ Include secrets in context syntax
# ✅ CORRECT
${{ secrets.API_TOKEN }}
# ❌ WRONG
$secrets.API_TOKEN
✅ Validate YAML before committing
# Use yamllint or GitHub's workflow validator
yamllint .github/workflows/*.yml
✅ Test workflows on feature branch first
git checkout -b test/github-actions
# Push and verify CI runs before merging to main
❌ Don't use @latest for action versions
❌ Don't hardcode secrets in workflows
# ❌ NEVER DO THIS
env:
API_TOKEN: "sk_live_abc123..." # Secret exposed in repo!
❌ Don't skip build steps for compiled languages (CodeQL)
# ❌ WRONG - CodeQL fails for Java without build
- name: Perform CodeQL Analysis # No .class files to analyze
# ✅ CORRECT - Include build
- name: Build project
run: ./mvnw clean install
- name: Perform CodeQL Analysis # Now has .class files
❌ Don't ignore devDependencies in Dependabot
❌ Don't use single ISSUE_TEMPLATE.md file
# ❌ OLD WAY
.github/ISSUE_TEMPLATE.md
# ✅ NEW WAY
.github/ISSUE_TEMPLATE/
bug_report.yml
feature_request.yml
This skill prevents 18 documented issues. Here are the top 5 most critical:
Error: workflow file is invalid. mapping values are not allowed in this context
Source: Stack Overflow (most common GitHub Actions error)
Why It Happens: Spaces vs tabs, missing spaces after colons, inconsistent indentation
Prevention: Use skill templates with validated 2-space indentation
Impact: Workflow fails to parse, CI doesn't run
Error: Workflow breaks unexpectedly after action updates
Source: GitHub Security Best Practices 2025
Why It Happens: Using @latest or @v4 instead of specific SHA
Prevention: All templates pin to SHA with version comment
Impact: Unexpected breaking changes, security vulnerabilities
Error: Secret not found or empty variable
Source: GitHub Actions Debugging Guides
Why It Happens: Wrong syntax ($secrets.NAME instead of ${{ secrets.NAME }})
Prevention: Templates demonstrate correct context syntax
Impact: Deployment failures, broken CI/CD pipelines
Error: Security scans skipped on dependency updates
Source: GitHub Community Discussion #121836
Why It Happens: Default trigger limitations
Prevention: Templates include push: branches: [dependabot/**]
Impact: Vulnerable dependencies merged without scanning
Error: Incomplete issues, missing critical info
Source: Community Feedback
Why It Happens: Markdown templates don't validate
Prevention: YAML templates with required: true validation
Impact: Can't reproduce bugs, wasted triage time
For complete error documentation with all 18 issues: Load references/common-errors.md when debugging GitHub Actions issues or configuring workflows.
Load reference files when working on specific aspects of GitHub automation:
references/common-errors.md)Load when:
references/workflow-patterns.md)Load when:
references/configuration-examples.md)Load when:
references/troubleshooting-guide.md)Load when:
references/advanced-configurations.md)Load when:
When user creates new Worker project:
# User: "Create Cloudflare Worker with CI/CD"
# This skill runs AFTER cloudflare-worker-base
cp templates/workflows/ci-cloudflare-workers.yml .github/workflows/deploy.yml
# Configure secrets
gh secret set CLOUDFLARE_API_TOKEN
Result: New Worker with automated deployment on push to main
When user uses project-planning skill:
# User: "Plan new React app with GitHub automation"
# project-planning generates IMPLEMENTATION_PHASES.md
# Then this skill sets up GitHub automation
cp templates/workflows/ci-react.yml .github/workflows/ci.yml
cp templates/issue-templates/*.yml .github/ISSUE_TEMPLATE/
Result: Planned project with complete GitHub automation
When preparing project for open source:
# User: "Prepare repo for open source contributions"
# open-source-contributions skill handles CONTRIBUTING.md
# This skill adds issue templates and CODEOWNERS
cp templates/issue-templates/*.yml .github/ISSUE_TEMPLATE/
cp templates/misc/CODEOWNERS .github/
Result: Contributor-friendly repository
Required:
Optional:
Install gh CLI:
# macOS
brew install gh
# Ubuntu
sudo apt install gh
# Verify
gh --version
Context7 Library ID: Search for /websites/github or /github/ in Context7 MCP
Use this checklist to verify your GitHub automation setup:
Workflows:
.github/workflows/ directoryIssue Templates:
.github/ISSUE_TEMPLATE/ directoryrequired: true for critical fieldsPR Template:
.github/Security:
security-events: write permissionTesting:
Documentation:
Questions? Issues?
references/common-errors.md for all 18 errorsyamllint .github/workflows/*.ymlgh secret listLast Updated: 2025-12-17 Version: 2.0.0 (Optimized with progressive disclosure) Status: Production Ready
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.