π unclaimed β this page was auto-generated from GitHub. Are you the creator?
Claim this page β
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β¦
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:lineand a concrete trigger scenario. Nofile: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.
ghCLI 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
// compatibility
| Platforms | cli, api |
|---|---|
| Operating systems | β |
| AI compatibility | claude |
| License | MIT |
| Pricing | open-source |
| Language | Shell |
// 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.
// embed badge
[](https://claudeers.com/shipcheck)
// retro hit counter
[](https://claudeers.com/shipcheck)
// reviews
// guestbook
// related in Claude Skills
An agentic skills framework & software development methodology that works.
π« Toolkit to help you get started with Spec-Driven Development
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,β¦