From ucai
Designs system architectures, evaluates monolith vs microservices, creates diagrams, analyzes dependencies, chooses databases, plans scalability, makes technical decisions, and reviews designs using ADRs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ucai:architectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
System design, architecture decisions, and technical strategy for any scale and any stack.
System design, architecture decisions, and technical strategy for any scale and any stack.
Before designing or recommending anything, establish:
Ask or infer from project files: CLAUDE.md, README.md, package.json, docker-compose.yml, terraform/, .github/workflows/.
For any significant technology decision, search before recommending:
WebSearch: "<decision area> best practices 2025"
WebSearch: "<option A> vs <option B> 2025 comparison"
WebSearch: "<database type> use cases trade-offs 2025"
WebSearch: "<architecture pattern> when to use 2025"
This grounds recommendations in current community consensus, not stale knowledge.
Document every significant decision as a MADR (Markdown Any Decision Record):
# ADR-NNN: <Title>
**Status**: Proposed | Accepted | Deprecated | Superseded by ADR-NNN
## Context
What is the situation forcing this decision?
## Decision
What are we choosing to do?
## Options Considered
| Option | Pros | Cons |
|--------|------|------|
| A | ... | ... |
| B | ... | ... |
## Consequences
What becomes easier? What becomes harder?
## References
- Link to relevant documentation or prior art
Store in docs/decisions/ or adr/.
Before adopting any pattern in this section: (1) question whether the requirement driving it is load-bearing or aspirational — can it be dropped? (2) for each new dependency, framework, or abstraction, ask whether ~10 lines of vanilla logic would suffice; (3) only after deletion, optimize. Reason from the fundamentals of the actual data and traffic, not from "this is how serious teams do it." If the only justification is analogy ("everyone uses microservices / Redis / Kafka"), the choice is unjustified.
requestId, userId, service, duration, error)[User] --> [Your System] --> [External Service A]
--> [External Service B]
<-- [Database]
graph TD
User --> Frontend
Frontend --> API
API --> DB[(Database)]
API --> Cache[(Cache)]
API --> Queue[Message Queue]
Queue --> Worker
Worker --> DB
Before presenting any architecture recommendation:
npx claudepluginhub joncik91/ucai --plugin ucaiDesigns high-level system architecture, writes Architecture Decision Records (ADRs), and evaluates technology trade-offs. Invoke for system design, microservices structuring, scalability planning, and infrastructure pattern selection.
Designs system architecture, creates ADRs, evaluates trade-offs, and plans scalability. Use for architecture review, microservices structuring, and infrastructure pattern selection.
Designs software architectures evaluating monolith/microservices/serverless/event-driven/CQRS/hexagonal patterns; generates C4 diagrams, ADRs, bounded contexts, and quality analysis.