Skip to content
Development
Skill

/ship

Create a rich PR from planning artifacts (SUMMARY one-liners, requirement coverage, verification status).

From plugin
plan-build-run
1847 skills18 agents70 commands

Claude Code

$ npx -y skills add SienkLogic/plan-build-run --skill ship --agent claude-code

SKILL.md

ship.SKILL.md
name: ship
description: "Create a rich PR from planning artifacts (SUMMARY one-liners, requirement coverage, verification status)."
allowed-tools: Read, Bash, Glob, Grep, AskUserQuestion
argument-hint: "[--base <branch>] [--draft]"

**STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Begin executing Step 1 immediately.**

/pbr:ship -- Create PR from Planning Artifacts

**References:** `@references/ui-brand.md`

You are the orchestrator for `/pbr:ship`. This skill generates a rich pull request from PBR planning artifacts -- SUMMARY one-liners, verification status, and requirement coverage. It uses `gh pr create` to open the PR.

Step 0 -- Immediate Output

**Before ANY tool calls**, display this banner:

+--------------------------------------------------------------+
|  PLAN-BUILD-RUN > SHIP                                       |
+--------------------------------------------------------------+

Then proceed to Step 1.

Step 1: Parse Arguments and Validate

1. Parse `$ARGUMENTS` for optional flags:

  • `--base <branch>` -- target branch for the PR (default: repo default branch)
  • `--draft` -- create as draft PR

2. Verify `gh` CLI is available: `gh --version` 3. Verify git working tree is clean. If uncommitted changes exist, warn:

   WARNING: You have uncommitted changes. Commit or stash before shipping.

**CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding: Use AskUserQuestion (pattern: yes-no): question: "Continue with uncommitted changes?" If "No": stop. 4. Verify current branch is NOT the default branch:

   git rev-parse --abbrev-ref HEAD

If on main/master, warn and stop: "You are on the default branch. Create a feature branch first."

Step 2: Gather Planning Artifacts

1. Read `.planning/STATE.md` to get current phase info (phase number, slug, status) 2. Find the current phase directory: `.planning/phases/{NN}-{slug}/` 3. Read all `SUMMARY-*.md` files in the phase directory:

  • Extract `status` from frontmatter
  • Extract one-liner descriptions from the body (first non-heading, non-empty line after `## Task Results`)
  • Collect `commits` arrays from frontmatter

4. Read `VERIFICATION.md` in the phase directory (if exists):

  • Extract `score` and `status` from frontmatter
  • Extract pass/fail counts

5. Read `.planning/ROADMAP.md`:

  • Extract requirements mapped to the current phase
  • Extract phase goal

6. Compute git stats:

   git diff --stat $(git merge-base HEAD main)..HEAD
   git log --oneline $(git merge-base HEAD main)..HEAD | wc -l

Step 3: Generate PR Body

Build the PR body with these sections:

## Summary

{Phase goal from ROADMAP.md}

{For each SUMMARY file: "- **Plan {NN}**: {one-liner status}" }

## Requirements

| REQ-ID | Description | Status |
|--------|-------------|--------|
{For each requirement mapped to this phase}

## Verification

- **Score**: {score from VERIFICATION.md or "Not verified"}
- **Status**: {status}
- **Must-haves**: {pass_count}/{total_count} passing

## Changes

- **Commits**: {commit_count}
- **Files changed**: {file_count}
- **Insertions**: +{insertions}
- **Deletions**: -{deletions}

---
Generated with [Plan-Build-Run](https://github.com/pibster/plan-build-run)

Step 4: Create PR

1. Generate a PR title from the phase: `feat({phase-slug}): {phase goal summary}`

  • Keep under 70 characters
  • Use appropriate commit type (feat, fix, refactor) based on phase goal keywords

2. Run `gh pr create`:

   gh pr create --title "{title}" --body "$(cat <<'PREOF'
   {generated body}
   PREOF
   )"
  • Add `--base {branch}` if `--base` flag was provided
  • Add `--draft` if `--draft` flag was provided

3. Capture and display the PR URL

Step 5: Display Result

PR created: {url}

  Title:    {title}
  Base:     {base branch}
  Status:   {draft or ready}
  Commits:  {count}
  Files:    {count}

Step 6: Next Steps

After displaying the PR result, always present a NEXT UP routing block:

╔══════════════════════════════════════════════════════════════╗
║  ▶ NEXT UP                                                   ║
╚══════════════════════════════════════════════════════════════╝

**PR created** — continue to the next phase or track progress

`/pbr:continue`

**Also available:**
- `/pbr:status` — see overall project status
- `/pbr:milestone` — if this was the last phase, complete the milestone

<sub>`/clear` first → fresh context window</sub>

Error Handling

  • `gh` not installed: "Install GitHub CLI: https://cli.github.com/"
  • Not a git repo: stop with error
  • No planning artifacts found: "No SUMMARY files found. Run /pbr:build first."
  • PR creation fails: show the `gh` error output and suggest fixes
Read more
@sienklogic
Ships withplan-build-run

Plan it. Build it. Run it. A Claude Code plugin for structured development with context-engineered agents.

1847 skills18 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
18
Star history of SienkLogic/plan-build-run on GitHub, a chart by star-history.com

Other skills on plan-build-run.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about ship.

Which coding agents can use ship?
ship installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.