plugins/full-orchestration/skills/swe/SKILL.md
Run the full software engineering pipeline from ticket to PR. Use when starting a feature, fixing a bug from a ticket, or driving end-to-end development from a Jira, Linear, or GitHub issue. Accepts a ticket ID or URL as argument and orchestrates intake, spec design, TDD implementation, code review, and PR creation with approval gates at each stage.
npx skillsauth add shouenlee/ghcp-dev-plugin sweInstall 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.
You give it a ticket ID. It gives you a reviewed PR.
/swe PROJ-123
/swe https://github.com/org/repo/issues/42
Parse the first positional argument:
PROJ-123, #42) → use directlyStep 0 — Check plugin dependencies:
Verify /deep_review is available (required for Stage 3). If unavailable, stop and show: /plugin install deep-review@ghcp-dev-plugin.
Step 1 — Detect target branch:
gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
Fallback: git symbolic-ref refs/remotes/origin/HEAD, then default to main.
Step 2 — Ensure feature branch:
current=$(git branch --show-current)
If on the target branch, ask user to confirm creating feat/{ticket-id}. If on a different branch, use it as the feature branch.
Step 3 — Create directories:
mkdir -p .claude/swe-state/{ticket-id}
mkdir -p .claude/specs
Step 4 — Write full state file to .claude/swe-state/{ticket-id}.json:
Read the template from state-template.json in this skill's directory (find it via **/swe/state-template.json). Replace all {ticket-id} placeholders with the actual ticket ID, {detected} with the target branch, and {current-or-created} with the feature branch. Write the populated JSON to the state file path.
This is the single source of truth for the pipeline. All file paths are pre-populated — downstream skills read paths from state, never construct them. Fields with null, false, 0, or [] are populated by the owning stage.
Pipeline runs 4 stages in order: intake → spec → implement_and_review → pr
For each stage in order:
## Stage {N}: {Name}current_stage and status: "in_progress" in state| Stage | Skill |
|---|---|
| intake | /ticket_intake {ticket-id} |
| spec | /spec_writer {ticket-id} |
| implement_and_review | /implement_and_review {ticket-id} |
| pr | /pr_create {ticket-id} |
status: "failed", report which stage failedstatus: "aborted", exitEach skill handles its own user interaction and state writes.
## Pipeline Complete
**Ticket:** {ticket-id}
**PR:** {pr-url}
**State:** .claude/swe-state/{ticket-id}.json
Set status: "completed".
Tip: Use
/swe_status {ticket-id}at any time to check pipeline progress.
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.