principle-minimize-reader-load

Review code for excessive indirection layers and hidden mutable state that burden readers.

6.6k|542|Updated Jan 23, 2026
One-click install
npx skills add https://github.com/cursor/plugins --skill principle-minimize-reader-load
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: principle-minimize-reader-load
Source: https://github.com/cursor/plugins/tree/main/pstack/skills/principle-minimize-reader-load
Command: npx skills add https://github.com/cursor/plugins --skill principle-minimize-reader-load

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Code is read far more than it is written, yet common metrics like LOC and cyclomatic complexity miss the real cost: the work a reader must do to trace where values come from and what can change them. This Skill gives reviewers a concrete rubric for spotting and reducing that reader load.

Core Features & Use Cases

  • Two-axis audit: Count layers of indirection between a question and its answer, and count hidden or mutable state the reader must hold in their head.
  • Layer collapse guidance: Identify one-caller wrappers, pass-through adapters, and speculative abstractions that should be inlined, plus interfaces that fail to compress complexity.
  • State scope shrinking: Prefer pure functions, locals over fields, fields over module state, and derived values over synchronized copies.
  • Use Case: During a code review of a service with six adapter layers and scattered global flags, apply this Skill to pinpoint which layers to inline and which state to localize, then verify a new reader can answer "where does X come from?" in under 30 seconds.

Quick Start

Ask the AI to review the current module using the minimize-reader-load principle and list which layers and mutable state should be collapsed.

Frequently Asked Questions about principle-minimize-reader-load

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make code easier to read and trace during review?

Count two things: layers of indirection between a question and its answer, and hidden mutable state the reader must track. Collapse wrappers with one caller, inline pass-through layers, and shrink state scope from globals toward locals and pure functions.

What is reader load in code maintainability?

Reader load is the work a person must do to understand code, measured on two independent axes: indirection layers to trace and state to hold in memory. It matters more than proxies like LOC or cyclomatic complexity because code is read far more than written.

When should I collapse an abstraction layer or wrapper?

Collapse a layer when it has only one caller, repeats the same methods and arguments as the layer below, or was built for a future that never arrived. A layer must change the abstraction or hide meaningful decisions to earn its keep.

How do I reduce hidden mutable state in a module?

Prefer pure functions that return values over mutations, locals over fields, fields over module state, and module state over globals. Derive values instead of synchronizing copies, and name invariants once at the boundary rather than in every consumer.

What are the limitations of complexity metrics like cyclomatic complexity?

Metrics like LOC and cyclomatic complexity are proxies that miss the actual cost of understanding code. A flat file with 50 globals can be as hard to reason about as a six-layer adapter stack, so both layers and state must be evaluated independently.