Skip to content

Repository files navigation

ShipProof

Evidence-driven acceptance gate for AI-generated software changes.

Read this in other languages: 한국어

Tests License: MIT Agent Skills

AI coding agents write code fast. Deciding whether that code is safe to merge, deploy, and maintain is a different problem. ShipProof is an Agent Skill that turns your coding agent (Claude Code, OpenAI Codex, and other Agent Skills–compatible tools) into a disciplined acceptance reviewer:

You:  Review this change for production adoption.

ShipProof:
  1. Maps the repo and the diff
  2. Classifies risk signals (money, auth, schema-change, ...)
  3. Activates ONLY the relevant review modules
  4. Runs safe checks — and never claims it ran something it didn't
  5. Registers issues with evidence, severity, trigger, and a fix-verification step
  6. Issues a verdict: PASS · CONDITIONAL_PASS · FAIL · INCONCLUSIVE
  7. Self-validates the report against its own contradiction rules

Why not just ask the AI to "review my code"?

Generic review prompts have predictable failure modes — and ShipProof has a concrete mechanism against each:

Failure mode of generic review ShipProof mechanism
Claims it ran tests it never ran Every command is EXECUTED (with captured output) or PROPOSED — enforced by a report validator script, not by good intentions
Confuses inference with fact Four evidence states: VERIFIED / INSPECTED / INFERRED / UNKNOWN, required on every issue
Reviews everything shallowly Adaptive scope: risk signals activate only the relevant modules; excluded modules are listed with reasons
Style nitpicks buried with real risks Severity measures consequence; STYLE can never be a BLOCKER (validator-enforced)
Verdict contradicts findings PASS with a BLOCKER/HIGH issue is rejected by validate_report.py (exit 1)
Pretends full coverage Reports must list uninspected areas and unknowns; confidence is capped accordingly

What makes it different

  • Acceptance verdict, not opinions. Every review ends with PASS / CONDITIONAL_PASS / FAIL / INCONCLUSIVE + confidence, under explicit decision rules (verdict-policy).
  • Machine-checkable honesty. Reports emit JSON (schema) and validate_report.py (stdlib-only, 25 unit tests) rejects self-contradictory reports. Usable as a CI gate.
  • Desktop & kiosk module. Most review tools assume web services. ShipProof ships a flagship module for WPF/desktop/kiosk software: UI-thread discipline, power-loss recovery, local file atomicity, device disconnect/reconnect, unattended-update safety — written from real kiosk operations experience.
  • Safe by default. Read-only review, a 4-tier command safety policy, and repository content treated as untrusted input (prompt-injection aware).
  • Re-verification loop. "Did the fixes land?" re-checks the same issue IDs with the same criteria: RESOLVED / UNRESOLVED / REGRESSED, evidence required.

Quick start

One-liner (via the skills CLI) — installs globally for Claude Code, so it works in every project, no prompts:

npx -y skills add WhorideChicken/shipproof -a claude-code -g

Using multiple agents (Codex, Cursor, ...)? Run the interactive form instead and pick them from the list — just make sure Claude Code is checked, and choose the Global scope:

npx skills add WhorideChicken/shipproof

No Node.js / not showing up in Claude? See docs/INSTALL.md.

Or as a Claude Code plugin:

/plugin marketplace add WhorideChicken/shipproof
/plugin install shipproof@shipproof

Or manual copy — it's just a folder (all methods: docs/INSTALL.md):

git clone https://github.com/WhorideChicken/shipproof.git
mkdir -p ~/.claude/skills && cp -r shipproof/skills/shipproof ~/.claude/skills/shipproof

Then, in your project, invoke it directly as a slash command:

/shipproof review this branch against main
/shipproof is this PR safe to merge?
/shipproof review the migration for zero-downtime deploy and rollback safety
/shipproof re-verify the blockers from the previous report

Installed as a plugin (Method 2)? The command is namespaced: /shipproof:shipproof <request>.

Or just ask in natural language — the skill triggers on review requests:

Review this change for software acceptance and production adoption.
This is an internal tool for ~5 users — review only what matters.

What a report looks like

## 1. Verdict
- Verdict: CONDITIONAL_PASS
- Confidence: MEDIUM
- Rationale: duplicate-payment path is real (SP-001, HIGH); fix + test required before production.

## 4. Critical Findings
| ID | Severity | Evidence | Finding | Trigger | Required action |
| SP-001 | HIGH | INSPECTED | No idempotency check in ProcessAsync (src/Payments/PaymentService.cs) | client retry / network resend | unique key + in-transaction check |

…followed by executed vs proposed checks, uninspected areas, unknowns, and a machine-readable JSON block. Full structure: report-format.

Validate a report (CI gate)

python skills/shipproof/scripts/validate_report.py report.json

Exit 0 = consistent; 1 = contradictions (listed as JSON); 2 = unparsable. No dependencies beyond Python 3.10+.

Review modules

Module Covers
code failure paths, concurrency, resource lifecycle, AI-hallucination patterns
api contracts, validation, IDOR, idempotency, timeout/retry
database integrity, transactions, migration lock/compat/rollback
security threat-model-first authN/authZ, injection, secrets
testing risk-based test mapping, AI-generated test smells
deployment mixed-version windows, flags, rollback, observability
frontend four states, double-submit, stale state, client secrets
desktop-kiosk UI thread, power-loss recovery, devices, unattended operation
supply-chain slopsquatting, install scripts, Docker/CI pinning

What ShipProof is NOT

  • Not a safety guarantee — it reduces adoption risk within the evidence it could gather, and says exactly what it could not verify.
  • Not a replacement for security audits, pen tests, or legal review.
  • Not a linter or a style scorer.
  • It never deploys, touches production databases, or modifies your code without an explicit request.

Repository layout

skills/shipproof/          the installable Agent Skill
  SKILL.md                 control plane (what the agent follows)
  references/              15 policy + review modules (loaded on demand)
  scripts/validate_report.py
  assets/                  report template + JSON schema
docs/                      install guides (EN/KR)
tests/                     unit tests for the validator

Contributing

Issues and PRs welcome — especially real-world false positives/negatives, new review modules, and non-web domain checklists. See CONTRIBUTING.md.

License

MIT © 2026 WooWon Jin

About

Evidence-driven acceptance gate for AI-generated software changes.

Topics

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages