← LeaderboardThe Skill Leaderboard

a-philosophy-of-software-design

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

Published by ciembor ↗ciembor/agent-rules-books

Try your first task

a-philosophy-of-software-design

Start a fresh conversation. Replace the highlighted placeholders.

Use a-philosophy-of-software-design to review [module or API] and propose a simpler design with a deeper boundary, stronger information hiding, and clear tradeoffs between two viable alternatives

Required inputs

  • [module or API]

User-approved starter prompt based on a pinned source version; check current skill requirements before running. Task evidence ↗

SKILL.md

name: a-philosophy-of-software-designdescription: 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. Use a-philosophy-of-software-design.md only as a deeper reference when the mini rules are not enough for the current design tradeoff.