qualify
Qualify an open issue or PR against requirements and Python SDK parity before /tdd
Parity-focused review using grumpy-gopher to verify a branch faithfully implements a Python SDK PR with idiomatic Go
How it fires
How this command gets triggered: by you, by Claude, or both.
/tdd-parity-reviewContext preview
What this command does when you run it.
Parity-focused review using grumpy-gopher to verify a branch faithfully implements a Python SDK PR with idiomatic Go
description: Parity-focused review using grumpy-gopher to verify a branch faithfully implements a Python SDK PR with idiomatic Go allowed-tools: Read, Grep, Glob, Bash, Agent, WebFetch
> **REVIEW ONLY.** This command reports findings. It never makes changes. After presenting results, stop and let the user decide what to fix.
Spawns a `grumpy-gopher` agent to review the current branch against one or more Python SDK parity items.
**Two co-equal parity gates** are checked. Both are mandatory. A violation of either is a blocker:
1. **Observable-behavior parity with Python SDK** — wire format (JSON field names, constants, message shapes, CLI flags), public API surface (method/type/parameter names), and semantics (what each call does, what errors return, what fields populate). 2. **Idiomatic Go delivery** — the *shape* of the code that delivers the parity contract: context-first, `fmt.Errorf` with `%w` wrapping, nil-safety, small focused interfaces, gofmt/golangci-lint clean, gocyclo under 15, channel-based concurrency, zero-value usability, no unnecessary exports.
Parity is the *what*. Idiomatic Go is the *how*. Neither is negotiable; neither is a polish step. Mirroring Python *internals* is not a goal — when a Go idiom and a Python internal shape conflict, choose the Go idiom and record the deliberate divergence. Beyond the two gates, the reviewer also checks regressions, example coverage, comment hygiene, and docs reconciliation.
/tdd-parity-review [python-pr-numbers]
Examples:
Run these in parallel:
git diff main...HEAD --stat git log main..HEAD --oneline git diff main...HEAD -- <substantive Go files, exclude CLAUDE.md/auto-memory>
Read `docs/tracking/README.md` to get the spec for each target PR: expected types, field names, wire format, JSON tags, method signatures.
If `$ARGUMENTS` is empty, infer target PRs from the tracker: find items whose Go Status is `pending` and whose description matches files changed on this branch.
The Python SDK lives at `../claude-agent-sdk-python/src/claude_agent_sdk/`. Key files:
Read the relevant Python source for each target PR to establish ground truth. Do not assume field names or constant values - grep the Python source to confirm every single one.
Before spawning the reviewer, check the examples directory:
# Verify all examples still compile after branch changes go build ./examples/... # List examples and their entry points ls examples/
For each example that compiles, attempt to run it with a short timeout to catch runtime panics or obvious breakage:
# Run each example binary briefly - they may need ANTHROPIC_API_KEY # Note which ones succeed, which fail, and why (missing env, panic, etc.)
Document:
Spawn a single `grumpy-gopher` agent with a self-contained prompt that includes:
1. **What this branch claims to implement** - list each Python PR number, its title, and the tracker spec
2. **Python SDK ground truth** - paste the relevant Python source snippets. Include:
3. **Files to review** - the substantive changed files from Step 1
4. **Review mandate** — two co-equal mandatory gates, followed by cross-cutting concerns. The two gates are NOT ordered; failing either is a blocker. The reviewer reports findings under both gates with equal severity weight.
The shape of the Go code is itself a parity gate. Observable behavior matching Python is necessary but not sufficient — the code that delivers that contract must look like Go a senior Go reviewer would write, not like Python translated into Go syntax. Flag at the same severity as wire-format violations:
Unofficial Go SDK for Claude Code CLI integration. Build production-ready applications that leverage Claude's advanced code understanding, secure file operations, and external tool integrations through a clean, idiomatic Go API with comprehensive error
Qualify an open issue or PR against requirements and Python SDK parity before /tdd
Comprehensive code review using team-based specialized agents with self-coordination