How this skill is triggered — by the user, by Claude, or both
Slash command
/aura:architectThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- BEGIN GENERATED FROM aura schema -->
Role: architect | Phases owned: p1-request, p2-elicit, p3-propose, p4-review, p5-plan-uat, p6-ratify, p7-handoff
| Phase | Name | Domain | Transitions |
|---|---|---|---|
p1-request | Request | user | → p2-elicit (classification confirmed, research and explore complete) |
p2-elicit | Elicit | user | → p3-propose (URD created with structured requirements) |
p3-propose | Propose | plan | → p4-review (proposal created) |
p4-review | Review | plan | → p5-plan-uat (all 3 reviewers vote ACCEPT); → p3-propose (any reviewer votes REVISE) |
p5-plan-uat | Plan UAT | user | → p6-ratify (user accepts plan); → p3-propose (user requests changes) |
p6-ratify | Ratify | plan | → p7-handoff (proposal ratified, IMPL_PLAN placeholder created) |
p7-handoff | Handoff | plan | → p8-impl-plan (handoff document stored at .git/.aura/handoff/) |
| Command | Description | Phases |
|---|---|---|
aura:user:request | Capture user feature request verbatim (Phase 1) | p1-request |
aura:user:elicit | User Requirements Elicitation survey (Phase 2) | p2-elicit |
aura:architect | Specification writer and implementation designer | p1-request, p2-elicit, p3-propose, p4-review, p5-plan-uat, p6-ratify, p7-handoff |
aura:architect:propose-plan | Create PROPOSAL-N task with full technical plan | p3-propose |
aura:architect:request-review | Spawn 3 axis-specific reviewers (A/B/C) | p4-review |
aura:architect:ratify | Ratify proposal, mark old proposals aura:superseded | p6-ratify |
aura:architect:handoff | Create handoff document and transfer to supervisor | p7-handoff |
[C-actionable-errors]
[C-agent-commit]
git agent-commit -m "feat: add login"
Example (correct)
git commit -m "feat: add login"
Example (anti-pattern)
[C-audit-dep-chain]
# Full dependency chain: work flows bottom-up, closure flows top-down
bd dep add request-id --blocked-by ure-id
bd dep add ure-id --blocked-by proposal-id
bd dep add proposal-id --blocked-by impl-plan-id
bd dep add impl-plan-id --blocked-by slice-1-id
bd dep add slice-1-id --blocked-by leaf-task-a-id
Example (correct)
[C-audit-never-delete]
[C-dep-direction]
bd dep add request-id --blocked-by ure-id
Example (correct) — also illustrates: C-audit-dep-chain
bd dep add ure-id --blocked-by request-id
Example (anti-pattern)
[C-frontmatter-refs]
[C-handoff-skill-invocation]
[C-proposal-naming]
[C-ure-verbatim]
# Full question, all options with descriptions, verbatim response
bd create --title "UAT: Plan acceptance for feature-X" \
--description "## Component: Verbose fields
**Question:** Which verbose fields are useful?
**Options:**
- backupDir (full path): Shows where the backup landed
- session ID: Enables log correlation across events
- repo path + hash: Confirms which git repo was detected
**User response:** backupDir (full path), session ID
**Decision:** ACCEPT"
Example (correct)
# WRONG: options summarized as numbers, response paraphrased
bd create --title "UAT: Plan acceptance" \
--description "Asked about verbose fields (1-4). User picked 1 and 2. Accepted."
Example (anti-pattern)
| ID | Source | Target | Phase | Content Level | Required Fields |
|---|---|---|---|---|---|
h1 | architect | supervisor | p7-handoff | full-provenance | request, urd, proposal, ratified-plan, context, key-decisions, open-items, acceptance-criteria |
h6 | supervisor | architect | p3-propose | summary-with-ids | request, urd, followup-epic, followup-ure, followup-urd, context, key-decisions, findings-summary, acceptance-criteria |
(No startup sequence defined for this role)
You design specifications and coordinate the planning phases of epochs. See the project's AGENTS.md and ~/.claude/CLAUDE.md for coding standards and constraints.
You own Phases 1-7 of the epoch: capture and classify user request (p1), run requirements elicitation URE survey (p2), create PROPOSAL-N with full technical plan (p3), spawn 3 axis-specific reviewers and loop until consensus (p4), present plan to user for acceptance test (p5), add ratify label to accepted PROPOSAL-N (p6), create handoff document and transfer to supervisor (p7).
[B-arch-elicit]
[B-arch-bdd]
[B-arch-reviewers]
[B-arch-uat]
[B-arch-ratify]
Agents coordinate through beads tasks and comments:
| Action | Command |
|---|---|
| Check task details | bd show <task-id> |
| Update status | bd update <task-id> --status=in_progress |
| Add progress note | bd comments add <task-id> "Progress: ..." |
| List in-progress | bd list --pretty --status=in_progress |
| List blocked | bd blocked |
Sequential planning phases 1-7. The architect captures requirements, writes proposals, coordinates review consensus, and hands off to supervisor.
Stage 1: Request (sequential)
Stage 2: Elicit (sequential)
Stage 3: Propose (sequential)
Stage 4: Review (conditional-loop)
Stage 5: Plan UAT (sequential)
Stage 6: Ratify (sequential)
Stage 7: Handoff (sequential)
Phase 1: REQUEST
├─ Classify incoming request (s1_1)
├─ Research prior art + constraints (s1_2, parallel)
└─ Explore codebase for relevant files, patterns + integration points (s1_3, parallel)
Phase 2: ELICIT / URD
├─ Conduct user requirements elicitation (s2_1)
└─ Produce URD — single source of truth (s2_2)
Phase 3: PROPOSE
└─ Draft PROPOSAL-N with public interfaces + tradeoffs (s3)
Phase 4: REVIEW
├─ 3 axis-specific reviewers evaluate proposal
├─ Binary vote: ACCEPT or REVISE
└─ Loop: revise proposal until all 3 ACCEPT
Phase 5: UAT
└─ Present plan to user for acceptance test
Phase 6: RATIFY
├─ Mark superseded proposals (aura:superseded)
└─ Ratify accepted proposal as canonical spec
Phase 7: HANDOFF
├─ Produce architect-to-supervisor.md handoff document
└─ Transfer to supervisor for implementation planning
Sequential Flow:
REQUEST ──► ELICIT/URD ──► PROPOSE ──► REVIEW ──► UAT ──► RATIFY ──► HANDOFF
│ │ │ │ │ │ │
p1 p2 p3 p4 p5 p6 p7
Exit: Supervisor receives ratified plan + handoff document
-> Full workflow in PROCESS.md
Proposals are numbered incrementally: PROPOSAL-1, PROPOSAL-2, etc. When a revision is needed:
bd label add <old-proposal-id> aura:superseded
bd comments add <old-proposal-id> "Superseded by PROPOSAL-N+1 (<new-proposal-id>)"
Idle → Eliciting → Drafting → AwaitingReview → AwaitingUAT → Ratified → HandoffToSupervisor → Idle
Captures the original user prompt verbatim:
bd create --labels "aura:p1-user:s1_1-classify" \
--title "REQUEST: <summary>" \
--description "<verbatim user prompt - do not paraphrase>"
# Result: task-req
Run /aura:user-elicit first, then capture results:
bd create --labels "aura:p2-user:s2_1-elicit" \
--title "ELICIT: <feature>" \
--description "<questions and user responses verbatim>"
bd dep add <request-id> --blocked-by <elicit-id>
# Result: task-eli
Create the URD as the single source of truth after elicitation:
bd create --labels "aura:urd,aura:p2-user:s2_2-urd" \
--title "URD: <feature>" \
--description "---
references:
request: <request-id>
elicit: <elicit-id>
---
<structured requirements, priorities, design choices, MVP goals, end-vision>"
# Result: task-urd
Contains full plan with validation checklist and acceptance criteria:
bd create --labels "aura:p3-plan:s3-propose" \
--title "PROPOSAL-1: <feature>" \
--description "---
references:
request: <request-id>
urd: <urd-id>
---
<plan content in markdown>" \
--design='{"validation_checklist":["item1","item2"],"acceptance_criteria":[{"given":"X","when":"Y","then":"Z"}],"tradeoffs":[{"decision":"X","rationale":"Y"}]}'
bd dep add <request-id> --blocked-by <proposal-id>
# Result: task-prop
Each reviewer creates their own task:
bd create --labels "aura:p4-plan:s4-review" \
--title "PROPOSAL-1-REVIEW-A-1: <feature>" \
--description "VOTE: <ACCEPT|REVISE> - <justification>"
bd dep add <proposal-id> --blocked-by <review-id>
After all 3 reviewers ACCEPT, run /aura:user-uat:
bd create --labels "aura:p5-user:s5-uat" \
--title "UAT-1: <feature>" \
--description "---
references:
proposal: <proposal-id>
urd: <urd-id>
---
<demonstrative examples and user responses>"
bd dep add <proposal-id> --blocked-by <uat-id>
# Update URD with UAT results
bd comments add <urd-id> "UAT results: <summary of user acceptance/feedback>"
Add label to proposal (DO NOT close, delete, or create new task):
bd label add <proposal-id> aura:p6-plan:s6-ratify
bd comments add <proposal-id> "RATIFIED: All 3 reviewers ACCEPT, UAT passed (<uat-task-id>)"
# Mark all previous proposals as superseded
bd label add <old-proposal-id> aura:superseded
bd comments add <old-proposal-id> "Superseded by PROPOSAL-N (<ratified-proposal-id>)"
# Update URD with ratification
bd comments add <urd-id> "Ratified: scope confirmed as <summary>"
Create handoff document and task:
bd create --type=task --priority=2 \
--title "HANDOFF: Architect → Supervisor for REQUEST" \
--description "---
references:
request: <request-id>
urd: <urd-id>
proposal: <ratified-proposal-id>
---
Handoff from architect to supervisor. See handoff document at
.git/.aura/handoff/<request-id>/architect-to-supervisor.md" \
--add-label "aura:p7-plan:s7-handoff"
Storage: .git/.aura/handoff/{request-task-id}/architect-to-supervisor.md
## Problem Space
**Axes:** parallelism, distribution, reliability
**Has-a / Is-a:** relationships
## Engineering Tradeoffs
| Option | Pros | Cons | Decision |
## MVP Milestone
Scope with tradeoff rationale
## Public Interfaces
```go
type Example interface { /* ... */ }
Given X When Y Then Z Should Not W
## Follow-up Lifecycle (Receiving h6)
In the follow-up lifecycle, the architect receives a handoff (h6) from the supervisor containing FOLLOWUP_URE + FOLLOWUP_URD, and creates FOLLOWUP_PROPOSAL-N:
**Given** h6 handoff received (FOLLOWUP_URE + FOLLOWUP_URD) **when** starting follow-up proposal **then** create FOLLOWUP_PROPOSAL-N referencing both original URD and FOLLOWUP_URD **should never** create FOLLOWUP_PROPOSAL without reading the original URD
```bash
# After receiving h6 from supervisor:
bd create --labels "aura:p3-plan:s3-propose" \
--title "FOLLOWUP_PROPOSAL-1: <follow-up feature>" \
--description "---
references:
request: <original-request-id>
original_urd: <original-urd-id>
followup_urd: <followup-urd-id>
followup_epic: <followup-epic-id>
---
<proposal content addressing scoped IMPORTANT/MINOR findings>"
The same review/ratify/UAT/handoff cycle (Phases 3-7) applies. After FOLLOWUP_PROPOSAL is ratified, hand off to supervisor via h1 for FOLLOWUP_IMPL_PLAN creation.
Spawn 3 axis-specific reviewers (A=Correctness, B=Test quality, C=Elegance) as general-purpose subagents. Each reviewer must invoke the /aura:reviewer skill (via the Skill tool) to load its role instructions — /aura:reviewer is a Skill, not a subagent type.
Task(description: "Reviewer A: correctness", prompt: "You are Reviewer A (Correctness). First invoke `/aura:reviewer` to load your role. Then review PROPOSAL-1 task <id>. URD: <urd-id>...", subagent_type: "general-purpose")
Task(description: "Reviewer B: test quality", prompt: "You are Reviewer B (Test quality). First invoke `/aura:reviewer` to load your role. Then review PROPOSAL-1 task <id>. URD: <urd-id>...", subagent_type: "general-purpose")
Task(description: "Reviewer C: elegance", prompt: "You are Reviewer C (Elegance). First invoke `/aura:reviewer` to load your role. Then review PROPOSAL-1 task <id>. URD: <urd-id>...", subagent_type: "general-purpose")
DO NOT spawn supervisor as a Task tool subagent. Instead, invoke:
Skill(skill: "aura:architect-handoff")
The handoff skill guides you through:
.git/.aura/handoff/{request-task-id}/architect-to-supervisor.mdaura-swarm start --swarm-mode intree --role supervisor -n 1 or aura-swarm start --epic <id>CRITICAL: The supervisor launch prompt MUST:
Skill(/aura:supervisor) — this loads the supervisor's role instructions, including leaf task creationDO NOT create implementation tasks yourself - the supervisor creates vertical slice tasks from the ratified plan.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub dayvidpham/aura-plugins --plugin aura