From architecture
Design a modular architecture from requirements, intended architecture notes, or an approved redesign brief. Use when asked to create architecture docs, define module boundaries, integration contracts, test specifications, or a target architecture before implementation. Blends Balanced Coupling, architecture-fitness thinking, and evidence from existing code when present. NOT for auditing current implementation quality (use architecture-review) or sequencing an already-approved design (use architecture-plan).
How this skill is triggered — by the user, by Claude, or both
Slash command
/architecture:architecture-designThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Design a target architecture. The architect writes design artifacts; it does not
Design a target architecture. The architect writes design artifacts; it does not edit production source or implement the design.
Use when the user wants a new or revised architecture from functional requirements, product requirements, an ADR brief, or a known redesign goal. Use also when an existing system needs target-state module docs, integration contracts, or module test specifications before implementation.
If the user asks whether the existing implementation is healthy, start with
architecture-review instead. If the user has an architecture report with
findings but no approved target design, continue here before planning. If the
user already has an approved architecture design and wants execution steps, use
architecture-plan instead.
architecture-review first. Architecture docs may describe original intent;
code, deploy files, and tests may have drifted.architecture-design to turn requirements, validated
context, or review findings into target architecture artifacts.architecture-plan when implementation sequencing is requested, or stop when
the user only asked for design.architecture-review with comparable
scope to verify actual code matches the design.Maintain a visible task list for the design flow. Track at least:
Keep task names outcome-based. Do not expose runtime-specific mechanics in the instructions or report.
Accept, in order:
Do not design from a blank prompt. If requirements are missing or ambiguous, ask one high-impact question at a time. Prefer bounded choices. Ask only questions whose answers change module boundaries, coupling strength, volatility, ownership, deployment, data ownership, or fitness checks.
Route correctly. Decide whether this is greenfield design, target-state
redesign, or review-driven remediation design. If the request is really an
audit, switch to architecture-review. If the request is really sequencing
an already-approved design, switch to architecture-plan. Findings alone are
not an implementation plan; turn them into target design decisions first.
Read intent and reality before designing. Read requirements, README, docs, ADRs, manifests, ownership files, deploy/config files, and any prior architecture or modularity reports. When code exists, sample enough code and tests to compare intended design with observed implementation. Treat existing design docs as intent, not truth. Record drift risks explicitly; do not let stale docs become design evidence.
Build and validate the working model. Present a concise working model before proposing boundaries:
Ask for confirmation or correction. Do not continue to module design until the model is approved or the unresolved gaps are recorded as design risks.
Design the module map. Define modules around cohesive knowledge and change vectors. For each module, state:
Design integrations with Balanced Coupling. For every important
integration, evaluate integration strength, distance, and volatility. Use the
balance rule from methodology-balanced-coupling. Prefer high cohesion for
high-strength relationships and explicit contracts for high-distance
relationships. Do not recommend generic decoupling; choose the cheapest
balancing move: lower strength, lower distance, or accept low-volatility
coupling.
Define contracts and tests. For each boundary, specify the contract: API, events, schema, message, file format, function interface, or published language. Add module-level test specifications:
Write design artifacts. Use ../../templates/design.md as the skeleton
unless the repo already has a stronger architecture-doc convention. Write
artifacts only after the user approves the destination. Produce, at minimum:
Self-review the design. Before declaring done, review the proposed design for critical or significant coupling imbalances, missing contracts, vague ownership, untestable boundaries, and drift-prone intent. If critical or significant issues exist, revise the design before handing off.
Recommend the next primary skill. End with one clear next step:
architecture-plan when the design is approved and implementation needs
sequencing;architecture-review only after implementation lands and must be checked
against the design.Return or write design artifacts shaped like ../../templates/design.md with:
source_inputs: requirements, docs, reports, and code/doc drift notes used.domain_map: core/supporting/generic areas and volatility.module_map: modules, responsibilities, owned knowledge, public interfaces,
private internals, ownership/deployment expectations, change vectors.integration_contracts: relationships, strength, distance, volatility,
contract definition, and balancing rationale.test_specifications: behavior, unit, contract, boundary, and fitness checks.self_review: critical/significant/minor design issues and resolutions.handoff: recommended next skill and implementation notes.architecture-review first, unless the user explicitly wants greenfield
target-state design.architecture-plan
for sequencing, then a mutator or engineer for source changes.npx claudepluginhub alexei-led/architect --plugin architectureCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.