architecture-simplification

Guides minimal architecture decisions by reducing abstractions, indirection, and state ownership complexity.

Updated Jun 8, 2026
One-click install
npx skills add https://github.com/vovanostm-public/multica --skill architecture-simplification-vovanostm-public
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: architecture-simplification
Source: https://github.com/vovanostm-public/multica/tree/main/.agents/skills/architecture-simplification
Command: npx skills add https://github.com/vovanostm-public/multica --skill architecture-simplification-vovanostm-public

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Software projects accumulate unnecessary abstractions, mixed responsibilities, and over-engineered patterns that make code harder to maintain. This Skill provides a disciplined workflow for making the smallest maintainable design decision before adding abstractions or redesigning modules. ## Core Features & Use Cases - Module Role Rule: Enforces naming one primary role per touched file to prevent role mixing and unclear boundaries. - Pattern Trigger Checklist: Only permits patterns like Adapter, Strategy, Repository, or Factory when a concrete trigger exists, otherwise defaults to plain functions. - State Ownership Classification: Categorizes state changes by owner such as Query, Zustand, URL, local React state, DB, or external systems. - Use Case: Before extracting a new service layer for a feature, run this workflow to confirm whether a local pure helper or existing code reuse would be the smaller, more testable design. ## Quick Start Review my planned refactoring of the payment module using the architecture simplification workflow and tell me the smallest viable design.

Frequently Asked Questions about architecture-simplification

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide when to add a design pattern to my code?▼

Add a pattern only when a concrete trigger exists: Adapter for external boundaries, Strategy for three or more interchangeable behaviors, Repository for persistence boundaries, and Factory for platform-specific construction. Without a trigger, use a plain function.

How to simplify software architecture before refactoring modules?▼

Trace the workflow from entry point to core behavior, assign one primary role per touched file, and identify the true boundary such as DB, HTTP API, or filesystem. Then choose the smallest design, starting with reusing existing code before extracting helpers or abstractions.

When should I use a Repository pattern versus a plain function?▼

Use the Repository pattern only at a persistence boundary where data storage is abstracted from business logic. If no real persistence boundary exists, a plain function keeps the design smaller and easier to test.

How do I classify state ownership in a React application?▼

Classify each piece of state by its owner: server cache in Query, shared client state in Zustand, shareable UI state in the URL, component-local state in React, persistent data in the DB, or data owned by an external system.

What are the limitations of pattern-trigger-based design reviews?▼

The workflow relies on judgment when tracing workflows and naming module roles, so results depend on how accurately boundaries are identified. It guides decisions but does not enforce them automatically in code.