config/claude/skills/ci-cd-pipeline/SKILL.md
Analyze a repo and maintain its GitHub Actions CI/CD pipeline. Detects language, tooling, test frameworks, Docker, and deploy targets, then adds or removes workflow actions to match the project's current state. Use when the user asks to "add CI/CD", "update CI", "review pipeline", "set up GitHub Actions", "audit CI", "improve CI/CD", or any request about CI/CD pipelines, GitHub Actions workflows, or continuous integration.
npx skillsauth add cryptofish7/dotfiles ci-cd-pipelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze a repository and maintain its GitHub Actions CI/CD pipeline. Designed to be called repeatedly — each invocation audits the current state and proposes additions and removals.
Build a comprehensive project profile by scanning the entire repository:
pyproject.toml, package.json, go.mod, Cargo.toml, Gemfile, foundry.toml, hardhat.config.*, truffle-config.js, Move.toml, etc.).eslintrc*, prettier in deps, ruff in deps, tsconfig.json, foundry.toml, biome.json, etc.)tests/, test/, *_test.go, *.test.ts, *.t.sol, etc.)package.json scripts, Makefile targets, scripts/ directory, foundry.toml, hardhat.config.*, Cargo.toml, pyproject.toml build sectionsDockerfile, docker-compose.yml, .dockerignore.github/workflows/*.yml files. For each, note the jobs, triggers, and tools used.requires-python, engines, .python-version, .nvmrc, .node-versionpackages/, apps/, workspace configs in package.json, pnpm-workspace.yaml, Cargo workspaces, etc.)scripts/ directory and package.json scripts to understand project-specific build/test/deploy commandsBased on the discovered project profile, determine what CI jobs are needed. Do NOT reference a static catalog — reason from what the project actually uses.
Evaluate coverage across these categories:
Code quality — For each language/package detected, check if lint, format, and typecheck tools are configured. Identify the specific tool and command from the project's own config (e.g., pnpm lint from package.json scripts, forge fmt --check from foundry.toml, ruff check . from pyproject.toml).
Testing — For each test framework detected, identify the correct test command. Check for unit tests, integration tests, E2E tests, and fuzz tests. Look at package.json scripts, Makefile targets, and test config files to find the exact commands.
Security — Dependency audits based on detected package managers (npm audit, pip-audit, cargo audit, etc.). Secret scanning if the project handles credentials or has .env files.
Build — Compilation steps based on detected build tools (forge build, pnpm build, cargo build, go build, docker build, etc.). Only include if the project has build artifacts.
Deploy — Platform-specific deploy jobs based on detected deploy targets (Railway, Fly.io, Vercel, etc.).
For each proposed job:
Compare against existing workflows to classify each item:
| Needed? | Exists in workflows? | Decision | |---------|---------------------|----------| | Yes | No | Add | | Yes | Yes, but stale/misconfigured | Update (explain what changed) | | No | Yes | Remove (tooling no longer present) | | Yes | Yes, correctly configured | Keep |
Present findings to the user:
## CI/CD Audit Report
### Actions to Add
- [ ] [action]: [rationale — what config/files were detected that justify this]
### Manual Setup Required
> Only include this section when adding a deploy action.
[Platform name]:
1. [step from deploy-prerequisites.md]
2. [step from deploy-prerequisites.md]
3. Add `SECRET_NAME` to GitHub repo secrets (Settings → Secrets and variables → Actions)
4. [verification step]
### Actions to Remove
- [ ] [action]: [rationale — signal no longer present]
### Actions to Update
- [ ] [action]: [what changed and why]
### No Changes Needed
- [action]: correctly configured
When adding a deploy action, read ~/.claude/skills/ci-cd-pipeline/references/deploy-prerequisites.md for the detected platform and include its setup steps in the Manual Setup Required section. This ensures the user knows what manual steps are needed before the workflow will function.
If running interactively, wait for user approval before making changes. If running autonomously (e.g., as a post-task audit subagent), proceed directly to Phase 4 — apply all additions and updates from the audit.
After approval:
.github/workflows/*.yml files[tool.ruff] section), add it to the project config fileci.yml for lint/typecheck/test, security.yml for audits/scanning, deploy.yml for deployment.ci.yml should run in parallel unless they have dependencies.actions/checkout@v4 and actions/setup-python@v5 / actions/setup-node@v4.@v4), not SHAs.push to main/master + pull_request. Security: push to main + weekly schedule.pyproject.toml for Python, package.json for JS).testing
Generate and maintain a local deploy script (scripts/deploy.sh). Discovers project services, deploys them locally, and health-checks each one. Use when the user asks to "smoke test", "deploy locally", "test local deploy", "update deploy script", "run deploy", or "run smoke test".
testing
Audit installed skills and agents for bloat, overlap, and improvement opportunities. Use when the user wants to review, audit, list, or improve their skills and agents. Triggers on "review skills", "audit skills", "list skills", "skill review", "improve skills".
development
Set up the autonomous post-task workflow for a project. Injects the standard development pipeline into AGENTS.md and installs all required skills and agents (docs-consolidator, ci-cd-pipeline, smoke-test, bug-bash-update, code-reviewer, debugger). Use at the start of a new project. Triggers on "setup workflow", "init workflow", "add workflow", or "set up project workflow".
tools
Analyze the current conversation for learnings and persist approved insights. Triggers on "reflect", "retrospective", "session review", "what did we learn", "conversation review".