Skip to content

fix(commands): rename /review to /review-branch so it stops shadowing /code-review - #94

Merged
tigers1997 merged 1 commit into
mainfrom
fix/currency-corrections
Aug 25, 2026
Merged

tigers1997 merged 1 commit into
mainfrom
fix/currency-corrections

Conversation

@tigers1997

@tigers1997 tigers1997 commented Aug 25, 2026 •

Copy link
Copy Markdown
Owner

What & why

Rescoped after review. This PR originally also carried the MCP docs re-baseline. The reviewer blocked it as scope creep under CONTRIBUTING's one-logical-change rule — the same call it made on #95, so applying it consistently here. That commit now lives in its own PR stacked on this one; nothing else changed.

/review → /review-branch. CC 2.1.223 made /review the alias of the bundled /code-review — Claude Code's multi-agent reviewer, including the cloud ultra mode. A project skill of that name wins it, verified headlessly on 2.1.241 (a project skill named review ran for /review; same for plan against the built-in /plan). So every scaffolded project was silently hiding the better built-in behind this simpler single-pass skill — harmless overlap when the skill was written, a real capability loss the day the alias shipped.

Migration: the configurator has no mechanism to delete a file it previously wrote, so an upgraded project keeps the old .claude/skills/review/ alongside the new one — and the stale copy still shadows the alias. New /verify-setup check 13 detects exactly that pair and tells the user to remove it.

/plan is deliberately left alone: it shadows a built-in command rather than a bundled skill, and plan mode stays reachable with Shift+Tab, so it's a name clash rather than a lost capability. README says so and points at the rename for anyone who'd rather keep the shortcut.

Type of change

  • feat — new module / skill / feature (minor bump)
  • fix — bug fix (patch bump)
  • docs — documentation only
  • chore — tooling, CI, release plumbing
  • refactor — no behavioral change
  • BREAKING — see note below

Scope

  • One logical change. One commit: stop the shipped review skill shadowing the /code-review alias.
  • Modules affected: commands
  • Personas affected: all that include commands — .claude/skills/review/ becomes review-branch/; snapshots regenerated

Not marked BREAKING, though it renames a shipped skill: a saved .claude-config.json stays valid and no template path the user supplies changes. It is user-visible muscle memory, so flag it if you'd rather it carried the !.

Tests

  • python3 configure.py --check passes locally — verified on this commit alone, so the split is genuinely clean.
  • test/verify-setup/ still green with the new check 13.
  • Persona snapshots updated.

CHANGELOG

  • Added an entry under ## Unreleased.
  • I will SHA-anchor the entry after merge.

License & NOTICE

  • My contribution is my own work.
  • No AGPL-incompatible code.
  • No third-party code added.
  • templates/discipline-skills/ untouched by this PR.
  • LICENSE / NOTICE untouched.

Signing

  • All commits are signed. Signing had silently broken on this machine — ~/.gitconfig was replaced on 2026-08-10, dropping commit.gpgsign/gpg.format/user.signingkey — which is why nothing has merged since 2026-06-27. New SSH signing key registered; all commits in this stack re-signed and verified.
  • Conventional Commits prefix.

I understand

  • An automated AI review will run on this PR.
  • No merge is possible while any required check is red.
  • My contribution rights are described in CONTRIBUTING.md.

Third of seven stacked PRs — based on fix/cross-platform-support.

@tigers1997
tigers1997 force-pushed the fix/cross-platform-support branch from 62b6afb to 6004e6a Compare August 25, 2026 15:36
@tigers1997
tigers1997 force-pushed the fix/currency-corrections branch from 594d7f7 to d857a04 Compare August 25, 2026 15:36
@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

VERDICT: PASS

All three changes (skill rename, MCP doc correction, /infinite scoping) are coherent under one theme — correcting claims that Claude Code has overtaken — and the execution is clean throughout.

Checked:

  • CHANGELOG ## Unreleased has two entries covering both user-visible changes.
  • All persona snapshots correctly handled: solo-newer and custom don't include the review skill in either form; library-author, small-team, solo-experienced are updated to review-branch.
  • No stale 49%/37k MCP claims remain in any template file (claude-ctx.sh, mcp.minimal.json, servers-cookbook.md, check-context/SKILL.md, docs).
  • templates/discipline-skills/ is untouched — MIT carve-out integrity preserved.
  • No new third-party code; NOTICE and LICENSE unchanged.
  • verify-setup check 13 logic is correct: fires only when both review/ and review-branch/ coexist, skips otherwise.
  • No new settings.json keys; no SchemaStore cross-check needed.

One pre-existing docstring nit (configure.py:1823 still uses review/SKILL.md as its illustrative example) is benign — it's a comment, not functional code.

@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

VERDICT: BLOCK

Blocking

Scope creep — two unrelated changes in one PR (CONTRIBUTING.md: "One logical change per PR. Reviewers (human and AI) struggle with mixed-purpose PRs; merge friction goes up; rollback gets messy.")

The PR bundles two distinct logical changes with separate commits (62db375, c0e614a) and separate ## Unreleased CHANGELOG entries:

  1. fix(commands): rename /review → /review-branch — touches config_schema.py, configure.py, templates/commands/review-branch/SKILL.md (rename), four persona snapshots, the python-uv-fastapi example, and docs 02/03/05/09/10/11. Also adds /verify-setup check 13.

  2. docs: re-baseline MCP context claims against tool search; scope /infinite — touches docs/04-subagents-mcp-orchestration.md, docs/06-token-efficiency.md, templates/commands/check-context/SKILL.md, templates/commands/infinite/SKILL.md, templates/mcp/claude-ctx.sh, templates/mcp/profiles/mcp.minimal.json, templates/mcp/servers-cookbook.md, templates/experiments-memory/memory/experiments/2026-04-24-example-profile-budget.md, and the README mcp/multi-agent rows.

Neither half depends on the other. The squash-merge collapses both into one commit on main, making targeted rollback harder — if, e.g., the MCP token measurements need revision after re-run, rolling that back would also revert the rename.

Recommend splitting into two PRs: the rename is a fix(commands) that can merge on its own; the MCP docs rebaseline is a docs pass that deserves its own merge commit and CHANGELOG entry.

Advisory

Everything within each individual half looks clean:

  • Persona snapshots updated for the three full/rigorous-subset personas (library-author, small-team, solo-experienced). solo-newer is absent from the diff, consistent with that persona using the curated subset (plan/commit/verify-setup only — no /review).
  • Both CHANGELOG ## Unreleased entries are present and user-visible. Check.
  • No third-party code added; NOTICE unaffected. Check.
  • templates/discipline-skills/ untouched. MIT subtree integrity holds. Check.
  • The config_schema.py change (commands/review/SKILL.md → commands/review-branch/SKILL.md) is a file-path string, not a settings.json schema key; no SchemaStore cross-check required. Check.
  • /verify-setup check 13 lands in both the source template (templates/commands/verify-setup/SKILL.md:551) and the example mirror (examples/python-uv-fastapi/.claude/skills/verify-setup/SKILL.md:400). Check.

@tigers1997
tigers1997 force-pushed the fix/currency-corrections branch from c0e614a to 62db375 Compare August 25, 2026 16:15
@tigers1997 tigers1997 changed the title fix(commands): rename /review to /review-branch and re-baseline the MCP context claims fix(commands): rename /review to /review-branch so it stops shadowing /code-review Aug 25, 2026
@tigers1997

Copy link
Copy Markdown
Owner Author

Block accepted and acted on — split at the commit boundary you identified:

No rewriting needed: the two commits touch disjoint files apart from CHANGELOG.md and README.md, and each carried its own ## Unreleased entry, so this is a branch cut rather than a re-authoring. Both halves pass python3 configure.py --check independently, not merely at the top of the stack.

One thing worth recording, since it affects how much weight to put on any single run of this gate: this PR was reviewed twice on identical content and returned two different verdicts — VERDICT: PASS at 15:38:19Z, VERDICT: BLOCK at 16:07:09Z. Same commits, same diff; the only intervening event was a force-push that re-signed the commits without changing a byte of any tree (verified: git diff between the pre- and post-signing tips is empty on all six branches).

I've acted on the BLOCK rather than re-triggering until it went green. Re-rolling a non-deterministic gate until it passes would defeat the point of having one — and the scope-creep call is right on the merits regardless of which run produced it, since it's the same rule applied to #95 an hour earlier. Flagging it mainly because a gate that can PASS a PR it would otherwise BLOCK is worth knowing about: the failure direction here was benign, but the same variance in the other direction would let a genuinely bad change through on a lucky first run.

@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

VERDICT: PASS

Clean, focused rename of /review → /review-branch with no blocking issues.

All reference sites are updated consistently: config_schema.py, configure.py's pattern-integration map, templates/INDEX.md, both rigor skills (/investigate, /plan-eng-review), docs 02/03/05/09/10/11, README, example project, and the three persona snapshots that include the full/rigorous command subset. The fourth persona (solo-newer) uses the curated subset which never included /review, so its snapshot correctly goes untouched. New /verify-setup check 13 is consistent between the template and the example mirror. CHANGELOG ## Unreleased entry is present and detailed. No third-party code added, no schema keys changed, no templates/discipline-skills/ touches, no scope creep.

@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

VERDICT: PASS

Clean, focused rename. Every reference to /review updated to /review-branch across templates, docs, example project, persona snapshots (three affected; solo-newer correctly omitted — it uses curated subset which never shipped the skill), config schema, and pattern-integration map. CHANGELOG ## Unreleased entry present. No third-party code added, no license issues, no templates/discipline-skills/ changes, no new settings.json schema keys. Migration path (check 13 in /verify-setup) correctly handles the leftover review/ directory on upgraded projects.

@tigers1997
tigers1997 force-pushed the fix/cross-platform-support branch from 03aec3e to 2946fb3 Compare August 25, 2026 16:30
… /code-review

CC 2.1.223 made `/review` the alias of the bundled `/code-review` -- Claude
Code's multi-agent reviewer, including the cloud `ultra` mode. A project skill
of that name wins it. Verified headlessly on 2.1.241: a project skill named
`review` ran for `/review`, and the same held for `plan` against the built-in
`/plan`.

So every scaffolded project was silently hiding the better built-in behind this
simpler single-pass skill. That was harmless overlap when the skill was written;
it became a real capability loss the day the alias shipped.

The skill moves to templates/commands/review-branch/ with name: review-branch,
and its description now positions it honestly -- a quick single-pass review,
where the bundled /code-review is the deeper multi-agent one. Both are reachable
again. Updated across config_schema.py, configure.py's pattern-integration map,
templates/INDEX.md, the /investigate and /plan-eng-review cross-references,
docs 02/03/05/09/10/11, README, and the example project.

Migration: the configurator has no mechanism to delete a file it previously
wrote, so an upgraded project keeps the old .claude/skills/review/ alongside the
new one -- and the stale copy still shadows the alias. New /verify-setup check
13 detects exactly that pair and tells the user to remove the old directory.

/plan is left alone deliberately. It shadows a built-in *command* rather than a
bundled skill, and plan mode stays reachable with Shift+Tab, so it is a name
clash rather than a lost capability. README now says so and points at the rename
for anyone who would rather keep the shortcut.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JVndNviHZSnbKJnWP7jFbV
@tigers1997
tigers1997 force-pushed the fix/currency-corrections branch from 6de8825 to ada0e68 Compare August 25, 2026 17:26
@tigers1997
tigers1997 changed the base branch from fix/cross-platform-support to main August 25, 2026 17:26
@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

VERDICT: PASS

Single-purpose rename — templates/commands/review/SKILL.md → templates/commands/review-branch/SKILL.md — executed consistently across every touchpoint: config_schema.py, configure.py's pattern-integration map, templates/INDEX.md, the /investigate and /plan-eng-review cross-references, docs 02/03/05/09/10/11, README, the python-uv-fastapi example, and three persona snapshots (the personas using the curated subset, which excludes this skill, need no snapshot update). The CHANGELOG.md ## Unreleased entry is present and well-documented, including the migration story. The new /verify-setup check 13 correctly handles the upgrade case where the old .claude/skills/review/ directory persists alongside the new one. No new third-party code, no templates/discipline-skills/ changes, no new settings.json schema keys.

@claude

claude Bot commented Aug 25, 2026

Copy link
Copy Markdown

VERDICT: COMMENT-ONLY

Advisory

CHANGELOG.md — portability entry loses item (5)

The ## Unreleased portability entry from PR #93 contains five numbered items; this PR's CHANGELOG rewrite drops item (5) — the --check shell-syntax gate mis-fire on Windows CI (shutil.which("bash") resolving to the WSL launcher instead of Git Bash, causing blank "bash syntax error" messages for all 16 shipped .sh files).

The code fix itself is still present in the repo from PR #93; only the changelog documentation is now incomplete. The PR adds the review-branch entry correctly above the portability entry, but the replaced portability block omits:

(5) --check's shell-syntax gate mis-fired on Windows CI. shutil.which("bash") resolves to System32\bash.exe — the WSL launcher — on the GitHub windows-latest image … Candidates are now validated by executing one (bash -c 'exit 0'), with Git Bash's own binary as fallback and CC_BASH as an override; when none works the check emits a single WARN and still passes …

Suggested fix: restore item (5) in the portability bullet, or note in the PR body that this omission is intentional.


Everything else is clean: the rename is applied consistently across config_schema.py, configure.py, all six docs files, templates/INDEX.md, cross-reference skills (/investigate, /plan-eng-review), and the three affected persona snapshots (persona-library-author, persona-small-team, persona-solo-experienced). The /verify-setup check 13 correctly handles the migration path for projects that carry the old review/ directory. No AGPL contamination, no MIT-subtree impact, no schema keys added, no scope creep.

@tigers1997
tigers1997 merged commit ff067bc into main Aug 25, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant