do-simplify

Simplifies recently modified code for clarity without changing behavior.

2|Updated May 25, 2026
One-click install
npx skills add https://github.com/edheltzel/Do-Skills --skill do-simplify-edheltzel
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: do-simplify
Source: https://github.com/edheltzel/Do-Skills/tree/main/skills/core/do-simplify
Command: npx skills add https://github.com/edheltzel/Do-Skills --skill do-simplify-edheltzel

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Code that works is often harder to read than it needs to be, and cleanup passes risk breaking behavior or introducing stylistic churn. This Skill provides disciplined rules for simplifying recently modified code so the next reader understands it faster while behavior stays exactly the same. ## Core Features & Use Cases - Behavior-Preserving Simplification: Flattens nesting, removes dead branches and duplicate logic, and renames vague identifiers without changing outputs, APIs, or error behavior. - Helper Evaluation Guidance: Decides when to inline or keep single-use helpers based on whether they name domain concepts or hide low-level mechanics. - Stop Conditions and Review Process: Defines when to stop refactoring and how to explain each change, including what gets simpler and why behavior is preserved. - Use Case: After finishing a feature branch, run a cleanup pass over the modified files to collapse redundant wrappers and clarify control flow before opening a pull request. ## Quick Start Ask the agent to simplify the code you just modified without changing its behavior, and have it explain each proposed change.

Frequently Asked Questions about do-simplify

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

FAQPage Schema
How do I simplify code without changing its behavior?▼

Identify the modified code, then apply only changes that preserve outputs, side effects, timing, public APIs, and error behavior. Focus on flattening nesting, removing dead branches, collapsing duplicates, and renaming vague identifiers, then verify each change at the call site.

When should I inline a single-use helper function?▼

Inline a helper when its body is clearer than its name and the call site becomes easier to read. Keep it when it names a domain concept, hides multiple checks behind one intent-revealing name, or separates high-level flow from low-level mechanics.

What refactorings should I avoid during a cleanup pass?▼

Avoid changes that combine unrelated concerns, expose low-level mechanics at important call sites, replace clear control flow with dense expressions, or introduce new patterns not already present. Do not reformat or modernize unrelated code.

When should I stop simplifying code?▼

Stop when remaining changes are taste preferences, when a refactor needs broader context than the modified code provides, or when simplification would require new tests, migrations, or API changes. If the code is already clear enough, say so.

Does code simplification work for any programming language?▼

Yes, the rules are language-agnostic and focus on readability, naming, and control flow rather than syntax. The Skill matches the surrounding style of the codebase instead of imposing new conventions.