Architecture simplification
Skill yeaight7/agent-powerups/skills/architecture-simplification
Use when a codebase carries over-engineered abstractions, unnecessary layers, or redundant logic that should be collapsed without changing behavior.From its SKILL.md
npx -y skills add yeaight7/agent-powerups --skill architecture-simplificationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 2 commands, including `grep -rn "implements IUserRepository" src/` and 1 more.
SKILL.md
2.5 KB, 490 tokens by cl100k_base, as published. Nobody here has run it
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
-
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 -
Run the tests first. The affected area must be green before any removal — this is the behavioral baseline.
-
Inline the logic. Move the logic from the unnecessary abstraction directly into the caller.
-
Delete the dead code. Remove the interface, wrapper, or factory that is no longer needed.
-
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.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most architecture codebase skills give in 490 tokens
Counted across 858 of the 1,304 authors here whose files we hold, read 2026-09-06
- Apply the deletion test to identify shallow modulesin 32 of 858, across 31 files
- Read domain glossary and ADRs before exploringin 22 of 858, across 19 files
- Use Tailwind and Mermaid via CDN for reportsin 21 of 858, across 18 files
- Document architecture decision recordsin 20 of 858, across 12 files
- Offer to record ADRs for rejected candidatesin 17 of 858, across 14 files
- Limit primary navigation to four to seven itemsin 17 of 858, across 7 files
- Write HTML report to the system temp directoryin 17 of 858, across 14 files
- Read product marketing context before asking questionsin 16 of 858, across 6 files
- Use Mermaid graph TD for visual sitemapsin 15 of 858, across 5 files
- Ensure every page has at least one internal linkin 15 of 858, across 5 files
- Use ASCII tree format for page hierarchy draftsin 15 of 858, across 5 files
- Enforce lowercase URLs with hyphensin 15 of 858, across 5 files
Said here and by no other author read
- verify tests are green before starting
- identify if interfaces have only one implementation
- inline logic from abstractions into callers
- delete unused interfaces and wrappers
- search for remaining references to removed code
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.