ryanthedev/code-foundations/aposd-designing-deep-modules
Claude Code and agent skill by ryanthedev/code-foundations
- community
Checking that the SKILL.md file is still in the repository.
Guides module and API design using APOSD principles: generates multiple design alternatives, compares them on information hiding and interface depth, and produces a documented design decision. For creating new module/API design; not for assessing existing designs (use aposd-reviewing-module-design) or routine-level design (use cc-routine-and-class-design).
Install
npx vskill@latest install ryanthedev/code-foundations/aposd-designing-deep-modulesSKILL.md
Skill: aposd-designing-deep-modules
Before Implementing — the design-it-twice gate
Never implement your first design. Generate 2-3 radically different approaches, compare them, then implement.
Design-It-Twice Workflow
If none attractive: Use identified problems to drive a new iteration of step 2.
Depth Evaluation
| Metric | Deep (Good) | Shallow (Bad) | |
|---|---|---|---|
| Interface size | Few methods | Many methods | |
| Method reusability | Multiple use cases | Single use case | |
| Hidden information | High | Low | |
| Caller cognitive load | Low | High | |
| Common case | Simple | Complex |
Exemplar: Unix file I/O - 5 methods hide hundreds of thousands of lines of implementation.
Three Questions Framework
Ask these when designing interfaces:
| Question | Purpose | Red Flag Answer | |
|---|---|---|---|
| "What is the simplest interface that covers all current needs?" | Minimize method count | "I need many methods" | |
| "In how many situations will this method be used?" | Detect over-specialization | "Just this one situation" | |
| "Is this easy to use for my current needs?" | Guard against over-generalization | "I need lots of wrapper code" |
Information Hiding Checklist
When embedding functionality in a module:
- [ ] Data structures and algorithms stay internal
- [ ] Lower-level details (page sizes, buffer sizes) hidden
- [ ] Higher-level assumptions (most files are small) hidden
- [ ] No knowledge shared across module boundaries unnecessarily
- [ ] Common case requires no knowledge of internal details
Generality Sweet Spot
Target: Somewhat general-purpose
| Aspect | Should Be | |
|---|---|---|
| Functionality | Reflects current needs | |
| Interface | Supports multiple uses | |
| Specialization | Pushed up to callers OR down into variants |
Push specialization UP: Top-level code handles specific features; lower layers stay general.
Push specialization DOWN: Define general interface, implement with device-specific variants.
Red Flags
| Red Flag | Symptom | Fix | |
|---|---|---|---|
| Shallow Module | Interface complexity rivals implementation | Combine with related functionality | |
| Classitis | Many small classes with little functionality each | Consolidate related classes | |
| Single-Use Method | Method designed for exactly one caller | Generalize to handle multiple cases | |
| Information Leakage | Same knowledge in multiple modules | Consolidate in single module | |
| Temporal Decomposition | Structure mirrors execution order | Structure by knowledge encapsulation | |
| False Abstraction | Interface hides info caller actually needs | Expose necessary information | |
| Granularity Mismatch | Caller must do work that belongs in module | Move logic into module | |
| Silent Failure | Module handles errors internally but gives callers no way to know something went wrong (no error return, no observable state change, no logging) | Errors are implementation details that can be hidden; failures are not — surface failure states even when hiding the mechanism |
Mandatory Output Format
When designing, produce:
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/aposd-designing-deep-modules/SKILL.md
Popularity
- Repository stars
- 117
- Repository forks
- 8
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 16 Mar 2026, 7 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-designing-deep-modules)