agentleFS
LegendAppLegendApp/legend-skills/simplify/SKILL.md

simplify

Skill38 starsChanged 41 days agoMITView on GitHub

Simplify the requested code or diff while preserving behavior and meaningful coverage.

119 other projects use a version of this, 1 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use codex-system, design-tracker and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • gaebalaiSkill

    codex-system

    PROACTIVELY consult Codex CLI, your highly capable supporter with exceptional reasoning and task completion abilities. Codex is a trusted expert you should ALWAYS consult BEFORE making decisions on: design choices, implementation approaches, debugging strategies, refactoring plans, or any non-trivial problem. When uncertain, consult Codex. Don't hesitate - Codex provides better analysis. Explicit triggers: "think deeper", "analyze", "second opinion", "consult codex".

    Also in 3 projects that use this

  • gaebalaiSkill

    design-tracker

    PROACTIVELY track and document project design decisions without being asked. Activate automatically when detecting architecture discussions, implementation decisions, pattern choices, library selections, or any technical decisions. Also use when user explicitly says "記録して", "設計どうなってる", "record this". Do NOT wait for user to ask - record important decisions immediately.

    Also in 3 projects that use this

  • mike22890Skill

    clonedeps

    将项目依赖的第三方库源码克隆到本地,便于深入阅读和调试。当需要查看库的实现细节、阅读源码、调试第三方依赖、理解 SDK/framework 内部机制、查看 node_modules 之外的原始代码、分析开源库架构、学习他人代码、查看依赖的 TypeScript 类型定义时使用。

    Also in 3 projects that use this

  • mdrubelamin2Skill

    verification-planning

    Plans how to prove a change works or broke nothing: frames the claim, designs an evidence path from the system itself, and requires every check to be able to fail.

    Also in 3 projects that use this

  • devbrother2024Skill

    artifact-design

    단독 self-contained HTML 산출물(랜딩 페이지, 정적 문서·리포트, 독립 대시보드, 데모·게임, 개발 전 UX/UI 대안 비교 목업)을 만들 때 팔레트·타이포그래피·레이아웃을 의도적으로 설계하고 템플릿·AI스러운 디자인을 피하도록 돕는 디자인 가이드. HTML/CSS를 쓰기 전에 로드한다. "랜딩 만들어줘", "이 내용 단일 HTML로 예쁘게", "UX 대안 HTML로 비교해줘", "디자인 잡아줘"처럼 단독 HTML 아티팩트를 만들거나 비교하는 요청에 활성화하고, 기존 앱(React·Vue 등)의 인앱 컴포넌트 수정이나 순수 백엔드·로직 작업에는 쓰지 않는다.

    Also in 3 projects that use this

  • codebycoreySkill

    batch

    Create multiple proposals from free-form feature descriptions. Use when planning several features at once, batch creating proposals, or setting up related changes.

    Also in 4 projects that use this

  • +3 more from gaebalai

The file

We split this skill into the rules it gives an agent

11 rules. 0 are common, 11 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 111 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before adding code, decide the smallest change that meets the requirement.

    line 12
  2. Distinctive:

    When changes are requested, implement directly and reuse existing mechanisms where they fit.

    line 23
  3. Distinctive:

    Prefer deletion, reuse, or a direct change over a new abstraction.

    line 30
  4. Distinctive:

    Keep one source of truth; avoid mirrored state, overlapping guards, duplicate registries, and compensating mechanisms.

    line 31
  5. Distinctive:

    Remove these when they serve no required behavior, invariant, useful clarity, measured performance need, or existing repository convention:

    line 38
  6. Distinctive:

    Read every added block with the existing code around it, not just the diff hunk.

    line 51
  7. Distinctive:

    When duplicate or ineffective regression coverage is suspected, deliberately break the claimed invariant and confirm the remaining test …

    line 62
  8. Distinctive:

    Do not rewrite branch history without authorization.

    line 64
  9. Distinctive:

    Do not replace clear code with compressed or clever code merely to reduce lines.

    line 73
  10. Distinctive:

    Leave unrelated and user-authored changes untouched.

    line 75
  11. Distinctive:

    Stop when every remaining concept supports a requirement, invariant, useful clarity, existing repository convention, or measured …

    line 77

“Common” is measured: kept by at least 6 in 10 of the 111 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Simplify

Produce the smallest clear implementation that fully satisfies the required behavior. Minimize concepts and moving parts, not line count.

Cadence

  • Before adding code, decide the smallest change that meets the requirement; each new concept must earn its place.
  • During construction, apply the priorities locally while discovering behavior. Allow clearly temporary instrumentation or scaffolding when it accelerates learning.
  • At convergence, once a logical behavior slice passes, simplify that slice, remove superseded attempts and scaffolding, and rerun focused validation.
  • For an explicitly requested branch audit, compare with the intended base. Otherwise review only the requested change; do not broaden a small cleanup into a whole-branch audit.

Workflow

  1. Identify the required behavior, invariants, constraints, and non-goals.
  2. Inspect the relevant diff and separate it into logical concepts. For a final branch audit, compare the full branch with its merge base and check history for superseded attempts when relevant.
  3. Inspect the existing owners, sources of truth, common path, decision points, and nearby code style before adding anything.
  4. Choose the design with the fewest necessary concepts and the least work at runtime.
  5. When changes are requested, implement directly and reuse existing mechanisms where they fit.
  6. Validate behavior with checks proportional to the risk.
  7. Review the final code, tests, names, comments, documentation, configuration, and relevant history for anything that no longer earns its complexity.

Simplification Priorities

  • Match the repository's existing style and patterns: naming, file layout, error handling, test style, and the libraries it already uses. Do not introduce a new pattern where an existing one fits.
  • Prefer deletion, reuse, or a direct change over a new abstraction.
  • Keep one source of truth; avoid mirrored state, overlapping guards, duplicate registries, and compensating mechanisms.
  • Where the repository has no convention, prefer straightforward positive control flow over early-return chains or empty branches.
  • On hot paths, minimize allocations, callback recreation, subscriptions, renders, passes, I/O, and native work.
  • For prose, remove repetition and keep the shortest wording or example that remains self-sufficient.

Over-engineering Checklist

Remove these when they serve no required behavior, invariant, useful clarity, measured performance need, or existing repository convention:

  • one-use helpers that can be inlined instead;
  • defensive null or type checks for states the types or callers already rule out;
  • config flags, options, or parameters for variation no current caller needs;
  • wrapper types or classes that only forward;
  • new files, modules, or abstractions where an existing owner fits;
  • fallback, compatibility, or migration paths the task does not require;
  • try/catch blocks that swallow errors or silently fall back;
  • speculative generality: extension points or cases nothing uses yet.

Line-level Pass

  • Read every added block with the existing code around it, not just the diff hunk.
  • Flag new code that duplicates a statement, return, or branch the surrounding code already has.
  • Flag cases where guarding, wrapping, or skipping existing code would be smaller than adding a parallel path.
  • Flag existing lines that became unreachable or redundant.
  • Apply or report each case with the smaller rewrite; a diff-level "lean/proportional" verdict is not enough.
  • Example: a fast path if (sortsAfterTail) { queue.push(task); return; } before a scan loop that already ends with queue.push(task) duplicates the push. Guard the loop with if (!sortsAfterTail) so one trailing push serves both paths.

Existing Work

Establish a passing baseline before simplifying working code. Test one questionable concept at a time, rerun the relevant validation, and restore it if behavior or meaningful coverage weakens. Do not restructure several accumulated fix attempts before establishing which changes are causally necessary.

When duplicate or ineffective regression coverage is suspected, deliberately break the claimed invariant and confirm the remaining test fails. Passing tests alone do not prove that every test or implementation concept is necessary.

Do not rewrite branch history without authorization.

Performance Changes

Name the exact common-path work being removed: allocations, scans, mounts, renders, subscriptions, I/O, or native calls. Control-flow evidence plus regression tests can justify removing work that is structurally unused. Require a benchmark, profile, or repeated repro when an optimization changes semantics or introduces a tradeoff. Do not add complexity for theoretical gains.

Guardrails

  • Preserve correctness, required behavior, type safety, distinct regression coverage, and useful clarity.
  • Do not replace clear code with compressed or clever code merely to reduce lines.
  • Make scoped, behavior-preserving improvements directly. If a simplification beyond the requested change would alter a public API or add a new concept, explain and suggest it instead.
  • Leave unrelated and user-authored changes untouched.

Stop when every remaining concept supports a requirement, invariant, useful clarity, existing repository convention, or measured performance need. Report only material simplifications, validation, and unresolved opportunities.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.