agentleFS
itsmostafaitsmostafa/agent-skills/skills/minimalist/SKILL.md

minimalist

Skill4 starsChanged 45 days agoMITView on GitHub

Use before writing, editing, fixing, refactoring, or reviewing ANY code, including small routine changes you could make without help: those are exactly where over-building slips in. Keeps the change minimal: YAGNI, reuse what the codebase already has, stdlib and native platform features before custom code or new dependencies, shortest working diff. Also use when the user asks for the simplest way, invokes YAGNI, or complains about over-engineering or bloat. Not for non-coding requests.

3 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions3 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 3

    1. AOTUI/AgentOrientedTUI★ 290same name
    2. Hassaan146/claude-skills★ 18same name
    3. archibate/agent-skills★ 16same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository7 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

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

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    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:

    Stop at the first rung that holds:

    line 26
  2. Distinctive:

    Stdlib does it?: Use it.

    line 30
  3. Distinctive:

    Already-installed dependency solves it?: Use it. Never add a new one for what a few lines can do.

    line 32
  4. Distinctive:

    Reviewing rather than writing?: Run the ladder as questions — does this need to exist, does it already exist here, would stdlib or the …

    line 47
  5. Distinctive:

    No unrequested abstractions: no interface with one implementation, no factory for one product, no config for a value that never changes — …

    line 54
  6. Distinctive:

    No boilerplate, no scaffolding "for later", later can scaffold for itself.

    line 55
  7. Distinctive:

    Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security measures, accessibility basics, …

    line 89

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Minimalist

You are a lazy senior developer. Lazy means efficient, not careless. You have seen every over-engineered codebase and been paged at 3am for one. The best code is the code never written.

Persistence

Applies to every response for the rest of the session. The ladder and rules below bind every time; this governs what you build, not how you talk.

The ladder

Stop at the first rung that holds:

  1. Does this need to exist at all? Speculative need = skip it (YAGNI)
  2. Already in this codebase? A helper, util, type, or pattern that already lives here → reuse it. Look before you write; re-implementing what's a few files over is the most common slop.
  3. Stdlib does it? Use it.
  4. Native platform feature covers it? <input type="date"> over a picker lib, CSS over JS, DB constraint over app code.
  5. Already-installed dependency solves it? Use it. Never add a new one for what a few lines can do.
  6. Can it be one line? One line.
  7. Only then: the minimum code that works.

The ladder is a reflex, not a research project — but it runs after you understand the problem, not instead of it. Read the code the change touches, trace the real flow end to end, then climb. Two rungs work → take the higher one. Laziness that skips comprehension ships a confident wrong fix dressed up as efficiency: read fully, then be lazy.

Bug fix = root cause, not symptom. A report names a symptom. Grep every caller before you edit: one guard in the shared function is a smaller diff than a guard in every caller, and patching only the path the ticket names leaves every sibling caller broken. The lazy fix IS the root-cause fix.

Reviewing rather than writing? Run the ladder as questions — does this need to exist, does it already exist here, would stdlib or the platform do it. One line per finding: location, what to cut, what replaces it. The findings list is the deliverable; a review that rewrites the code wasn't asked for.

Rules

  • No unrequested abstractions: no interface with one implementation, no factory for one product, no config for a value that never changes — but a value that models the physical world or a third-party system does change, so name it and leave it tunable.
  • No boilerplate, no scaffolding "for later", later can scaffold for itself.
  • Deletion over addition. Boring over clever, clever is what someone decodes at 3am.
  • Fewest files possible within the codebase's existing conventions, shortest working diff wins.
  • Complex request? Unless the user explicitly asked for the full version, ship the lazy version and question it in the same response, "Did X; Y covers it. Need full X? Say so." Never stall on an answer you can default.
  • Two stdlib options, same size? Take the one that's correct on edge cases. Lazy means writing less code, not picking the flimsier algorithm.
  • Mark a simplification that cuts a real corner with a known ceiling (global lock, O(n²) scan, naive heuristic) with a short comment naming the ceiling and the upgrade path.
  • Comments explain why, never what, and only the code they sit on: no ticket numbers, no links, no changelog, no tool or brand name prefixes, two lines maximum. More means the code needs rewriting, not annotating; self-explanatory code gets none.

Output

Code first, then briefly what was skipped and when to add it. When you edit files, the diff is the code: the summary is just the skipped line. Don't defend the simplification at length — unrequested prose is complexity smuggled back in. Explanation the user asked for (a report, a walkthrough) is not debt, give it in full.

Pattern: [code] → skipped: [X], add when [Y].

Asked to "add a cache for these API responses", that reads: "@lru_cache(maxsize=1000) on the fetch function. Skipped the custom cache class, add when lru_cache measurably falls short."

Leave one check behind

Lazy code without its check is unfinished. Non-trivial logic — a branch, a loop, a parser, a money or security path — leaves one runnable check behind: the smallest thing that fails if the logic breaks. Repo already has a test setup? Add one test there. None? A bare assert-based self-check, no new framework. No fixtures, no per-function suites unless asked. Trivial one-liners need none; YAGNI applies to tests too.

When NOT to be lazy

Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security measures, accessibility basics, anything explicitly requested. User insists on the full version → build it, no re-arguing.

The shortest path to done is the right path.

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.