Agent skill

A Philosophy of Software Design

by ciembor in ciembor/agent-rules-books

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

— description from SKILL.md by ciembor
MITAuto-check passedDevelopment

Install A Philosophy of Software Design

skills CLI
$ npx skills add ciembor/agent-rules-books --skill a-philosophy-of-software-design -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ciembor/agent-rules-books a-philosophy-of-software-design --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ciembor/agent-rules-books.git skills-src && mkdir -p .claude/skills && cp -r skills-src/a-philosophy-of-software-design .claude/skills/a-philosophy-of-software-design && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
a-philosophy-of-software-design
GitHub stars
2.9k
Token cost
~181 tokens
SKILL.md length
56 words
Files
4
Skills in repo
14
Repo updated
First seen
Licence
MIT

At a glance

  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

About this skill

A Philosophy of Software Design is a skill in ciembor/agent-rules-books (2.9k stars). Its SKILL.md is about 181 tokens, with 3 other files in the folder. Licence: MIT.

What it can do on your machine

Read from SKILL.md and the folder at commit 893a88a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

A Philosophy of Software Design loads about 181 tokens when it runs. Until then it costs about 44 tokens; SKILL.md has 56 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~44
When it runs · the whole SKILL.md, loaded when a task matches
~181

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ciembor/agent-rules-books at commit 893a88a, republished under its MIT licence (© ciembor). 56 words, ~181 tokens.

Download SKILL.mdSave it as .claude/skills/a-philosophy-of-software-design/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
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. Use a-philosophy-of-software-design.md only as a deeper reference when the mini rules are not enough for the current design tradeoff.

© ciembor, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in a-philosophy-of-software-design of ciembor/agent-rules-books.

  • SKILL.md
  • a-philosophy-of-software-design.md
  • a-philosophy-of-software-design.mini.md
  • a-philosophy-of-software-design.nano.md

Open the folder on GitHubat commit 893a88a

Compare with similar skills

A Philosophy of Software Design next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

A Philosophy of Software Design compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
A Philosophy of Software Design this skillciembor/agent-rules-books2.9k—~181Automated safety check: PassMIT
Code Quality Reviewpaiml/aprender130—~626Automated safety check: PassMIT
Typescript Best Practicesjwynia/agent-skills170—~2.5kAutomated safety check: PassMIT
Smellsmallnest/goal-workflow291—~10kAutomated safety check: PassMIT
Frontend Module Standardssiteboon/claudecodeui14k—~2.6kAutomated safety check: PassAGPL-3.0
Ponytail Lazy Developer ModeDietrichGebert/ponytail160k1 repos~873Automated safety check: PassMIT

Similar skills

  • Code Quality Review

    paiml/aprender

    A skill your agent uses to perform a comprehensive code quality and architecture review of the current project or repository, identifying code smells, architectural debt, performance bottlenecks…

    130 GitHub stars~626 tokensUpdated today
    DevelopmentAuto-check passed
  • Typescript Best Practices

    jwynia/agent-skills

    Guide AI agents through TypeScript coding best practices including type safety, error handling, code organization, and architecture patterns.

    170 GitHub stars~2.5k tokensUpdated 7 mo ago
    DevelopmentAuto-check passed
  • Smell

    smallnest/goal-workflow

    Detect software architecture bad smells, algorithmic complexity hotspots, and anti-patterns in a codebase.

    291 GitHub stars~10k tokensUpdated 27 days ago
    DevelopmentAuto-check passed
  • Frontend Module Standards

    siteboon/claudecodeui

    Enforces one repository's React and TypeScript module layout for code under src/: source-root imports, feature barrels, deliberate exports and no deep imports.

    14k GitHub stars~2.6k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Ponytail Lazy Developer Mode

    DietrichGebert/ponytail

    Makes the agent pick the laziest solution that works: skip unneeded work, reuse what exists, prefer the standard library and platform features, and keep diffs small.

    160k GitHub starsUsed in 1 repo~873 tokens
    DevelopmentAuto-check passed
  • Systematic Code Refactoring

    luongnv89/claude-howto

    Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.

    42k GitHub stars~3k tokensUpdated today
    DevelopmentAuto-check passed

More from ciembor/agent-rules-books

All 14 skills in this repo
  • Apply Martin Fowler-inspired enterprise architecture rules when choosing layers, service layers, transaction scripts, domain models, repositories, mappers, or…

    2.9k GitHub stars~228 tokensUpdated 1 mo ago
    Auto-check passed
  • Clean Architecture Rules

    ciembor/agent-rules-books

    Apply Robert C. Martin-inspired architecture rules when separating business policy from frameworks, databases, UI, or infrastructure details.

    2.9k GitHub stars~166 tokensUpdated 1 mo ago
    Auto-check passed
  • Clean Code Rules

    ciembor/agent-rules-books

    Apply Robert C. Martin-inspired clean code rules when improving readability, naming, function design, responsibilities, or testable everyday code.

    2.9k GitHub stars~154 tokensUpdated 1 mo ago
    Auto-check passed
  • Code Complete Construction Rules

    ciembor/agent-rules-books

    Apply Steve McConnell-inspired construction rules when implementing routines, variables, classes, control flow, defensive code, or tests.

    2.9k GitHub stars~165 tokensUpdated 1 mo ago
    Auto-check passed
  • Data-Intensive Design Rules

    ciembor/agent-rules-books

    Apply Martin Kleppmann-inspired data-system rules when designing reliability, scalability, consistency, replication, transactions, streams, or schema evolution.

    2.9k GitHub stars~206 tokensUpdated 1 mo ago
    Auto-check passed
  • Domain Driven Design

    ciembor/agent-rules-books

    Apply Eric Evans-inspired DDD rules when modeling a complex domain, defining bounded contexts, protecting ubiquitous language, or designing aggregates.

    2.9k GitHub stars~177 tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about A Philosophy of Software Design

How do I install A Philosophy of Software Design in Claude Code?

Run `npx skills add ciembor/agent-rules-books --skill a-philosophy-of-software-design -a claude-code`. Or copy the skill folder (a-philosophy-of-software-design in ciembor/agent-rules-books) into .claude/skills/a-philosophy-of-software-design in your project. Claude Code loads it when a task matches its description.

How do I install A Philosophy of Software Design in Codex?

Run `npx skills add ciembor/agent-rules-books --skill a-philosophy-of-software-design -a codex`. Or copy the skill folder (a-philosophy-of-software-design in ciembor/agent-rules-books) into .agents/skills/a-philosophy-of-software-design in your project. Codex loads it when a task matches its description.

Can I use A Philosophy of Software Design in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ciembor/agent-rules-books --skill a-philosophy-of-software-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/a-philosophy-of-software-design, .gemini/skills/a-philosophy-of-software-design, .github/skills/a-philosophy-of-software-design and .opencode/skills/a-philosophy-of-software-design in your project.

What does A Philosophy of Software Design need to run?

SKILL.md names no scripts, command-line tools or credentials: A Philosophy of Software Design is instructions for the agent only.

Does A Philosophy of Software Design access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is A Philosophy of Software Design safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does A Philosophy of Software Design use?

A Philosophy of Software Design is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does A Philosophy of Software Design use?

About 181 tokens (SKILL.md is roughly 724 characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to A Philosophy of Software Design?

Skills that share tags, products or a category with A Philosophy of Software Design: Code Quality Review (paiml/aprender, 130 stars), Typescript Best Practices (jwynia/agent-skills, 170 stars), Smell (smallnest/goal-workflow, 291 stars) and Frontend Module Standards (siteboon/claudecodeui, 14k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains A Philosophy of Software Design?

ciembor (a GitHub user) maintains it in ciembor/agent-rules-books, which has 2,943 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on September 10, 2026.

Source: ciembor/agent-rules-books on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.