From empire-dev
Evaluates architecture decisions using context like team size and scale, documents trade-offs via matrices, and selects patterns. Use for ADRs, tech choices, technical debt assessment, and design alternatives.
npx claudepluginhub marcoskichel/empire --plugin empire-devThis skill uses the workspace's default tool permissions.
<section id="core">
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Guides code writing, review, and refactoring with Karpathy-inspired rules to avoid overcomplication, ensure simplicity, surgical changes, and verifiable success criteria.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Share bugs, ideas, or general feedback.
Context drives decisions. No pattern is universally good or bad. The best architecture is not the most elegant — it's the one that best serves its purpose while remaining maintainable and evolvable.
Every architectural decision trades off:
| Vertex | Maximized By | Cost |
|---|---|---|
| Simplicity | Monolith, sync communication, single DB | Scalability limits |
| Flexibility | Microservices, event-driven, plugins | Complexity overhead |
| Performance | Caching, denormalization, optimized code | Maintainability |
Balance strategies: start simple; add complexity as needed; measure before optimizing; use abstractions to defer decisions; evolve incrementally.
MUST consider team and scale context before recommending patterns.
Team context:
| Context | Prefer | Avoid |
|---|---|---|
| Small team | Monolith, vertical slices, shared DB | Microservices, complex abstractions |
| Multiple teams | Service boundaries, API contracts | Shared state, tight coupling |
Scale context:
| Context | Prefer | Reasoning |
|---|---|---|
| Startup / early | Monolith first, vertical scaling | Optimize for development speed |
| Enterprise | Service mesh, horizontal scaling | Optimize for operational scale |
Quality attributes to surface:
Use weighted matrix for comparing alternatives. Weight factors based on context priorities.
| Option | Consistency | Flexibility | Scalability | Complexity | Cost | Total |
|---|---|---|---|---|---|---|
| Option A | 5 | 2 | 3 | 2 | 3 | 15 |
| Option B | 3 | 5 | 4 | 3 | 3 | 18 |
| Option C | 2 | 3 | 5 | 1 | 2 | 13 |
MUST list criteria and weights before scoring. MUST justify weights against stated context.
Use ADR for any decision that would be expensive to reverse.
# ADR-[NUMBER]: [TITLE]
## Status
[Proposed | Accepted | Deprecated | Superseded]
## Context
[Situation requiring a decision]
### Requirements
- [Requirement]
### Constraints
- [Constraint]
## Decision
[What is the decision?]
### Justification
- [Reason]
## Consequences
### Positive
- [Benefit]
### Negative
- [Drawback]
## Alternatives Considered
### [Alternative]
Reason rejected: [Why]
Branch by Abstraction — create abstraction over current implementation → implement new solution behind abstraction → switch → remove old.
Strangler Fig — identify boundary → implement new solution for new features → gradually migrate old features → retire old system.
Parallel Run — implement new solution → run both old and new → compare results → switch when confident.
| Type | Examples | Payment Strategy |
|---|---|---|
| Design | Missing abstractions, tight coupling | Refactoring sprints |
| Code | Duplication, complexity, poor naming | Continuous cleanup |
| Test | Missing tests, flaky tests | Test improvement |
| Documentation | Missing docs, outdated diagrams | Documentation sprints |
Metrics: debt ratio = debt work / total work (target < 20%); interest rate = extra effort caused by debt; debt ceiling = maximum acceptable debt.
Big Ball of Mud — no clear structure, everything depends on everything. Remedy: identify boundaries, extract modules, establish interfaces.
Distributed Monolith — services must deploy together, sync chains, shared DBs. Remedy: merge related services, async communication, separate DBs.
Golden Hammer — one solution for all problems, force-fitting patterns. Remedy: learn alternatives, evaluate objectively, prototype options.