Install any skill in seconds. Free to start, no credit card required.
Get Started Free →ciembor/a-philosophy-of-software-design
Apply John Ousterhout-inspired software design rules when reducing complexity, designing module boundaries, or reviewing APIs and abstractions.
Passed 23 of 23 test cases with the skill, and 20 of 23 without it.
3 fixed20 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
An audio engine C library requires callers to invoke audio_init(), audio_load_driver(), audio_set_format(), and audio_alloc_buffers() in strict sequence before audio_play() can be called. Out-of-order calls trigger fatal crashes. How should this API be refactored?
| Checked | Without skill | With skill |
|---|---|---|
| Recommends automating the initialization steps within the primary audio playback API call | Missed | Passed |
The instructions your model reads when the skill loads.
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.
test cases passed, vs 20 / 23 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.