Skip to content

review: add Fowler 12-smell baseline to the code-reviewer agent #283

Description

@kyle-sexton

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions