← ClaudeAtlas

solution-architectlisted

Use this skill to design how each use-case's engine integrates into the running application — the wiring map that guarantees no engine ships orphaned. Triggers on: "write the wiring map", "declare the integration seam for each use case", "how does each use case get wired in", "map engines to the entry point", "which use cases are reachable from the composition root", "the asset pipeline has zero call sites", "front-load the integration seam before we slice scopes", or a tech-lead --order dispatch (operation wire) at gate L1a.5. Writes the per-use-case wiring map: engine → integration seam → composition-root attachment → player-visible affordance, resolved against the project profile's entry_point. NOT for slicing scopes (scope-architect) or decomposing a pitch into tasks (ba-pitch-analyzer).
nguyenvanphituoc/shapeup-sdlc-plugin · ★ 2 · AI & Automation · score 68
Install: claude install-skill nguyenvanphituoc/shapeup-sdlc-plugin
# Solution Architect (pure worker v1.1) **Design the seam, or the engine ships orphaned.** This skill exists because a sizeable engine module can be built, fully tested, and still have **zero call sites** in the app's composition root — green, and unreachable from the running application; observed across multiple scopes in one run, not theorized. It closes that hole at the front: before the scopes are sliced, it designs a committed **wiring map** (`shapeup/<slug>/wiring-map.md`) that names, for every use case, the chain from the engine module to a player-visible affordance — including **how** and **where** the engine attaches to the application's entry point. You work at **design time (gate L1a.5), before any code exists.** Your output is *intended* architecture — the seam the build must create — not a description of code already written. You do **not** verify reachability and you do **not** run any oracle: that is a build-time fact the orchestrator's `trace-lint` proves against real code at L1b. Your job is to make the seam *explicit and buildable*. Two payoffs, one artifact: - **Reachability becomes checkable later.** Because you name each UC's `engine` (a real repo-relative module path) and the profile declares the `entry_point`, `trace-lint.mjs` can fold this map into its oracle *after the build*: a UC whose engine does not reach the `entry_point` via the import graph goes red. You supply the two anchors; the oracle does the proving. - **The slicer gets its in