agentsclimarketplace

Ship

Skill deessejs/skills/skills/ship

Canonical aggregation point for Claude Code skills authored by the deessejs org

Install
npx -y skills add deessejs/skills --skill ship

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Select which merged PRs go from staging to main, create a release PR, trigger auto-release.

SKILL.md

4.4 KB, as published. Nobody here has run it

ship Skill

Select which merged PRs go from staging to main, create a release branch, and open a PR to trigger auto-release.

When to use

Trigger phrases: "ship", "/ship", "prepare release".

Run this after /review-pr approves — CI must be green on staging.

Prerequisites

  1. PRs are merged to staging and CI is green
  2. A changeset file (.changeset/*.md) exists in staging

Workflow overview

0. Reset       — return to main and pull latest
1. List        — show PRs merged to staging since last release
2. Select      — user selects which PRs go to main
3. Branch      — create release branch with selected PRs
4. PR          — open PR to main
5. Done        — user merges → push → auto-release

§0 — Reset (always)

git checkout main && git pull origin main

§1 — List merged PRs

Find PRs merged to staging since the last release tag:

LAST_TAG=$(git describe --tags --abbrev=0 origin/main 2>/dev/null || echo "none")

# Get the next version from changeset
NEXT_VERSION=$(cat .changeset/*.md | grep -oP '(?<=^## )\d+\.\d+\.\d+' || echo "patch")

# Create release branch from main
RELEASE_BRANCH="release/v${NEXT_VERSION}"

List the PRs that contributed those commits:

gh pr list --base staging --state=merged --limit=50 \
  --json number,title,author,labels,mergedAt

Present to the user in a clear format:

PRs merged to staging since {LAST_TAG}:

1. #123 — Add authentication — @author — labels: type:feature, area:auth
2. #124 — Fix login bug — @author — labels: type:bug, area:auth
3. #125 — Update dependencies — @author — labels: type:chore

Select which PRs should go to main for this release.

§2 — Select

Ask the user to select which PRs go to main.

Option A — All PRs

If the user wants all PRs in staging:

"Include all {n} PRs in the release?"

Option B — Specific PRs

If the user wants to select specific PRs:

"Which PRs should go to main? (e.g., #123, #124, skip #125)"

Option C — Exclude specific PRs

If the user wants most PRs but excludes a few:

"Include all except which PRs? (e.g., all except #125)"

Document the selection for the release notes.

§3 — Create release branch

Create a release branch with the selected PRs:

# Get the selected PR numbers
SELECTED_PR_NUMS="{1,2,3}"

# Create release branch from main
RELEASE_BRANCH="release/v${NEXT_VERSION}"
git checkout -b "$RELEASE_BRANCH" origin/main

# Cherry-pick commits from the selected PRs
for pr in $SELECTED_PR_NUMS; do
  # Get the merge commit SHA for each PR
  SHA=$(gh api "repos/<org>/<repo>/pulls/{pr}/merge" --jq '.merge_commit_sha')
  git cherry-pick "$SHA"
done

# Push release branch
git push -u origin "$RELEASE_BRANCH"

If cherry-pick has conflicts:

  1. Resolve conflicts
  2. git add .
  3. git cherry-pick --continue
  4. If a PR shouldn't be included due to conflicts, note it for the user

§4 — Open PR to main

gh pr create \
  --base main \
  --head "$RELEASE_BRANCH" \
  --title "Release {date}" \
  --body "$(cat <<'EOF'
## Release Summary

This PR ships the following changes from staging:

{List of selected PRs with titles and authors}

### Included
{PR list}

### Changeset
A `.changeset/*.md` file is included to trigger version bump and auto-release.

### Next step
Review and merge this PR. Auto-release will trigger on push to main.

---
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)" \
  --label "release"

§5 — Done

Tell the user:

"Release PR opened: {PR URL}. Merge it to main to trigger auto-release."

Error handling

SituationAction
No PRs merged since last releaseTell user: "No PRs merged since last tag. Nothing to ship."
Cherry-pick conflictResolve conflicts, or skip the conflicting PR
Release branch already existsDelete and recreate
No changeset in stagingWarn user: "No changeset found. Auto-release may not trigger."

Constraints

  • Run after /review-pr — PRs must be merged to staging first.
  • Always create a release branch — never merge staging directly to main.
  • Cherry-pick, don't merge — staging may have PRs that shouldn't go to main.
  • Test the release branch locally before opening the PR if possible.
  • Adapt <org>/<repo> to your project conventions.

Gives 0 of the 12 instructions most ship operate skills give

Counted across 779 of the 1,178 authors here whose files we hold, read 2026-08-06

  • document a rollback plan before deploymentin 40 of 779, across 21 files
  • create an annotated git tagin 21 of 779, across 20 files
  • Run the test suitein 20 of 779
  • update the changelogin 20 of 779, across 18 files
  • verify deployment health after launchin 19 of 779, across 10 files
  • clean up feature flags after full rolloutin 18 of 779, across 10 files
  • verify the working tree is cleanin 18 of 779
  • test both feature flag statesin 17 of 779, across 9 files
  • Make database migrations backward-compatiblein 16 of 779, across 8 files
  • set up error monitoring before launchin 15 of 779, across 7 files
  • monitor metrics at each rollout stagein 14 of 779, across 5 files
  • create a github releasein 14 of 779

Said here and by no other author read

  • run after review-pr approves
  • checkout main and pull latest
  • list pull requests merged to staging
  • ask user to select which pull requests to include
  • cherry-pick selected pull request commits
  • resolve cherry-pick conflicts

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.