amirfish1/claude-command-center/pair-verify
Claude Code and agent skill by amirfish1/claude-command-center
- community
Checking that the SKILL.md file is still in the repository.
Use after you fix a bug and before you claim it fixed — it spawns ONE skeptic sibling session via CCC that must first reproduce the ORIGINAL bug on a clean worktree at the pre-fix ref, then prove your fix actually moves it. Reproduce-first discipline, independent of your context.
Install
npx vskill@latest install amirfish1/claude-command-center/pair-verifySKILL.md
Pair-verify spawns a single skeptic CCC session whose job is to disprove your fix. It reproduces the original bug on a clean worktree at the pre-fix commit, confirms the bug is real, then checks out the fix ref and proves the behavior actually changed — plus one short pass hunting for a regression the fix could introduce. It builds on the spawn/report_to mechanics in the ccc-orchestration skill — read that first for the full Spawn/Inject/Ask API.
Cost
1 spawned session. Each spawn is a real billed session on the user's kanban — tell the user the count before spawning. Do not use this for trivial fixes that already ship with a test proving the fix (just run the test — a green test on the fix and red on the pre-fix ref is the same evidence, for free).
Setup
- (a) Run every CCC curl with the network sandbox disabled — the Bash
sandbox blocks loopback and fails spuriously even when CCC is up.
- (b) URL-encode `repo_path` in query strings (
+→%2B, space →%20). - (c) Resolve your own session id:
$CLAUDE_SESSION_ID, else the newest
*.jsonl under ~/.claude/projects/<slugified-cwd>/ (see ccc-orchestration).
Preconditions — gather these BEFORE spawning
The skeptic can only reproduce what you can describe. Have all three ready:
- (a) Exact repro steps for the original bug: the commands / inputs, and
expected-vs-actual output. "It was broken" is not repro steps.
- (b) The pre-fix ref and the fix ref — commit shas (not "before" / "after").
- (c) The repo path.
If you cannot state the repro steps concretely, you are not ready to verify — go get them first. A verifier with no reproducible bug verifies nothing.
Spawning the skeptic
Resolve your session id, fill in the shas and steps, then POST one spawn:
Omit "model" and "reasoning_effort": the server spawn defaults (Settings → Spawn defaults) apply. Pass either explicitly to keep cost down, with "engine" alongside it, since both are validated per engine (see ccc-orchestration § 2 for the per-engine effort ladders). CCC appends the return-address footer (report_to), so the skeptic injects its verdict back to you when it finishes.
Waiting for the report
After spawning, end your turn. Tell the user a skeptic is verifying the fix and give its session id. The verdict arrives by injection (report_to) — do not poll or sleep-loop. If it never arrives, check GET /api/sessions/spawned for whether the child is still alive.
Interpreting the verdict
- VERIFIED — the bug reproduced at the pre-fix ref and is gone at the fix
ref. Ship it. If it came with a regression note, that still needs your judgment before you claim done.
- REPRO-FAILED — the skeptic could not reproduce the original bug. This
means your understanding of the bug is likely wrong. Do not ship on it — figure out what the real bug was.
- FIX-INCOMPLETE — the bug still shows at the fix ref. Back to debugging.
- REGRESSION-RISK — the fix works but the skeptic found a plausible new
break. Investigate before shipping.
Dry run
If the arguments contain dry-run, print the exact payload — session count (1), the full skeptic prompt with the shas and repro steps filled in, and the target repo — and POST nothing.
When CCC is down
If CCC_DOWN=1 or the spawn curl returns connection refused (exit 7), run the same reproduce-first protocol yourself in a fresh git worktree. In your final claim, say verification was self-run — you know too much about the fix to be a real skeptic (same-context bias), so flag it. Never pretend the CCC spawn ran.
What this is not
- Not the in-process
/verifypass (that's you driving your own change). This
buys an independent skeptic with reproduce-first discipline.
- Not
/code-review— that reads the diff. This actually runs the bug at two
refs and compares behavior.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugin/skills/pair-verify/SKILL.md
Popularity
- Repository stars
- 200
- Repository forks
- 26
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/amirfish1/claude-command-center/pair-verify)