simplify
Simplify
Use this skill for narrow, behavior-preserving cleanup after code already exists. Favor local refinements over redesign.
Workflow
- Read the governing instructions for the repo and files you touch, starting with
AGENTS.mdand any closer scoped instructions. - If the repo has Brainerd memory (
brain/.brainerd-version,brain/index.md, orbrain/principles.md), read it before non-trivial work. - Determine the smallest valid scope:
- use the recent diff when version control clearly shows the touched code
- otherwise use the files or ranges named by the user
- otherwise inspect the smallest plausible local area and avoid widening scope without a reason
- Identify safe simplifications inside that scope:
- reduce unnecessary branching or nesting
- inline needless indirection
- remove dead or duplicated code
- improve names when the meaning becomes clearer
- replace clever compact code with explicit code
- delete comments that only narrate obvious code
- Preserve behavior while simplifying:
- do not change outputs, side effects, or error handling unless the user asks
- do not change public interfaces unless the request clearly includes it
- do not simplify away security, accessibility, tests, or explicit product requirements
- Follow local conventions instead of imposing blanket style rules. Prefer what the repo already does unless the current code is clearly inconsistent or harmful.
- Stop before broader redesign. If the real fix requires API changes, module boundary changes, abstraction changes, or architecture work, switch to
$simple-codeinstead of stretching this skill. - Verify with the smallest relevant checks available for the touched scope: targeted tests, type checks, linters, or other local validation signals.
Boundaries
Use $simplify for concrete post-edit cleanup of recent or specified code.
Use $simple-code for broader design simplification such as APIs, module boundaries, abstraction choices, test strategy, or architecture tradeoffs.
Reporting
When finishing:
- summarize the meaningful simplifications
- note what you verified
- call out any risk, ambiguity, or area left unvalidated
More from mylesmcook/mcook-skills
adversarial-review
Use this skill when you need a serious code review, diff review, or implementation-plan review from independent reviewers. In Codex hosts, prefer a fresh Codex subagent for the Codex reviewer; otherwise use the Codex, Claude Code, and Gemini reviewer paths when available. Return a PASS, CONTESTED, or REJECT verdict.
13subagent-driven-development
Use after an implementation plan is approved to execute mostly independent tasks through fresh subagents with scoped context, harness-aware model routing, proportional review gates, and mandatory controller verification.
10brainerd
>
10simple-code
Reduce incidental complexity in code and design. Use when shaping APIs, module boundaries, refactors, tests, naming, and architecture tradeoffs with a bias toward concrete, local, reversible solutions.
7git-it-out
Use this skill when the user explicitly wants final end-of-session closeout and no more branch or PR limbo: proper verification, proper commits, main/mainline landing, push, repo-native merge/release/deploy/publish steps, tracker updates, Entire/checkpoint handling when configured, and a concise handoff. Reach for it on prompts like 'git it out', 'get it out', 'ship this', 'I'm done', 'I'm going to bed', 'take this off my plate', 'finish the session', or 'get this into production'. Do not use it for greenfield implementation, open-ended debugging, broad refactors, or inventing a release process from scratch.
7laws-of-taste
>-
6