← ClaudeAtlas

decomposelisted

Service-architecture decision discipline — decide monolith vs modular monolith vs extracting a service, per candidate boundary, on evidence: real extraction drivers (deploy contention, asymmetric scaling, failure isolation, team ownership) weighed against the distributed tax, with "extract the seam before the service" as the governing rule. Verdict per boundary: STAY / MODULARIZE / EXTRACT, recorded as an ADR and routed to the right executor. TRIGGER when: the user asks "should we split this into services", "monolith or microservices", "extract X into its own service", "is it time to break this up", or a plan proposes a new service and the boundary hasn't been justified. DO NOT TRIGGER when: the user wants in-process module/interface design (use /codebase-design), a whole-tree rot scan (use /arch-health), the extraction is already decided and needs a shipping strategy (use /rollout), or a past architecture decision needs re-examination first (use /revisit).
mik2win/foureyes · ★ 2 · AI & Automation · score 79
Install: claude install-skill mik2win/foureyes
# Service Decomposition: $ARGUMENTS `$ARGUMENTS` names the candidate boundary ("billing", "the notifications module") or is empty = survey the whole system for extraction candidates and verdict each. ## Principle A service boundary is not a code-quality tool — it is an **organizational and operational** tool that happens to involve code. Splitting a process buys independent deploys, independent scaling, and failure isolation; it pays for them with network partial-failure, the loss of cross-boundary transactions, contract versioning, and an operational floor per service. Messy code is never a driver: **a mess cut in two is two messes joined by a network**. The governing rule is **extract the seam before the service**. Every good service boundary must first exist and hold as a clean in-process module boundary — own interface, own data access, no reach-ins. If the boundary can't be drawn inside one process, the network will not draw it for you. This is `core.md`'s door rule: extraction is a heavy, nearly-one-way door, but **modularization is how you change the door** — a proven in-process seam makes later extraction cheap and is worth having even if you never extract. So the default verdict is always the modular monolith, and extraction must argue its way past it. This skill **decides and records** — it does not restructure. Execution routes out (Phase 4). ## Phase 0 — Load profile **Tooling preflight — one call, before step 1.** Some tools this skill relies on are **defe