Skills DirectorySearch all skills ↗

AI agent skill · by @ciembor

A Philosophy Of Software Design

Apply John Ousterhout-inspired software design rules when reducing complexity, designing module boundaries, or reviewing APIs and abstractions.

Archived 2026-10-23 · Source updated 2026-09-10 · License: MIT. Check the original repository for the latest version.

SKILL.md instructions

# 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.

Related skills