Loading the skills library…

Apply John Ousterhout-inspired software design rules when reducing complexity, designing module boundaries, or reviewing APIs and abstractions.
npx skills add ciembor/agent-rules-books --skill a-philosophy-of-software-designInstalls from the source repository, including any supporting files.
Downloads contain the instructions shown here. Use the install command for the complete skill.
Use this skill when a task involves module design, API design, information hiding, abstraction depth, cognitive load, or refactoring shallow interfaces.
Before making design or code decisions, read and apply a-philosophy-of-software-design.mini.md. Use a-philosophy-of-software-design.md only as a deeper reference when the mini rules are not enough for the current design tradeoff.
--- name: a-philosophy-of-software-design description: Apply John Ousterhout-inspired software design rules when reducing complexity, designing module boundaries, or reviewing APIs and abstractions. license: MIT --- # A Philosophy of Software Design Skill Use this skill when a task involves module design, API design, information hiding, abstraction depth, cognitive load, or refactoring shallow interfaces. Before making design or code decisions, read and apply [a-philosophy-of-software-design.mini.md](a-philosophy-of-software-design.mini.md). Use [a-philosophy-of-software-design.md](a-philosophy-of-software-design.md) only as a deeper reference when the mini rules are not enough for the current design tradeoff.