mcpField
C
complexity-budget

complexity-budget

github.com/wilbeibiDevelopment274 installsUpdated 1w ago
Repository

About complexity-budget

A development skill for assessing the cost of design complexity by locating which layer owns a behavior and weighing whether added mechanisms are justified. It is intended for contested design choices, not routine edits.

Key features

  1. 01Locate the layer that owns an invariant
  2. 02Prefer composing existing functions, types, or configuration
  3. 03Weigh reuse against separate implementations
  4. 04Check coupling and invalid states
  5. 05Report only material tradeoffs

Use cases

  1. 01Review whether a new abstraction or mechanism is justified
  2. 02Decide which layer should own repeated behavior
  3. 03Check changes for cross-module dependencies

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wilbeibi/wilbeibi-skills --skill complexity-budget

After installing, type/complexity-budgetin Claude Code to confirm it loaded.

Bundled filesagents/openai.yamlREFERENCE.md

Details

From the project README

complexity-budget

Identify the layer that owns the behavior, then assess whether the proposed complexity earns its cost. Use this lens for contested design choices; it is not a ceremony before routine edits.

Decision criteria

  • Locate where the invariant is established. A fix repeated across callers may belong beneath them.
  • Try composing existing functions, types, or configuration before adding a new mechanism.
  • Compare extending existing behavior with a separate implementation. Folding in can reduce duplication, but coupling across ownership or trust boundaries may cost more than a small copy.
  • Judge coupling and admitted invalid states, not line count. A larger change at the correct layer can be simpler.
  • Use the project's idioms. Prefer types or constructors that prevent invalid states where practical.

Review the proposed change

Look for new cross-module dependencies, duplicated concepts, shared mutable state, and branches that defend invalid combinations. Resolve relevant concerns by moving behavior to its owner, reusing a primitive, simplifying the state model, or explaining the concrete outcome that justifies the addition.

Report only material tradeoffs or unresolved choices. Do not require spoken answers to every criterion, a fixed output template, or unrelated refactoring.

For deeper analysis of a contested decision, read REFERENCE.md.

Comments

Markdown supported