plugins/ci-pipeline/skills/ci_pipeline/SKILL.md
Generates GitHub Actions CI/CD workflows, diagnoses failing runs from logs, and adds pipeline steps. Use when asked to "set up ci", "create pipeline", "fix ci", "ci failing", "github actions", "add ci step", "diagnose build", or "workflow yaml".
npx skillsauth add shouenlee/ghcp-dev-plugin ci_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.
Generate, diagnose, and extend GitHub Actions CI/CD workflows directly from the command line.
gh CLI installed and authenticated (gh auth status)/ci init — Generate a GitHub Actions workflowDetect the project type from files present in the repository:
# Checks for these files to determine language/framework
ls pyproject.toml setup.py requirements.txt # Python
ls package.json # Node.js
ls go.mod # Go
ls Cargo.toml # Rust
ls pom.xml build.gradle # Java
Detect the test framework based on project configuration:
# Python: pytest, unittest
# Node.js: jest, mocha, vitest
# Go: go test
# Rust: cargo test
Detect the package manager:
# Python: uv, pip, poetry, pipenv
# Node.js: npm, yarn, pnpm
Generate .github/workflows/ci.yml with the following stages:
# checkout → language setup → dependency install → lint → test → build (optional)
Include caching for dependencies to speed up CI runs:
- uses: actions/cache@v4
with:
path: ~/.cache/pip # or node_modules, ~/go/pkg/mod, etc.
key: ${{ runner.os }}-deps-${{ hashFiles('**/lockfile') }}
Set up matrix testing if multiple language versions are relevant:
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12"]
Present the generated workflow and offer to write it to .github/workflows/ci.yml.
/ci diagnose — Diagnose a failing CI runList recent workflow runs:
gh run list --limit 5
If the user specifies a run ID, use it; otherwise pick the most recent failed run.
Fetch the failed logs:
gh run view <run-id> --log-failed
Analyze the error output to identify the root cause (dependency failures, test errors, syntax issues, etc.).
Search the codebase for files related to the failure:
# e.g., find the failing test file, the misconfigured dependency, etc.
Present the diagnosis with:
Offer to apply the fix directly.
/ci add-step — Add a step to an existing workflowRead existing workflow files:
ls .github/workflows/*.yml
Ask what step to add (or accept it from user input), e.g., "add a security scan step" or "add deployment to staging".
Generate the step YAML appropriate for the request.
Insert the step at the correct position in the workflow (e.g., after tests, before deploy).
Validate the resulting YAML structure to ensure correctness.
| Problem | Cause | Solution |
|---|---|---|
| gh: command not found | gh CLI is not installed | Install from https://cli.github.com/ |
| gh: not logged in | gh CLI is not authenticated | Run gh auth login |
| No workflows found | No .github/workflows/ directory exists | Run /ci init to generate a workflow |
| YAML syntax error after edit | Invalid indentation or structure | Check indentation (2 spaces) and re-validate with a YAML linter |
| Run logs are empty | Run is still in progress or was cancelled | Wait for the run to complete or check a different run |
tools
Decomposes feature descriptions or GitHub issues into ordered subtasks with file-level scope, acceptance criteria, and optional gh issue create. Use when asked to "break down task", "decompose feature", "create subtasks", "plan implementation", "break this into tasks", "task list", or "implementation plan".
documentation
Generates changelogs from conventional commits, bumps semantic versions in pyproject.toml or package.json, and publishes GitHub releases. Use when asked to "create release", "release notes", "changelog", "bump version", "semantic version", "tag release", "publish release", or "what changed since last release".
development
Runs ruff, mypy, and bandit on changed Python files — explains violations and auto-fixes with ruff check --fix. Use when asked to "lint", "fix lint", "check types", "type check", "run mypy", "run ruff", "python quality", or "lint python files".
development
Create new Agent Skills for GitHub Copilot from prompts or by duplicating this template. Use when asked to "create a skill", "make a new skill", "scaffold a skill", or when building specialized AI capabilities with bundled resources. Generates SKILL.md files with proper frontmatter, directory structure, and optional scripts/references/assets folders.