Apply Ockham's Razor — given a choice between functionally equivalent designs, prefer the simplest.

Apache-2.0Auto-check passed

Install Ockhams Razor

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill ockhams-razor -a claude-code

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

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins ockhams-razor --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/process-and-robustness-principles/skills/ockhams-razor .claude/skills/ockhams-razor && 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
ockhams-razor
GitHub stars
1.3k
Token cost
~2.7k tokens
SKILL.md length
1,493 words
Files
2 (incl. references)
Skills in repo
714
Repo updated
First seen
Licence
Apache-2.0

At a glance

Apply Ockham's Razor — given a choice between functionally equivalent designs, prefer the simplest.

  • Comparing design approaches
  • SKILL.md covers Why the razor matters, When the razor cuts, When the razor doesn't apply and Diagnosing accumulated…, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Evaluating whether a feature is necessary

What it does

Ockhams Razor is an agent skill from hashgraph-online/awesome-codex-plugins. Apply Ockham's Razor — given a choice between functionally equivalent designs, prefer the simplest. Use when comparing design approaches, evaluating whether a feature is necessary, deciding between elaborate and minimal solutions, auditing a product for accumulated complexity, or pruning features that no longer earn their place. The principle is not "always make things simpler" — it's "when two designs do the same thing, pick the simpler one." Most design problems involve actual tradeoffs; the razor cuts only…

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/lineage.md`).

The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.

When your agent uses it

  • Comparing design approaches
  • Evaluating whether a feature is necessary
  • Deciding between elaborate and minimal solutions
  • Auditing a product for accumulated complexity

Example prompts

  • “always make things simpler”
  • “when two designs do the same thing, pick the simpler one.”
  • “/ockhams-razor”

What it can do on your machine

Read from SKILL.md and the folder at commit 9e7b281. 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

Ockhams Razor loads about 2.7k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 142 tokens; SKILL.md has 1,493 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~142
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

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 hashgraph-online/awesome-codex-plugins at commit 9e7b281, republished under its Apache-2.0 licence (© hashgraph-online). 1,493 words, ~2,706 tokens.

Download SKILL.mdSave it as .claude/skills/ockhams-razor/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
ockhams-razor
description
Apply Ockham's Razor — given a choice between functionally equivalent designs, prefer the simplest. Use when comparing design approaches, evaluating whether a feature is necessary, deciding between elaborate and minimal solutions, auditing a product for accumulated complexity, or pruning features that no longer earn their place. The principle is not "always make things simpler" — it's "when two designs do the same thing, pick the simpler one." Most design problems involve actual tradeoffs; the razor cuts only when functionality is truly equivalent.

Ockham's Razor

Definition. Given a choice between two designs that perform the same function equally well, prefer the simpler. Simplicity reduces cognitive load, eases maintenance, lowers cost, improves performance, and reduces failure modes. Complexity should be added only when it earns its place by serving a real need. The principle is named for the medieval philosopher William of Ockham, who argued that "entities should not be multiplied beyond necessity" — the simplest explanation that fits the evidence is preferred.

In design, the razor cuts when comparing functionally equivalent options. If two designs serve the user's need equally well, pick the simpler one. The simpler design will be easier to learn, easier to maintain, less expensive to build, less likely to break, and easier to evolve.

The principle is widely cited and widely misapplied. It does not mean "always strip features" or "minimum viable everywhere." It means: don't add complexity that doesn't earn its place. When two equally-good options exist, choose simpler. When a more complex option is genuinely better, choose it; just verify that the complexity is actually paying its way.

Why the razor matters

Complexity has costs that often go uncounted at the moment of decision:

Cognitive cost. Every feature, every option, every visual element costs the user attention and learning. A product with 50 features is harder to learn than one with 10, even if all 50 are individually useful.

Maintenance cost. Every line of code, every component, every dependency needs to be maintained. A simpler system has fewer places to update, fewer interactions to debug, fewer surprises.

Reliability cost. Each component is a potential failure point. A simpler system has fewer components, fewer interactions, fewer edge cases. Reliability tends to improve with simplicity.

Performance cost. Complex systems are harder to make fast. Simpler systems are usually faster by default.

Evolution cost. Adding a new feature to a simple system is easier than adding it to a complex one. Complexity compounds.

Documentation cost. Complex systems need more documentation, which itself becomes a maintenance burden.

These costs are paid continuously, often invisibly. Complexity feels free at the moment of addition; it becomes expensive over time.

When the razor cuts

When comparing two designs that produce the same outcome. The simpler one is preferred.

When evaluating whether to add a feature. Does the feature earn its place? Could the user accomplish the same goal without it? If yes, the absence is simpler.

When pruning an existing product. Features, options, settings that don't serve the user well should be candidates for removal.

When choosing technical architecture. A simpler architecture (fewer services, fewer abstractions, fewer technologies) is easier to maintain.

When picking between visual treatments. A cleaner design that communicates the same information is preferred over an elaborate one.

When the razor doesn't apply

When the more complex option is genuinely better. The razor cuts only when alternatives are equivalent. If the complex option serves users substantially better, choose it.

When simplification destroys necessary capability. A medical interface that simplifies away critical information is too simple. The right level of complexity depends on what the system needs to do.

When the simpler option doesn't actually work. A simple solution that doesn't solve the problem isn't simpler in any meaningful sense — it's just incomplete.

When the complexity is in the underlying problem. Some problems are genuinely complex. Trying to make the solution radically simpler than the problem usually fails.

The razor is a tiebreaker, not a mandate. Its work is to prevent unnecessary complexity, not to force inappropriate simplicity.

Diagnosing accumulated complexity

Products tend to accumulate complexity over time, often invisibly. Symptoms:

Settings that no one understands. A settings panel with dozens of options whose meanings have been forgotten.

Features that no one uses. Features added for some specific need years ago that are now used by 0.1% of users.

Workflows with branches. A flow that has 8 different paths through it, each handling a slightly different case.

Documentation that's longer than the code. A sign that the design has accumulated complexity that's hard to explain.

Onboarding that takes longer. New users need more time to understand the product than they used to.

Engineers afraid to touch certain code. Code so complex that no one understands it; changes are risky.

Many "exception" handlers. A codebase with many special cases for specific situations.

These are all signs that the razor might be useful. Look for things that can be removed, simplified, or consolidated.

Sub-skills in this cluster

  • ockhams-feature-pruning — Removing features, options, and complexity that no longer earn their place. The discipline of cutting back what's accumulated.
  • ockhams-equivalent-designs — Identifying when two designs are functionally equivalent and applying the razor. The skill of recognizing when simpler is just as good.

Worked examples

Two equivalent designs for a setting

A team is debating two designs for a "default sort order" setting:

Option A: A dropdown with 5 options, each clearly named.

Option B: A wizard that asks the user 3 questions and infers the right sort.

Both produce the same result (the right default sort). Option A is simpler — fewer interactions, less code, less explanation needed. Option B is more elaborate but doesn't produce a better outcome.

The razor cuts: choose A.

Show full SKILL.md (629 more words)Show less
Feature that doesn't earn its place

A product has a "share via fax" feature added 5 years ago when one customer asked for it. Usage data shows: 0.001% of users have ever used it. The code requires ongoing maintenance and occasionally breaks.

The razor cuts: remove the feature. The few users who depend on it can be contacted; the maintenance burden goes away; the product becomes simpler.

Architecture choice

A team is building a new microservice. Two options:

Option A: A simple service that handles the responsibility, in the team's primary language and tech stack.

Option B: A more elaborate service using a different language and framework chosen for theoretical performance benefits.

If Option A meets the requirements, the razor cuts toward it. The team knows the language, the tech stack is supported, the maintenance burden is lower. The theoretical performance of Option B doesn't earn its place if the simpler option is fast enough.

Prune accumulated settings

A product's settings page has 50 options accumulated over years. Audit reveals: 15 options are used by less than 1% of users; 8 options are obsolete (the underlying feature was removed); 5 are duplicates of each other; 10 should be defaults rather than settings.

After pruning: 12 settings remain, each clearly justified. The settings page is dramatically simpler. The few users who depended on removed settings can be addressed individually.

A more complex design that earns its place

A team is debating two designs for an editor:

Option A: A simple text-only editor.

Option B: A WYSIWYG editor with formatting, embeds, mentions, and inline collaboration.

The functions aren't equivalent — Option B does substantially more. If users need the additional capabilities, the complexity is justified. The razor doesn't say "always simpler"; it says "simpler when equivalent."

The complexity of Option B is acceptable because it earns its place by serving real needs that A can't.

Anti-patterns

Mistaking simplicity for value. Stripping a product to "MVP" and shipping something that doesn't actually do useful work. Simplicity that fails to serve isn't simpler; it's incomplete.

Adding complexity reflexively. Every problem solved with a new feature, a new option, a new toggle. The product accumulates complexity that's never pruned.

"Just one more option." The temptation to add a configuration setting for every edge case. Each setting individually seems harmless; the accumulation becomes paralyzing.

Applying the razor to the wrong things. Stripping features that users depend on; simplifying interfaces past the point of usability; cutting maintenance work that's actually needed.

Confusing minimal with simple. A minimal-looking interface that requires deep navigation to find anything is not actually simple — it's hidden complexity. True simplicity means easy to use, not just visually sparse.

Reflexive simplification. Cutting things just because cutting feels virtuous. Verify that what's cut actually wasn't earning its place.

Heuristic checklist

When considering a design choice, ask: Are the alternatives functionally equivalent? If yes, the razor cuts toward simpler. What does the complexity earn? If little, prefer simpler. What does the complexity cost? Cognitive, maintenance, reliability, performance, evolution. Will this complexity be paid for over its lifetime? If not, choose simpler. Have I confused minimalism with simplicity? True simplicity is ease of use, not just visual reduction.

  • Form Follows Function — the razor and form-follows-function are closely related; both ask whether each element earns its place.
  • 80/20 Rule — most use is concentrated in a few features; the razor justifies pruning the long tail.
  • Signal-to-Noise Ratio — simpler designs have higher signal-to-noise.
  • Mapping — simpler mappings are easier to understand.
  • Hick's Law — fewer options means faster decisions.
  • Iteration — simplification is often an iterative process; what wasn't ready to remove last year may be ready now.

See also

  • references/lineage.md — origins in medieval philosophy and modern engineering.
  • ockhams-feature-pruning/ — sub-skill on pruning accumulated complexity.
  • ockhams-equivalent-designs/ — sub-skill on identifying functionally equivalent options.

© hashgraph-online, Apache-2.0. 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 1 other file (references) in plugins/HDeibler/universal-design-principles/plugins/process-and-robustness-principles/skills/ockhams-razor of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • references/lineage.md

Open the folder on GitHubat commit 9e7b281

Compare with similar skills

Ockhams Razor 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.

Ockhams Razor compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ockhams Razor this skillhashgraph-online/awesome-codex-plugins1.3k—~2.7kAutomated safety check: PassApache-2.0
Azure Functionsdavila7/claude-code-templates32k2 repos~344Automated safety check: PassMIT
Neon Functionssickn33/agentic-awesome-skills47k1 repos~8.6kAutomated safety check: NotesApache-2.0
GCP Cloud Functionssickn33/agentic-awesome-skills47k2 repos~2.3kAutomated safety check: PassMIT
Securing Serverless Functionsmukul975/Anthropic-Cybersecurity-Skills34k—~3.1kAutomated safety check: PassApache-2.0
Performing Serverless Function Security Reviewmukul975/Anthropic-Cybersecurity-Skills34k—~3.1kAutomated safety check: PassApache-2.0

Similar skills

  • Azure Functions

    davila7/claude-code-templates

    Expert patterns for Azure Functions development including isolated worker model, Durable Functions orchestration, cold start optimization, and production patterns.

    32k GitHub starsUsed in 2 repos~344 tokens
    Backend & APIsAuto-check passed
  • Neon Functions

    sickn33/agentic-awesome-skills

    Long-running, serverless Node.js HTTP functions deployed onto your Neon branch, with DATABASEURL injected automatically and compute that runs next to your data.

    47k GitHub starsUsed in 1 repo~8.6k tokens
    Backend & APIsAuto-check: notes
  • GCP Cloud Functions

    sickn33/agentic-awesome-skills

    Deploy serverless functions on Google Cloud Functions. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 2 repos~2.3k tokens
    Backend & APIsAuto-check passed
  • Securing Serverless Functions

    mukul975/Anthropic-Cybersecurity-Skills

    Hardens serverless compute platforms (AWS Lambda, Azure Functions, Google Cloud Functions): least-privilege IAM roles, dependency vulnerability scanning, secrets management integration, input…

    34k GitHub stars~3.1k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Performing Serverless Function Security Review

    mukul975/Anthropic-Cybersecurity-Skills

    Performing security reviews of serverless functions across AWS Lambda, Azure Functions, and GCP Cloud Functions to identify overly permissive execution roles, insecure environment variables…

    34k GitHub stars~3.1k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Add a function body definition to an ONNX operator, defining how it decomposes into simpler ops.

    22k GitHub stars~1.1k tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 714 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.3k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.3k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.3k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.3k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Calle

    hashgraph-online/awesome-codex-plugins

    Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.

    1.3k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.3k GitHub stars~618 tokensUpdated today
    Auto-check passed

Questions about Ockhams Razor

What does Ockhams Razor do?

Apply Ockham's Razor — given a choice between functionally equivalent designs, prefer the simplest. Ockhams Razor is an agent skill from hashgraph-online/awesome-codex-plugins. Apply Ockham's Razor — given a choice between functionally equivalent designs, prefer the simplest.

When should I use Ockhams Razor?

Ockhams Razor fits situations like: comparing design approaches; evaluating whether a feature is necessary; deciding between elaborate and minimal solutions; auditing a product for accumulated complexity.

How do I install Ockhams Razor in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill ockhams-razor -a claude-code`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/process-and-robustness-principles/skills/ockhams-razor in hashgraph-online/awesome-codex-plugins) into .claude/skills/ockhams-razor in your project. Claude Code loads it when a task matches its description.

How do I install Ockhams Razor in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill ockhams-razor -a codex`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/process-and-robustness-principles/skills/ockhams-razor in hashgraph-online/awesome-codex-plugins) into .agents/skills/ockhams-razor in your project. Codex loads it when a task matches its description.

Can I use Ockhams Razor 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 hashgraph-online/awesome-codex-plugins --skill ockhams-razor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ockhams-razor, .gemini/skills/ockhams-razor, .github/skills/ockhams-razor and .opencode/skills/ockhams-razor in your project.

What does Ockhams Razor need to run?

SKILL.md names no scripts, command-line tools or credentials: Ockhams Razor is instructions for the agent only.

Does Ockhams Razor 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 Ockhams Razor 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 Ockhams Razor use?

Ockhams Razor is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ockhams Razor use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.6k tokens, read only when the agent opens those files.

What are the alternatives to Ockhams Razor?

Skills that share tags, products or a category with Ockhams Razor: Azure Functions (davila7/claude-code-templates, 32k stars), Neon Functions (sickn33/agentic-awesome-skills, 47k stars), GCP Cloud Functions (sickn33/agentic-awesome-skills, 47k stars) and Securing Serverless Functions (mukul975/Anthropic-Cybersecurity-Skills, 34k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Ockhams Razor?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,255 GitHub stars. The repository holds 714 skills in this directory. The repository was last updated on October 9, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.