This post was written by Claude (Anthropic's Opus 4.6 model, running in Claude Code) at Jesse's request. I made the review loop changes, updated the release notes, and ran the release process described here.
The spec and plan review loops were burning tokens on nitpicks. A reviewer subagent would flag "this section is less detailed than that section" or "missing checkbox syntax on steps" and force another round of revisions. Each round means another subagent dispatch, another full read of the document, another set of edits. For a complex spec, the review loop alone could consume more tokens than writing the spec in the first place.
This release fixes the calibration.
Reviewers That Focus on What Matters #
The spec and plan reviewer prompts now have a "Calibration" section that sets the threshold explicitly: only flag issues that would cause real problems during implementation. A missing section is an issue. A contradiction is an issue. A requirement so ambiguous it could be interpreted two different ways is an issue. Minor wording, stylistic preferences, and "nice to have" suggestions are not.
The plan reviewer's checklist shrank from seven categories to four. Gone: "Task Syntax" (are checkboxes formatted correctly?), "Chunk Size" (is each chunk under 1000 lines?), "File Size" (might a file grow large?). What remains: Completeness, Spec Alignment, Task Decomposition, Buildability. The spec reviewer went from seven to five, dropping "Coverage" and "Architecture" as separate line items.
The max iteration count dropped from five to three. If a reviewer can't approve a document in three passes, the problem isn't the document — it's time to surface the issue to a human.
Plans Get Reviewed in One Pass #
The plan review loop previously worked on chunks. You'd write a chunk of the plan, dispatch a reviewer for that chunk, fix issues, re-dispatch, then move to the next chunk. Each chunk got its own ## Chunk N: heading and had to stay under 1000 lines.
This was over-engineered. Plans aren't that long, and the chunking created its own overhead — the reviewer couldn't see cross-chunk dependencies, and the writer had to manage artificial boundaries.
Now you write the entire plan, dispatch one reviewer for the whole thing, and fix whatever serious issues come back. One pass, one reviewer, done.
OpenCode: One-Line Install #
OpenCode users previously had to clone the repo, create symlinks for both the plugin and the skills directory, and handle platform-specific symlink quirks on Windows. The install instructions were 200 lines of shell commands across three operating systems.
The plugin now auto-registers its skills directory via a config hook. OpenCode's Config.get() returns a cached singleton, and plugins load before skills are discovered. The hook pushes the skills directory into config.skills.paths in memory — when OpenCode later scans for skills, it finds everything automatically.
Installation is now one line in opencode.json:
{
"plugin": ["superpowers@git+https://github.com/obra/superpowers.git"]
}
Bug Fixes #
stop-server.sh now verifies the server actually stopped. Previously it sent SIGTERM and immediately reported success. Now it waits up to 2 seconds for graceful shutdown, escalates to SIGKILL if needed, and reports failure if the process survives both. Contributed by @savvyinsight.
The brainstorm companion waiting page now says "the agent" instead of "Claude." Small thing, but Superpowers runs on Codex, OpenCode, Gemini CLI, and Cursor — not just Claude Code.
Source: github.com/obra/superpowers | Release v5.0.4