mit einem Klick
architect
// Designs system architecture and selects technology stack based on vision analysis. Use after vision analysis for technical decisions. Triggers on: design architecture, select tech stack, choose framework.
// Designs system architecture and selects technology stack based on vision analysis. Use after vision analysis for technical decisions. Triggers on: design architecture, select tech stack, choose framework.
Defines God Committee member behavior and responsibilities with oversight authority. Use when operating as a committee member. Triggers on: god committee, committee observation, council discussion.
Logs AI thoughts and decisions for human observability. Applies continuously throughout all tasks to maintain transparency.
Generates Product Requirements Documents (PRD) for new features. Use when planning features or starting projects. Triggers on: create prd, write prd, plan feature, requirements, spec out.
Conducts deep technical research for Aha Loop stories. Use before implementing stories involving unfamiliar libraries or architectural decisions. Triggers on: research this, investigate, explore options, compare alternatives.
Creates and manages project roadmaps with milestones and PRD queues. Use after architecture is defined for project planning. Triggers on: create roadmap, plan milestones, organize prds.
Parses and analyzes project vision to extract structured requirements. Use at project start to understand goals, scope, and constraints. Triggers on: analyze vision, parse project goals, understand requirements.
| name | architect |
| description | Designs system architecture and selects technology stack based on vision analysis. Use after vision analysis for technical decisions. Triggers on: design architecture, select tech stack, choose framework. |
Research, evaluate, and decide on technology stack and system architecture based on project requirements.
When running in workspace mode, all paths are relative to .aha-loop/ directory:
.aha-loop/project.vision-analysis.md.aha-loop/project.architecture.mdThe orchestrator will provide the actual paths in the prompt context.
project.vision-analysis.md for requirementsproject.architecture.mdAlways use the latest stable version of libraries unless there's a specific reason not to.
## Version Selection Process
1. Query official source for latest version:
- Rust: crates.io API or `cargo search`
- Node: npmjs.com or `npm view [pkg] version`
- Python: pypi.org or `pip index versions`
2. Check release date and stability:
- Released > 2 weeks ago (not bleeding edge)
- No critical issues in GitHub issues
- Changelog shows no breaking changes from common patterns
3. Document the version and why:
- Record in project.architecture.md
- Add to knowledge/project/decisions.md
Based on project type, identify which layers need decisions:
| Layer | Examples |
|---|---|
| Language | Rust, TypeScript, Python, Go |
| Frontend Framework | React, Vue, Svelte, SolidJS |
| Backend Framework | Axum, Actix, Express, FastAPI |
| Database | PostgreSQL, SQLite, MongoDB |
| ORM/Query Builder | Diesel, SQLx, Prisma, Drizzle |
| Authentication | JWT, Sessions, OAuth providers |
| Deployment | Docker, Serverless, VPS |
| Testing | Built-in, Jest, Pytest, Vitest |
For each layer requiring a decision:
## [Layer Name] Decision
### Candidates
| Criterion | Option A | Option B | Option C |
|-----------|----------|----------|----------|
| Latest Version | v1.2.3 | v2.0.0 | v0.9.0 |
| Release Date | 2026-01-15 | 2026-01-20 | 2025-12-01 |
| GitHub Stars | 45k | 30k | 15k |
| Bundle Size | 50kb | 80kb | 30kb |
| Learning Curve | Medium | Low | High |
| Documentation | Excellent | Good | Fair |
| TypeScript Support | Native | Via types | Partial |
| Community Activity | Very Active | Active | Moderate |
### Decision: [Option B]
### Rationale
- [Reason 1]
- [Reason 2]
- [Reason 3]
### Tradeoffs Accepted
- [What we're giving up]
- [Mitigation strategy if any]
Before finalizing:
# Get latest version
curl -s "https://crates.io/api/v1/crates/tokio" | jq '.crate.max_stable_version'
# Or use cargo
cargo search tokio --limit 1
# Get latest version
npm view react version
# Get all versions
npm view react versions --json
# Using gh CLI
gh api repos/tokio-rs/tokio --jq '.pushed_at, .stargazers_count'
After technology decisions, design the architecture:
## System Components
[Component A] --> [Component B] --> [Component C]
| |
v v
[Database] [External API]
Document how data flows through the system:
Propose the project structure:
project/
├── src/
│ ├── main.rs
│ ├── api/
│ ├── db/
│ └── ...
├── tests/
├── Cargo.toml
└── ...
Document architectural patterns to follow:
# Project Architecture
**Generated:** [timestamp]
**Based on:** project.vision-analysis.md
## Technology Stack
### Core Technologies
| Layer | Technology | Version | Rationale |
|-------|------------|---------|-----------|
| Language | Rust | 1.75 | Performance, safety |
| Web Framework | Axum | 0.7.4 | Ergonomic, async |
| Database | SQLite | 3.45 | Simple, embedded |
| ORM | SQLx | 0.7.3 | Compile-time checks |
### Development Tools
| Tool | Version | Purpose |
|------|---------|---------|
| cargo-watch | 8.5.2 | Auto-rebuild |
| sqlx-cli | 0.7.3 | Migrations |
## Architecture Decisions
### ADR-001: [Decision Title]
**Context:** [Why this decision was needed]
**Decision:** [What was decided]
**Rationale:** [Why this option]
**Consequences:** [Impact of decision]
### ADR-002: ...
## System Design
### Component Overview
[Diagram or description]
### Data Flow
[How data moves through system]
### Directory Structure
[Proposed structure]
## Key Patterns
### Error Handling
[Approach]
### Configuration
[Approach]
### Testing Strategy
[Approach]
## Dependencies
### Production Dependencies
```toml
[dependencies]
axum = "0.7.4"
tokio = { version = "1.35", features = ["full"] }
sqlx = { version = "0.7.3", features = ["sqlite", "runtime-tokio"] }
[dev-dependencies]
[How the project will be deployed]
---
## Integration with Orchestrator
After architecture design:
1. Save `project.architecture.md` to project root
2. Update `knowledge/project/decisions.md` with ADRs
3. Signal completion to orchestrator
4. Roadmap Skill uses architecture as input
---
## Checklist
Before completing architecture:
- [ ] All technology layers evaluated
- [ ] Latest stable versions verified for each choice
- [ ] Compatibility between choices confirmed
- [ ] Decisions documented with rationale
- [ ] Directory structure proposed
- [ ] Key patterns defined
- [ ] Dependencies listed with versions
- [ ] ADRs recorded in knowledge/project/decisions.md
- [ ] Architecture saved to `project.architecture.md`
---
## Example: Web App Architecture
**Input:** Vision analysis showing PWA finance tracker
**Output:**
```markdown
# Project Architecture
## Technology Stack
### Core Technologies
| Layer | Technology | Version | Rationale |
|-------|------------|---------|-----------|
| Language | TypeScript | 5.3.3 | Type safety, ecosystem |
| Framework | SvelteKit | 2.5.0 | Fast, simple, SSR+SPA |
| Styling | Tailwind CSS | 3.4.1 | Utility-first, fast |
| Database | IndexedDB (Dexie) | 4.0.1 | Offline-first PWA |
| Build | Vite | 5.0.12 | Fast, modern |
### PWA Stack
| Component | Technology | Version |
|-----------|------------|---------|
| Service Worker | Workbox | 7.0.0 |
| Manifest | Vite PWA Plugin | 0.17.4 |
## Architecture Decisions
### ADR-001: SvelteKit over React/Next.js
**Context:** Need a modern frontend framework for PWA
**Decision:** Use SvelteKit 2.x
**Rationale:**
- Smaller bundle size (critical for PWA)
- Built-in SSR and static generation
- Simpler mental model than React
- Excellent TypeScript support
**Consequences:** Smaller community than React, but sufficient for this project.
### ADR-002: Dexie for IndexedDB
**Context:** Need offline data storage
**Decision:** Use Dexie.js 4.x wrapper for IndexedDB
**Rationale:**
- Promise-based API
- Excellent TypeScript support
- Reactive queries
- Well-maintained
**Consequences:** Additional 30kb bundle, but worth the DX improvement.