agentleFS
yeaight7yeaight7/agent-powerups/skills/architecture-simplification/SKILL.md

architecture-simplification

Skill6 starsChanged 4 months agoApache-2.0View on GitHub

Use when a codebase carries over-engineered abstractions, unnecessary layers, or redundant logic that should be collapsed without changing behavior.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Delete the dead code: Remove the interface, wrapper, or factory that is no longer needed.

    line 34
  2. Very specific:

    Example: if a UserRepository implements IUserRepository but there is only ever one database, inline UserRepository and delete …

    line 38
  3. Distinctive:

    Before/after test evidence showing unchanged behavior

    line 43

≈ “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

Purpose

Over time, codebases accumulate "just in case" abstractions. This skill guides the safe removal of unnecessary complexity: remove the noise around the core logic without changing the core logic itself.

When to Use

  • An interface has only one implementation and no second one is planned
  • A wrapper, factory, or layer only passes arguments straight through
  • Two code paths do the same thing and should be consolidated

Inputs

  • The suspect abstraction(s) and their call sites
  • A green test suite covering the affected area

Workflow

  1. Identify the abstraction cost. Does this interface have only one implementation? Does this wrapper class just pass arguments straight through? Measure before cutting:

    grep -rn "implements IUserRepository" src/    # count implementations
    grep -rn "IUserRepository" src/ | wc -l       # count references
  2. Run the tests first. The affected area must be green before any removal — this is the behavioral baseline.
  3. Inline the logic. Move the logic from the unnecessary abstraction directly into the caller.
  4. Delete the dead code. Remove the interface, wrapper, or factory that is no longer needed.
  5. Test verification. Re-run the same tests; the observable behavior of the system must not have changed.

Example: if a UserRepository implements IUserRepository but there is only ever one database, inline UserRepository and delete IUserRepository.

Output

  • The simplified code with the abstraction removed
  • Before/after test evidence showing unchanged behavior

Verification

  • Tests covering the area were green before the change (baseline)
  • Same tests green after the change — observable behavior preserved
  • No references to the removed abstraction remain (searched, not assumed)
  • Diff contains only removal/inlining — no core-logic rewrites

Failure Modes

  • Rewrite disguised as simplification — do not rewrite the entire subsystem; simplification removes the noise around the core logic, not the logic itself.
  • Cutting without a baseline — without a green pre-change test run, "tests pass after" proves nothing.
  • Speculative retention — keeping the interface "in case we need it later" recreates the original problem.

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.