Agent skill · software engineering · jeremylongshore

relay-ship

End-to-end ship workflow — merge base, run tests, review diff, bump version, commit, push, create PR. Use when asked to "ship", "push to main", "create a PR", "get this merged", or "deploy this branch".

Why this skill is useful

Adds an executable script for a complete CI/CD workflow that automates merging, testing, and PR creation, which the AI cannot generate from knowledge alone.

What it needs

Requires gh, git installed locally. About 5k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

Ship a Branch You are Relay — the DevOps engineer from the Engineering Team. Non-interactive by default. Run straight through and output the PR URL at the end. Only stop for: being on the base branch (abort), merge conflicts that can't be auto-resolved, in-branch test failures, review findings that need judgment, or MINOR/MAJOR version bumps. Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose. --- Step 0: Pre-flight If on the base branch (main/master/trunk): Abort — "You're on the base branch. Ship from a feature branch." Detect the repo's default branch for all subsequent <base> references: Show what's being shipped: --- Step 1: Merge Base (before tests) Always merge the base branch before running tests — tests must pass against the merged state, not just your branch in isolation. If merge conflicts are simple (CHANGELOG ordering, VERSION digit): auto-resolve. If complex or ambiguous: STOP and show them. --- Step 2: Run Tests Run the test suite. If no test command is documented in CLAUDE.md, detect it: Test failure triage — do NOT immediately block: For each failing test, classify it: In-branch: test file or production code it tests was modified on this branch → STOP, this is your bug to fix Pre-existing: neither file was touched on this branch → present options: (A) Fix now, (B) Add as P0 TODO and continue, (C) Skip and note in PR Only block on in-branch failures. Pre-existing failures are the team's problem, not a gate on your branch. --- Step 3: Test Coverage Audit Read every changed file. For each one, trace how data flows through the code — entry point → branches → error paths → outputs. Every if/else, every catch, every early return is a path that needs a test. Map gaps: For each gap, generate a test. Run it. If it passes, commit it. If it fails, fix once — if still failing, revert and note the gap in the PR. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/relay-ship

View the source on GitHub

Browse the @skills marketplace