domains / devops / ship-release / ship

ship

Skill card

combined

All three skills are named 'ship' and share the high-level goal of preparing work for release, but they define materially different procedures. davepoon/buildwithclaude delegates to an external workflow file and focuses on PR creation and a continuation prompt. plugin87/ux-ui-agent-skills is a pre-release gate for a UI kit that runs specific accuracy/responsive/emoji scripts and drafts a README/changelog without tagging. LeoYeAI/openclaw-master-skills is a fully automated, non-interactive pipeline that detects the base branch, runs tests, reviews the diff, bumps VERSION, updates CHANGELOG, commits, pushes, and creates a PR, with extensive preamble and contributor-mode logic. No single copy is the procedure the others reproduce; each contains steps and constraints the others lack, so crowning one would hide real alternatives.

Repositories

RepositoryPath
davepoon/buildwithclaudeplugins/gsd/skills/ship/SKILL.md
plugin87/ux-ui-agent-skills.claude/skills/ship/SKILL.md
LeoYeAI/openclaw-master-skillsskills/gstack/ship/SKILL.md

Other copies

RoleRepositoryPath
peerdavepoon/buildwithclaudeplugins/gsd/skills/ship/SKILL.md
peerplugin87/ux-ui-agent-skills.claude/skills/ship/SKILL.md
peerLeoYeAI/openclaw-master-skillsskills/gstack/ship/SKILL.md

Combined skill

---
name: ship
description: Ship workflow — detect base branch, run quality gates, review diff, bump version, update changelog, commit, push, and create PR. Use after implementation and verification are complete.
argument-hint: "[phase number or milestone, e.g., '4' or 'v1.0']"
allowed-tools:
  - Read
  - Bash
  - Grep
  - Glob
  - Write
  - Edit
  - AskUserQuestion
---

## Step 0: Environment and Base Branch Detection

1. If the project uses a gstack-style preamble, run the update-check and session-tracking commands first. If an upgrade is available, follow the inline upgrade flow. If the project does not use gstack, skip this sub-step.
2. Detect the base branch:
   - Check if a PR already exists for the current branch: `gh pr view --json baseRefName -q .baseRefName`. If it succeeds, use the printed branch name.
   - If no PR exists, detect the repo's default branch: `gh repo view --json defaultBranchRef -q .defaultBranchRef.name`.
   - If both fail, fall back to `main`.
3. Print the detected base branch. Use it in all subsequent git and gh commands.

## Step 1: Quality Gate

Run all applicable quality checks. If any check fails, stop and report the failures; do not proceed.

- If the project has a UI-kit accuracy script, run it and report the real N/N result.
- If the project has a responsive-verification script, run it and confirm no overflow at the required breakpoints.
- If the project has an emoji or taste-surface check, run it.
- Run the project's standard test suite.

## Step 2: Review Diff

- Generate the diff against the detected base branch.
- Review the diff for correctness, completeness, and any CRITICAL issues.
- If CRITICAL issues are found, stop and present them to the user for a decision (fix, acknowledge, or skip).

## Step 3: Version Bump and Changelog

- Determine the bump level (major/minor/patch/micro) from the diff. If a MINOR or MAJOR bump is needed, ask the user to confirm. For MICRO or PATCH, auto-pick.
- Update the VERSION file (or equivalent) with the new version.
- Generate a CHANGELOG entry from the diff and the commits since the last tag.
- If the project maintains a README with a version badge, "current" line, and changelog section, update those as well.

## Step 4: Commit, Push, and Create PR

- Stage all changes, including any uncommitted work.
- Create a commit with an auto-generated message summarizing the changes.
- Push the branch to the remote.
- Create a PR targeting the detected base branch with an auto-generated body that includes the version bump, changelog entry, and test results.
- Print the PR URL.

## Step 5: Output and Continuation

- Emit a ship status line (e.g., `## ✓ Phase N / Milestone v1.x Shipped — PR #123`) with the PR URL.
- If the project uses a continuation pattern, emit a `## ▶ Next Up` heading with the next command and a `/clear` suggestion, noting that `/gsd:resume-work` or an equivalent restores position if the user changes their mind.
- Include an "Also available:" section with relevant follow-up actions (e.g., cross-AI review, PR-specific actions).

## Conflicts

- **davepoon/buildwithclaude** delegates the entire procedure to an external workflow file and does not specify concrete steps; this combined instruction inlines the steps from the other two copies.
- **plugin87/ux-ui-agent-skills** forbids destructive actions (no tag, no publish) and requires user confirmation before any git tag; **LeoYeAI/openclaw-master-skills** is non-interactive and auto-commits, pushes, and creates a PR. This combined instruction requires user confirmation only for MINOR/MAJOR version bumps and CRITICAL review findings, and does not perform git tag or publish steps.
- **LeoYeAI/openclaw-master-skills** includes gstack preamble and contributor-mode field-report logic; this combined instruction includes the preamble as an optional sub-step and omits the contributor-mode logic, which is specific to the gstack tooling.