← ClaudeAtlas

code-smellslisted

Whole-repository design-smell review — detects *wrong engineering* by name: feature envy, data clumps, primitive obsession, shotgun surgery, divergent change, speculative generality, message chains, temporal coupling, flag arguments, global/mutable data, dead code, repeated switches that want to be polymorphism — every confirmed smell from the Fowler/Beck catalog and beyond, each mapped to a specific catalog refactoring (Extract Class, Move Function, Introduce Parameter Object, Replace Conditional with Polymorphism, …). Report-first; applies the approved refactorings only when invoked with `--fix`. Use whenever the user invokes /smells, says "code smells", "design smells", "bad design", "wrong engineering", "spaghetti code", "is this well engineered", "maintainability review", "why is this codebase hard to change", "what refactorings does this need", or asks for a Fowler-style review — even if they never say the word "smell". Boundaries: bug / perf / durability findings inside named files belong to `code-audi
Stoica-Mihai/claude-skills · ★ 0 · AI & Automation · score 70
Install: claude install-skill Stoica-Mihai/claude-skills
# Code Smells Whole-repo design review. Third member of the analysis family: | Question | Skill | |---|---| | Which files are big / coupled / churning / cyclic? | `architectural-hotspots` | | What is broken inside file X (perf, correctness, durability)? | `code-audit-deep` | | Where is the *design* wrong, and which refactoring fixes it? | **this skill** | The premise: hotspots sees graph shape, audit-deep sees runtime behavior — neither sees *misplaced responsibility*. A function that lives in the wrong module, a concept smeared across four files, an abstraction with one user: these compile, pass tests, and show up in no profiler. They show up as change cost. This skill finds them and names both the smell and the cure. Every finding is a **named smell mapped to a named refactoring**: "Feature Envy in `report.py:88 parse_totals()` → Move Function to `invoice.py`" is a diagnosis plus a prescription. "This could be cleaner" is neither — never emit that sentence. A definitional anchor (it shapes the whole method): a smell is *"a surface indication that usually corresponds to a deeper problem"* (Fowler), and per Kent Beck *"a suggestion that something may be wrong, not evidence that there is already a problem."* Smells are heuristics, not rules — the field's own literature warns that mechanical detectors drown in false positives because *"code metric values, when inspected out of context, mean nothing."* That is why every mechanical lead below must be confirmed by reading, an