| name | review |
| description | Use when reviewing Go code against Rob Pike's Go Proverbs. Activates on explicit request ("review with Go proverbs", "/go-proverbs-review:review") or whenever the user asks to review `.go` files. Flags violations and groups findings by proverb, each tied to a detailed rule file in `proverbs/`. |
Go Proverbs Review
Code review skill based on Rob Pike's 19 Go Proverbs (https://go-proverbs.github.io/), delivered as a short mapping from each proverb to a detailed rule file under proverbs/.
When to use
- User explicitly asks for a "Go proverbs review" or types
/go-proverbs-review:review
- User asks to review Go (
.go) code — apply all actionable proverbs
- User asks about a specific proverb — load the matching file directly
How to use
Reviews run as a parallel fan-out of subagents, one per actionable proverb. This keeps the main context small and each check focused on a single principle.
[!IMPORTANT]
Before any subagent fan-out, ASK the user which model to use for the per-proverb subagents: opus (highest quality, slowest), sonnet (balanced), or haiku (cheapest, fastest). Wait for their answer — do not pick for them. Pass the chosen model name to every dispatched subagent via the Task tool's model parameter.
Skip this step only for the Single-proverb question flow below — it loads one file directly in the main thread, no subagents.
Full review
- Identify the Go files in scope and hold only their paths in the main thread.
- For each
actionable proverb in the index, dispatch a subagent with:
- The proverb number, short title, and path to
proverbs/NN-*.md
- The list of
.go file paths to review
- Instruction: load only that one rule file, read the code, return findings in the format
<file>:<line> — <one-sentence observation> or the literal string no findings
- Dispatch all subagents in parallel (single message, multiple tool calls).
- For
tooling proverbs, dispatch a single subagent that verifies the tool is configured (e.g. golangci-lint config present) and returns pass/fail — no code findings.
- Skip
philosophical and postponed proverbs entirely — they inform judgment, not findings.
- Aggregate all subagent results, group by proverb, and produce the final report (see Output format).
Partial review
If the user asks to check against specific proverbs ("review for #4 and #15 only"), dispatch only those subagents. Same fan-out pattern, smaller set.
Single-proverb question
If the user asks about one proverb specifically ("explain #8" / "does this code violate #13?"), skip the subagent fan-out: load the single rule file directly in the main thread and answer.
Why this pattern
- Main context never holds more than one or two rule files at a time
- Each subagent reasons about exactly one principle — fewer false positives
- Parallel execution keeps wall-clock time low
- The user can always ask for a partial review to narrow scope further
Categories
| Category | Meaning |
|---|
actionable | Generates findings during review |
tooling | Verify the tool is wired up, don't flag code |
philosophical | Informs judgment, no findings emitted |
Proverb index
Output format
Group findings under each violated proverb:
### Proverb #N — <short title>
- path/to/file.go:42 — <one-sentence finding>
- path/to/file.go:87 — <one-sentence finding>
See: proverbs/NN-<slug>.md
End the review with a summary line: total findings, number of distinct proverbs violated, files touched.