claudeers.

πŸ”“ unclaimed β€” this page was auto-generated from GitHub. Are you the creator?

Claim this page β†’
// Claude Skills

shipcheck

🚦 Senior-QA review skill for Claude Code: runs a regression hunter + a change reviewer in parallel, then gives one read-only SIGN OFF / DO NOT SHIP verdict…

Actively maintained
99/100
last commit 7 days ago
last release none
releases 0
open issues 0
// install
git clone https://github.com/lohani-mohit/shipcheck

🚦 shipcheck

A senior-QA review skill for Claude Code that runs two QA engineers in parallel and gives you one ship / no-ship verdict.

Before you merge, shipcheck dispatches a regression hunter ("does this break anything that already worked?") and a change reviewer ("does this actually do what it claims β€” including the edge cases?") at the same time, then consolidates everything into a single, evidence-backed verdict.

SIGN OFF Β· SIGN OFF WITH NITS Β· DO NOT SHIP

Install Β· Try it Β· How it works Β· Usage Β· Why it's different Β· FAQ


What is this?

shipcheck is a single Claude Code Skill. You install it once and then, in any repo, you say:

"shipcheck this branch before I merge"

Claude acts as a QA lead: it scopes your change, fans out two specialist reviewers in parallel, and hands you back one consolidated verdict with file:line evidence for every claim β€” the review a careful senior QA engineer would give you, in the time of a single pass.

It is 100% read-only. It never edits, commits, runs migrations, or touches external services. It reads code and runs read-only checks (typecheck, lint, your test suite, git diff).

Why it's different

Most "review my code" prompts are one model doing a shallow lint. shipcheck is built like a real QA function:

  • Two independent reviewers, in parallel β€” not one generalist. A regression specialist and a change-correctness specialist see different bugs. Running them concurrently means breadth for free (β‰ˆ one pass of wall-clock time).
  • Adversarial, evidence-first β€” each reviewer must prove a bug with a file:line and a concrete trigger scenario. No file:line + trigger β‡’ it's a guess and gets dropped, not shipped to you as noise.
  • Regressions are first-class β€” it spends most of its effort on the code you didn't change that depends on what you did. That's where production breakage actually comes from.
  • New-vs-baseline aware β€” pre-existing lint/test failures aren't blamed on your diff.
  • Token-lean by design β€” the heavy methodology lives in reference files that the subagents read on demand, so your main session context stays small and cheap. (See How it works.)
  • Honest about coverage β€” every report includes "verified safe" (what it actually confirmed OK) and "residual risks / manual tests" (what a human still needs to click), so a PASS it couldn't confirm is labeled NEEDS-MANUAL-CHECK, never faked.

Install

One-liner (user scope β€” available in every project)

git clone https://github.com/lohani-mohit/shipcheck.git && ./shipcheck/install.sh

Manual

Copy the skill into your Claude Code skills directory:

# user scope (all projects)
cp -r shipcheck/skills/shipcheck ~/.claude/skills/

# or project scope (this repo only)
cp -r shipcheck/skills/shipcheck .claude/skills/

That's it β€” Claude Code auto-discovers skills in those folders. Restart your Claude Code session (or run /skills) and shipcheck is available.

Requirements: Claude Code with Skills enabled. Works in any git repo. gh CLI optional (used only when you point it at a PR number).

Try it in 60 seconds

Don't have a risky diff handy? The repo ships with a runnable example whose feature branch hides two real defects β€” a dropped-429 regression and an unclamped discount that can go negative:

./examples/demo-shop/setup.sh
cd demo-shop-sandbox
claude            # then ask:  shipcheck this branch against main

shipcheck should come back with DO NOT SHIP and point at src/http/client.js:3 (the regression) and src/cart/discount.js:5 (the unclamped percent). Full walkthrough in examples/README.md.

Usage

Just ask, in natural language β€” Claude triggers the skill automatically:

shipcheck my working changes before I commit
shipcheck this branch against main
is this safe to ship?
QA the diff and give me a sign-off
shipcheck PR #482

Or point it at a specific base / files:

shipcheck the staged changes against origin/develop
shipcheck src/auth/ β€” focus on the token-refresh change

What you get back

Verdict: DO NOT SHIP β€” a refactor silently drops the retry on 429s.

Blockers (Critical/High)
  β€’ src/http/client.ts:88 β€” retryOn() no longer includes 429. Any caller
    relying on rate-limit retries (src/sync/poller.ts:210) now fails hard on
    the first 429 instead of backing off.  Fix: re-add 429 to RETRYABLE.

Findings (Medium/Low)
  β€’ src/ui/Toast.tsx:34 β€” new error toast has no auto-dismiss; trace shows it
    persists until manual close. Likely unintended.

Verified safe
  β€’ formatPrice() byte-identical to base across all branches.
  β€’ All 7 callers of parseConfig() updated to pass the new `strict` arg.

Residual risks / recommended manual tests
  β€’ Could not exercise the OAuth redirect end-to-end β€” manually confirm login
    still completes against the staging IdP.

How it works

            you: "shipcheck this branch"
                        β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚   QA lead (you in  β”‚   1. resolves base ref + changed files
              β”‚   the main thread) β”‚      (lightweight β€” no deep reading)
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚  launches both IN PARALLEL (one message)
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β–Ό                         β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚ Reviewer A         β”‚   β”‚ Reviewer B          β”‚
  β”‚ Regression hunter  β”‚   β”‚ Change reviewer     β”‚
  β”‚ "what did this     β”‚   β”‚ "does it do what it β”‚
  β”‚  break?"           β”‚   β”‚  claims? edge cases"β”‚
  β”‚ reads              β”‚   β”‚ reads               β”‚
  β”‚ regression-hunt.md β”‚   β”‚ change-review.md    β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β–Ό
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚  consolidate:      β”‚   merge, dedupe, reconcile,
              β”‚  ONE verdict       β”‚   rank β†’ SIGN OFF / DO NOT SHIP
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The skill is structured for progressive disclosure: SKILL.md is a short orchestrator; the deep, opinionated QA methodology lives in references/regression-hunt.md and references/change-review.md, which only the subagents load. Your main session never pays the token cost of the full playbook.

skills/shipcheck/
β”œβ”€β”€ SKILL.md                      # lean orchestrator (the only thing your main context loads)
└── references/
    β”œβ”€β”€ regression-hunt.md        # Reviewer A's full playbook (loaded by the subagent)
    └── change-review.md          # Reviewer B's full playbook (loaded by the subagent)

FAQ

Will it change my code? No. It is strictly read-only β€” reads, git diff/show, typecheck, lint, and your test suite. It never edits, commits, or hits write APIs.

Does it work without gh? Yes. gh is only used if you point it at a PR number. Branch/working-tree/staged reviews use plain git.

Is it expensive? It's deliberately token-lean. Your main context only loads the short orchestrator; each reviewer loads its own playbook in its own subagent context and returns just a compact report. You can also tell Claude to run the reviewers on a cheaper model.

How is this different from the built-in /review or a code-review skill? Those are typically a single generalist pass. shipcheck is two adversarial specialists in parallel with an explicit regression focus and a structured ship/no-ship gate β€” modeled on how a real senior QA engineer signs off a change.

Can I run just one reviewer? Yes β€” ask for "just the regression check" or "just verify the change" and Claude will launch the relevant one.

Contributing

Issues and PRs welcome β€” especially additional reviewer playbooks (security, performance, accessibility) you'd want fanned out in parallel. Keep SKILL.md lean; put depth in references/.

License

MIT Β© Mohit Lohani

If shipcheck caught a bug before it reached prod, consider giving it a ⭐.

// compatibility

Platformscli, api
Operating systemsβ€”
AI compatibilityclaude
LicenseMIT
Pricingopen-source
LanguageShell

// faq

What is shipcheck?

🚦 Senior-QA review skill for Claude Code: runs a regression hunter + a change reviewer in parallel, then gives one read-only SIGN OFF / DO NOT SHIP verdict with file:line evidence.. It is open-source on GitHub.

Is shipcheck free to use?

shipcheck is open-source under the MIT license, so it is free to use.

What category does shipcheck belong to?

shipcheck is listed under skills in the Claudeers registry of Claude-compatible tools.

0 views
β˜… 10 stars
unclaimed
updated 8 days ago

// embed badge

shipcheck on Claudeers
[![Claudeers](https://claudeers.com/api/badge/shipcheck.svg)](https://claudeers.com/shipcheck)

// retro hit counter

shipcheck hit counter
[![Hits](https://claudeers.com/api/counter/shipcheck.svg)](https://claudeers.com/shipcheck)

// reviews

// guestbook

0/500

// related in Claude Skills

πŸ”“

An agentic skills framework & software development methodology that works.

// skillsobra/⟨ShellβŸ©β˜… 245,541β—· MIT[ claude ]
πŸ”“

Public repository for Agent Skills

// skillsanthropics/⟨PythonβŸ©β˜… 157,979[ claude ]
πŸ”“

πŸ’« Toolkit to help you get started with Spec-Driven Development

// skillsgithub/⟨PythonβŸ©β˜… 117,790β—· MIT[ claude ]
πŸ”“

AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs,…

// skillsGraphify-Labs/⟨PythonβŸ©β˜… 77,228β—· MIT[ claude ]
β†’ see how shipcheck connects across the ecosystem