• Home
  • About
  • Agent Skills
  • Projects
  • Blog
  • Contact
Resume
Agent Skills/architecture/Review Over-Engineering and Unnecessary Abstractions

Review Over-Engineering and Unnecessary Abstractions

Review React and TypeScript code for premature abstractions, low-value wrappers, and pattern abuse, then simplify it with YAGNI and Clean Code while preserving behavior.

typescriptreactclean-codeyagnirefactoringarchitecture

Install for your agent

Download the file and place it at the path for your coding agent. Review the instructions before enabling a third-party skill.

Codex

~/.codex/skills/abstraction-overengineering-review/SKILL.md

Claude Code

.claude/skills/abstraction-overengineering-review/SKILL.md

Cursor

.cursor/skills/abstraction-overengineering-review/SKILL.md

GitHub Copilot

.github/skills/abstraction-overengineering-review/SKILL.md
</>View raw SKILL.mdInspect only the executable instructions your coding agent will receive, without catalog metadata.
Source file: abstraction-overengineering-review/SKILL.md
---
name: "abstraction-overengineering-review"
description: "Review React and TypeScript code for premature abstractions, low-value wrappers, and pattern abuse, then simplify it with YAGNI and Clean Code while preserving behavior."
---

# Review Over-Engineering and Unnecessary Abstractions

Use this skill when simple changes travel through too many factories, wrappers, generic layers, or patterns and the codebase needs evidence-based simplification rather than a rewrite.

## Workflow

1. Trace one real use case from its entry point to the final dependency.
2. Record the independent responsibility and value of every layer on that path.
3. Find wrappers that mostly rename or forward the underlying API.
4. Review abstractions with one implementation and one consumer. That alone is not a reason to delete them; require evidence of cost and missing independent policy.
5. Flag generics that reduce inference or readability for hypothetical reuse.
6. Design the smallest direct path that preserves current behavior.
7. Refactor incrementally and run available type checks and tests after each meaningful step.

## Evidence for simplification

Useful signals include pass-through changes repeated across layers, interfaces without independent contracts, wrappers that only forward arguments, generic machinery without real reuse, and patterns that obscure data flow more than they protect it.

## Guardrail

Do not remove a healthy shared contract, security boundary, real external-service adapter, or test seam merely to reduce file count. The goal is not the fewest layers; it is the least complexity required by current product constraints.

## Output contract

For each finding, report:

```text
Abstraction:
Current value:
Observed cost:
Keep / Simplify / Remove:
Smallest safe change:
Validation:
```

Finish by summarizing which abstractions were removed, simplified, or intentionally retained and how behavior was validated.

Use this skill when simple changes travel through too many factories, wrappers, generic layers, or patterns and the codebase needs evidence-based simplification rather than a rewrite.

Workflow

  1. Trace one real use case from its entry point to the final dependency.
  2. Record the independent responsibility and value of every layer on that path.
  3. Find wrappers that mostly rename or forward the underlying API.
  4. Review abstractions with one implementation and one consumer. That alone is not a reason to delete them; require evidence of cost and missing independent policy.
  5. Flag generics that reduce inference or readability for hypothetical reuse.
  6. Design the smallest direct path that preserves current behavior.
  7. Refactor incrementally and run available type checks and tests after each meaningful step.

Evidence for simplification

Useful signals include pass-through changes repeated across layers, interfaces without independent contracts, wrappers that only forward arguments, generic machinery without real reuse, and patterns that obscure data flow more than they protect it.

Guardrail

Do not remove a healthy shared contract, security boundary, real external-service adapter, or test seam merely to reduce file count. The goal is not the fewest layers; it is the least complexity required by current product constraints.

Output contract

For each finding, report:

Abstraction:
Current value:
Observed cost:
Keep / Simplify / Remove:
Smallest safe change:
Validation:

Finish by summarizing which abstractions were removed, simplified, or intentionally retained and how behavior was validated.

Skill details

Version
1.0.0
Updated
2026-09-10
Category
architecture
Difficulty
advanced
License
MIT
Author
Naser Rasouli

Capabilities

Executes scriptsNot required
Network accessNot required

Source article

Read the original article behind this skill for deeper explanations, context, and examples.