codebase-design
Agent skill from mattpocock/skills.
What it does
- Can I reduce the number of methods?
- Can I simplify the parameters?
- Can I hide more complexity inside?
- The interface is the test surface. Callers and tests cross the same seam. If you want to test past the interface, the module is probably the wrong shape.
- One adapter means a hypothetical seam. Two adapters means a real one. Don't introduce a seam unless something actually varies across it.
- A Module has exactly one Interface (the surface it presents to callers and tests).
- Depth is a property of a Module, measured against its Interface.
Derived from the skill's own SKILL.md documentation · extracted 2026-07-23
Source
Repository: https://github.com/mattpocock/skills
codebase-design FAQ
What does the codebase-design skill do?
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary. Can I reduce the number of methods? Can I simplify the parameters?
How do I install codebase-design?
Run: npx -y skills add https://github.com/mattpocock/skills --skill codebase-design --agent claude-code — the source lives at github.com/mattpocock/skills.
Maintain codebase-design?
Let people know it's listed here — add the badge (live metrics, light/dark aware) or a plain link to your README or docs.
[](https://getagentictools.com/skills/mattpocock-skills-codebase-design?ref=badge) npx agentictools info skills/mattpocock-skills-codebase-design The second line is the CLI lookup for this page — handy in READMEs and docs.