Port evaluated and greenlit 2026-07-17 (adapted from mattpocock/skills code-review, PR #464 upstream).
Scope: add Fowler's ~12 curated code smells as a named-vocabulary baseline to the code-reviewer agent definition's Code quality section — the review plugin's designated design-judgment owner. Port ONLY the smell list plus its two binding rules, both of which the agent already encodes: repo-standard overrides, and every smell is a judgement call, never a hard violation.
Decisions from the evaluation:
- Severity mapping: smells default to SUGGESTION, medium/low confidence; escalation only via a documented rule (the rule carries severity, not the smell).
- Consumer override rides the existing REVIEW.md / project-rules seam — NOT userConfig (rich prose policy; a per-smell knob matrix fails Rule of Three). Plugin keeps zero userConfig.
- Provenance: cite Fowler, Refactoring 2nd ed. ch. 3; descriptions in our own voice (no hand-copied upstream phrasing). Fold the existing duplicated-boilerplate bullet into Duplicated Code.
- Reach: fanout + quality-gate inherit via agent dispatch; pr-review-toolkit orchestrator path and self-mode general fallback don't — documented limitations, not gaps.
Scale: ~half day; code-reviewer.md +~14 lines, README +1, review plugin 0.9.0 → 0.10.0, CHANGELOG. No security-review re-trigger (no hooks/MCP/config/egress).
🤖 Generated with Claude Code
Port evaluated and greenlit 2026-07-17 (adapted from mattpocock/skills code-review, PR #464 upstream).
Scope: add Fowler's ~12 curated code smells as a named-vocabulary baseline to the
code-revieweragent definition's Code quality section — the review plugin's designated design-judgment owner. Port ONLY the smell list plus its two binding rules, both of which the agent already encodes: repo-standard overrides, and every smell is a judgement call, never a hard violation.Decisions from the evaluation:
Scale: ~half day;
code-reviewer.md+~14 lines, README +1, review plugin 0.9.0 → 0.10.0, CHANGELOG. No security-review re-trigger (no hooks/MCP/config/egress).🤖 Generated with Claude Code