Lightweight design smell review for modules and APIs—coupling, cohesion, naming, boundaries, and unnecessary complexity. Use before large refactors or when code feels hard to change. Complements gstack/review (diff-focused).
Scanned 9/6/2026
Install to Claude Code
npx -y skills add charlieviettq/awesome-agent-skill --skill design-smell-review --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Design Smell Review?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/charlieviettq-design-smell-review-awesome-agent-skill)More formats (shields.io, HTML) on the badges page.
---
name: design-smell-review
description: "Lightweight design smell review for modules and APIs—coupling, cohesion, naming, boundaries, and unnecessary complexity. Use before large refactors or when code feels hard to change. Complements gstack/review (diff-focused)."
allowed-tools: Read, Glob, Grep
---
# Design smell review
## Scope
Review **structure and boundaries**, not line-by-line style. Pair with PR diff review for changes; use this for module-level health.
## Smell checklist
| Smell | Signal | Direction |
|-------|--------|-----------|
| God module | Many unrelated responsibilities | Split by domain |
| Shotgun surgery | One change touches many files | Consolidate logic |
| Feature envy | Module A mostly uses B's data | Move behavior |
| Leaky abstraction | Impl details escape API | Narrow public surface |
| Config soup | Magic strings everywhere | Named constants / schema |
| Boolean flags | `if is_x` branches everywhere | Polymorphism or strategy |
## Workflow
1. Map **entry points** and **dependencies** (imports, public API).
2. List **responsibilities** per module; flag >1 unrelated core job.
3. Check **testability** — can core logic run without I/O?
4. Propose **smallest** structural improvement (not full rewrite).
5. Record decision in ADR if trade-off is significant.
## Output format
```text
## Summary
[1-2 sentences]
## Smells (priority order)
1. [Smell] — evidence — suggested fix (effort: S/M/L)
## Recommended next step
[One concrete change to try first]
```
## Simplification (Chesterton's Fence)
Before deleting or collapsing code, ask **why it exists**:
- Comment, test, or git history explaining constraint?
- If unknown, prefer small experiment or question over bulk delete.
- Remove duplication only when behavior is proven identical.
- "Fewer lines" is not success if edge cases or observability regress.
## Boundaries
- Do not block small fixes on perfect architecture.
- Prefer incremental extraction over big-bang rewrites.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!