From project
This skill should be used when the user says "set up CI", "create GitHub Actions", "scaffold CI pipeline", "add CI/CD", "configure continuous integration", "create test workflow", "create release workflow", "add pre-commit hooks", "set up linting pipeline", "configure ruff in CI", "configure biome in CI", "add typo checking", or wants to add, update, or customize CI/CD pipelines for their project. For initial project setup including basic CI, see init-project. Use ci-scaffolding for adding or customizing CI/CD in existing projects.
How this skill is triggered — by the user, by Claude, or both
Slash command
/project:ci-scaffoldingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate and configure CI/CD pipelines following project conventions. Supports Python (ruff + pytest + coverage) and TypeScript/JavaScript (biome + bun test) stacks, with templates for testing, documentation, and release workflows.
Generate and configure CI/CD pipelines following project conventions. Supports Python (ruff + pytest + coverage) and TypeScript/JavaScript (biome + bun test) stacks, with templates for testing, documentation, and release workflows.
Standard Python CI pipeline:
# .github/workflows/test.yml
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- run: uv sync --dev
- run: uv run ruff check .
- run: uv run ruff format --check .
- run: uv run pytest --cov --cov-report=xml
Key conventions:
astral-sh/setup-uv (not pip)# .github/workflows/test.yml
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
- run: bun install
- run: bun run biome check .
- run: bun test
Key conventions:
oven-sh/setup-bun (not npm/node)Tag-based release automation:
# .github/workflows/release.yml
name: Release
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: softprops/action-gh-release@v2
with:
generate_release_notes: true
MkDocs deployment to GitHub Pages:
# .github/workflows/docs.yml
name: Docs
on:
push:
branches: [main]
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/setup-uv@v5
- run: uv sync --group docs
- run: uv run mkdocs gh-deploy --force
Add typo checking to any project:
# In existing test.yml or standalone
- uses: crate-ci/typos@master
#!/bin/sh
# .git/hooks/pre-commit
STAGED=$(git diff --cached --name-only --diff-filter=d -- '*.py')
[ -z "$STAGED" ] && exit 0
echo "$STAGED" | xargs uv run ruff check --fix --unsafe-fixes
echo "$STAGED" | xargs uv run ruff format
git add $STAGED
#!/bin/sh
# .git/hooks/pre-commit
STAGED=$(git diff --cached --name-only --diff-filter=d -- '*.ts' '*.tsx' '*.js' '*.jsx')
[ -z "$STAGED" ] && exit 0
echo "$STAGED" | xargs bunx biome check --write
git add $STAGED
Scan for language markers (pyproject.toml, package.json, Cargo.toml, go.mod) and existing CI configuration.
Based on detection:
Create .github/workflows/ directory and write workflow files. Never overwrite existing workflows without asking.
Run act locally if available to validate workflows, or do a dry-run check of YAML syntax.
npx claudepluginhub neuromechanist/research-skills --plugin projectConfigures GitHub Actions CI/CD workflows for Python (pytest/ruff/mypy), Rust, and TypeScript (Jest/ESLint) projects with testing, linting, type-checking, build, and deployment pipelines.
Sets up testing infrastructure: pre-commit hooks, unit/integration/e2e test directories, GitHub Actions CI/CD with coverage/Codecov, docs workflows, and badges for Python/JS/Go/Rust projects.
Sets up or modifies CI/CD pipelines with automated quality gates (lint, types, tests, build, audit) and deployment. Includes GitHub Actions starters and platform mapping.