From Rust Code Studio
Design or revise module/crate architecture — boundaries, dependency direction, key types, and an architecture doc. Drives map → decide → record → hand off via chief-architect.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rust-studio:architecture [scope/goal][scope/goal]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Drive a disciplined architecture session through **map → decide → record → approve → hand off**,
Drive a disciplined architecture session through map → decide → record → approve → hand off,
honoring the collaboration protocol (${CLAUDE_PLUGIN_ROOT}/docs/coordination-protocol.md). You
are the orchestrator: you do not write files directly — you delegate all writes to sub-agents.
Maintainer bar applies. Every option, boundary, and gate in this session is held to the
maintainer-grade standard (${CLAUDE_PLUGIN_ROOT}/docs/maintainer-grade-development.md): reuse
over reinvent, structural invariants over caller discipline, and a forward-looking ownership view —
not just a one-line trade-off. The Pre-code Maintainer Gate (Phase 2.5) runs ON TOP OF ARCH-GATE.
$ARGUMENTS is the scope or goal. If it names a crate, module, or feature, start there. If it
names a path, read that file as the brief. If empty, ask: "What are we designing — a new crate,
a module reorganization, or a specific subsystem?" and, for greenfield work, suggest describing
the key use-cases before proceeding.
rust-scout to produce a file:line map of all crate roots (Cargo.toml),
lib.rs / main.rs entry points, pub use re-exports, and existing module boundaries in
scope. Use serena (find_symbol, get_symbols_overview, search_for_pattern) for symbol
and boundary navigation; use cargo modules to render the module tree; use rg for
macro-generated or cfg-gated sites serena can't see. Do not guess the layout.find_symbol / find_implementations / find_referencing_symbols
across crates) what primitives, traits, error types, builders, and helpers already exist in
sibling crates that bear on this design. For every new type/trait/helper the architecture would
introduce, you must later justify reuse-vs-new against this inventory — reinventing a sibling
crate's primitive is a Maintainer-Rejection-Test failure.chief-architect (read-only) to review the scout's map and name:
domain → infra → app),chief-architect identifies the design questions that actually need answering (e.g.
split vs. merge a crate, which crate owns a type, visibility rules, async boundary placement).
Narrow to the 2–5 decisions that drive everything else.pub surface, maintainability). Each option must ALSO state:
web_search_exa, get_code_context_exa) and cratesio /
context7 / rust-docs, OR state the last-verified version. Silence is a gap, not a pass.
Mark the architect's recommended default. Spawn harsh-critic by DEFAULT for any new-crate,
cross-crate, or boundary-moving plan — not opt-in "load-bearing only": it attacks the recommended
option (challenge the premise, propose a radically different decomposition) — let the design
survive only if it beats the alternatives, then fold real findings in.chief-architect emits a Maintainer-grade pre-code verdict per
${CLAUDE_PLUGIN_ROOT}/docs/maintainer-grade-development.md — ACCEPTABLE / RESHAPE NEEDED /
BLOCKED. It answers: what crate owns the concept; which sibling primitives the reuse survey
surfaced (and which the design reuses vs. reinvents); what a strict maintainer would reject in the
proposed decomposition; which breaking changes are allowed because the workspace is in active dev.
RESHAPE NEEDED loops back to Phase 2 before the user is asked to choose; BLOCKED surfaces the
missing decision/evidence. Only an ACCEPTABLE (or knowingly-accepted-tradeoff) verdict proceeds.AskUserQuestion: show the decision list and options; get explicit choices before any draft
is produced. Batch all open decisions into one ask. If the user defers a decision, record it
as OPEN and proceed only with the settled ones./adr.chief-architect drafts a module/crate diagram and prose description covering:
/adr with the decision context,
options, and chosen outcome. Do not write ADRs inline — delegate to the /adr skill.AskUserQuestion for the earlier option forks (the Phase 3 decision gate), not
for this final go-ahead. If approved, delegate to rust-builder to write
docs/templates/architecture.md (${CLAUDE_PLUGIN_ROOT}/docs/templates/architecture.md)
from the approved draft. The builder must not add content beyond what was approved in Phase 4.chief-architect to run ARCH-GATE against the final architecture doc and the
scout's map:
ARCH-GATE returns NEEDS WORK, list the specific gaps, hand them back to
chief-architect for revision (loop to Phase 4), and re-run the gate.ARCH-GATE returns BLOCKED (e.g. an open external dependency), surface the blocker,
do not proceed, and AskUserQuestion with options: (a) defer and document the gap, (b) scope
down to what is unblocked, (c) resolve the dependency first.ARCH-GATE is COMPLETE, spawn product-steward with:
/dev-task./dev-task to kick off implementation./dev-task for the first story, /review after an initial implementation,
/perf if performance boundaries were a driver.If any sub-agent returns BLOCKED (missing context, unresolved dependency, conflicting
constraints): surface it immediately, do not proceed past the blocked item, and AskUserQuestion
with options — (a) narrow scope and continue, (b) gather missing context and retry, (c) stop and
resolve the prerequisite. Never discard completed phases.
npx claudepluginhub vanyastaff/rust-studio --plugin rust-studioProvides 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.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.