ryanthedev/code-foundations/aposd-reviewing-module-design
Claude Code and agent skill by ryanthedev/code-foundations
- community
Checking that the SKILL.md file is still in the repository.
Assesses existing module and interface design for complexity symptoms: information leakage, shallow interfaces, pass-through layers, and unknown unknowns. Produces a structured assessment — not transformations (use aposd-simplifying-complexity to edit) and not new-design generation (use aposd-designing-deep-modules).
Install
npx vskill@latest install ryanthedev/code-foundations/aposd-reviewing-module-designSKILL.md
Skill: aposd-reviewing-module-design
Review Is Systematic, Not Intuitive
Run the checklist. The checklist exists because intuition misses structural problems.
Unknown unknowns are highest severity. If it's unclear what code/info is needed for changes, flag immediately.
Evaluation Checklist
Use this systematic checklist when reviewing code:
1. Complexity Symptoms (Ch2)
| Symptom | Question | If Yes | |
|---|---|---|---|
| Change Amplification | Does a simple change require modifications in many places? | Flag dependency problem | |
| Cognitive Load | Must developer know too much to work here? | Flag obscurity or leaky abstraction | |
| Unknown Unknowns | Is it unclear what code/info is needed for changes? | Highest severity - flag immediately |
2. Module Depth (Ch4)
| Check | Deep (Good) | Shallow (Bad) | |
|---|---|---|---|
| Interface vs implementation | Interface much simpler | Interface rivals implementation | |
| Method count | Few, powerful methods | Many, limited methods | |
| Hidden information | High | Low | |
| Common case | Simple to use | Complex to use |
Red flag: If understanding the interface isn't much simpler than understanding the implementation, the module is shallow.
3. Information Hiding (Ch5)
| Red Flag | Detection | Severity | |
|---|---|---|---|
| Information Leakage | Same knowledge in multiple modules | High | |
| Temporal Decomposition | Structure mirrors execution order rather than knowledge | Medium | |
| Back-Door Leakage | Shared knowledge not visible in interfaces but both depend on it | High | |
| Overexposure | Common use forces learning rare features | Medium | |
| Silent Failure | Module swallows errors, returns defaults, or hides failure states from callers | High |
4. Layer Abstraction (Ch7)
| Red Flag | Detection | Severity | |
|---|---|---|---|
| Pass-Through Method | Method only passes arguments to another with same API | High | |
| Adjacent Similar Abstractions | Following operation through layers, abstractions don't change | High | |
| Shallow Decorator | Large boilerplate, small functionality gain | Medium |
Test: Follow a single operation through layers. Does the abstraction change with each method call? If not, there's a layer problem.
5. Together/Apart (Ch9)
| Red Flag | Detection | Severity | |
|---|---|---|---|
| Conjoined Methods | Can't understand one method without another's implementation | High | |
| Special-General Mixture | General mechanism contains use-case specific code | High | |
| Code Repetition | Same code appears in multiple places | Medium | |
| Shallow Split | Method split resulted in interface ≈ implementation | Medium |
Together/Apart Decision Procedure
When evaluating whether code should be combined or separated:
Key principle: Depth > Length. Never sacrifice depth for length.
Depth vs Length Rule
| Situation | Correct Action | |
|---|---|---|
| Long method with clean abstraction | Keep together | |
| Short method requiring another's impl to understand | Combine them | |
| Method split creating conjoined pair | Undo the split | |
| Long method with extractable subtask | Extract subtask only |
Test for valid split: Can the pieces be understood independently AND reused separately?
Evaluation Output Format
When reporting findings, use:
This skill assesses only. To transform what it flagged, hand off to Skill(code-foundations:aposd-simplifying-complexity); if the fix needs a plan, flag it for /code-foundations:plan.
Before Flagging a Problem
Before reporting any red flag, validate:
- Steel-man check: What's the best argument this design choice is intentional?
- Intentional shallowness: Is this an adapter, facade, or decorator where thinness is the point?
- Testing seam: Is this "leakage" actually a legitimate dependency injection point?
- Abstraction quality: Can callers use this interface correctly without knowing implementation details?
Cross-Module Analysis
Ask before concluding:
- Are there related modules that should be reviewed together? Classitis often hides across file boundaries.
- Would combining these modules simplify the overall interface? If yes, flag as potential shallow split.
- Must callers use these modules in sequence? If yes, possible temporal decomposition.
Pattern Consistency Check
| Question | If Yes | |
|---|---|---|
| Is there an existing pattern for this type of problem? | Compare approaches | |
| Does this introduce a second way to do the same thing? | Flag unless justified | |
| Would a maintainer be surprised by the difference? | Requires explicit documentation |
Balance: Evaluate patterns on merit, but don't create gratuitous inconsistency. The goal is maintainability, not conformance.
When Principles Conflict
| Conflict | Resolution | |
|---|---|---|
| Depth vs Cohesion | Prefer cohesion. A focused shallow module beats a bloated deep one. | |
| Information Hiding vs Testability | Testing seams (injectable dependencies) are acceptable "leakage" | |
| Simple Interface vs Configurability | Real systems need configuration; penalize only unnecessary complexity |
CHECKER: run the ID'd checklist Read(${CLAUDE_SKILL_DIR}/checklists.md) against the code. CHECKER output: the ID'd checklist is the item set (the tables in this SKILL.md explain the items, they are not counted twice). Report each VIOLATION and WARNING as | Item | Status | Evidence | Location |; do not list passing or non-applicable items — close with one line N items checked, M pass, K n/a. The Evaluation Output Format above is the assessment that wraps that report.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/aposd-reviewing-module-design/SKILL.md
Popularity
- Repository stars
- 237
- Repository forks
- 22
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 6 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ryanthedev/code-foundations/aposd-reviewing-module-design)