archon
Autonomous multi-session campaign agent. Decomposes large work into phases, delegates to sub-agents, reviews output, and…
Given a PRD, produces an implementation architecture: file tree, component breakdown, data model, and a phased build plan with end conditions that Archon can execute directly. Multi-candidate evaluation for key decisions.
Claude Code
$ npx -y skills add SethGammon/Citadel --skill architect --agent claude-code
Codex
$ npx skills add SethGammon/Citadel --skill architect -a codex -y
Cursor
$ npx skills add SethGammon/Citadel --skill architect -a cursor -y
Gemini CLI
$ npx skills add SethGammon/Citadel --skill architect -a gemini-cli -y
GitHub Copilot
$ npx skills add SethGammon/Citadel --skill architect -a github-copilot -y
OpenCode
$ npx skills add SethGammon/Citadel --skill architect -a opencode -y
Windsurf
$ npx skills add SethGammon/Citadel --skill architect -a windsurf -y
name: architect license: MIT description: >- Given a PRD, produces an implementation architecture: file tree, component breakdown, data model, and a phased build plan with end conditions that Archon can execute directly. Multi-candidate evaluation for key decisions. user-invocable: true auto-trigger: false trigger_keywords: - architect - architecture - design the system - file structure - plan the build effort: high
**Don't use when:** you already have an architecture and want to implement it (use /marshal or /archon); you need a PRD first (use /prd before /architect).
One of: 1. A PRD file path (from /prd) — preferred, contains structured requirements 2. A user-provided spec or description + an existing codebase — sufficient 3. Neither — suggest /prd first, but don't hard-gate. If the user has a clear direction ("add auth to my app"), that + the existing code IS the input.
**Greenfield mode**: PRD exists with `Mode: greenfield`, or no existing source files. Produces a complete architecture from scratch.
**Feature mode**: PRD exists with `Mode: feature`, OR the user describes a feature and the project has existing source files. The architecture describes changes to existing code, not a standalone system.
In feature mode:
**If PRD exists**, read it. Extract:
**If no PRD**, read the codebase instead:
For decisions with multiple valid approaches — state management, API structure, auth pattern, DB schema, routing — generate 2-3 candidates. Assess each on complexity, risk, maintainability, and LLM-friendliness. Pick the winner and document why. Reject alternatives with reasoning.
Simple decisions (file naming, folder structure, CSS) don't need this — use the PRD's stack choices and move on.
Write to `.planning/architecture-{slug}.md`:
# Architecture: {App Name}
> PRD: .planning/prd-{slug}.md | Date: {ISO date}
## File Tree
{Greenfield: complete file tree for v1, every file listed.
Feature mode: ONLY new (+) and modified (~) files.}
## Component Breakdown
### Feature: {name}
- Files: | Dependencies: | Complexity: {low/medium/high}
## Data Model
### {Entity name}
- Fields: {name: type} | Relationships: {connections}
{Omit section if no database.}
## Key Decisions
### {Decision}: {chosen approach}
- **Chosen**: {approach} — {reasoning}
- **Rejected**: {alternative} — {why not}
## Build Phases
### Phase N: {name}
- **Goal**: {one sentence}
- **Files**: | **Dependencies**: {or "none"}
- **End Conditions**: [ ] {machine-verifiable}
## Phase Dependency Graph
{Text format: Phase 1 → Phase 2 → Phase 3 / Phase 3 + 4 → Phase 5}
## Risk Register
1. {risk}: {mitigation}
2. {risk}: {mitigation}
3. {risk}: {mitigation}
## Deployment Strategy
{Skip if "deploy later" or static-only.}
- **Platform**: | **Method**: | **Environment variables**: | **Pre-deploy checks**:
{Final phase is "Deploy" when a platform is specified. A failed deploy does NOT fail the campaign.}Each build phase becomes a campaign phase; end conditions carry over; the dependency graph determines ordering; parallel-safe phases flagged for Fleet.
Present summary to user (file count, phase count, key decisions, estimated complexity) and ask: "Ready to build? This will create an Archon campaign." If approved, write the campaign file.
---HANDOFF---
- Architecture: {app name}
- Document: .planning/architecture-{slug}.md
- Phases: {count}
- Estimated complexity: {low/medium/high}
- Next: Archon campaign ready to execute
- Reversibility: green — delete .planning/architecture-{slug}.md to undo
---**Disclosure:** "Generating architecture plan for [description]. No files modified until you approve." **Reversibility:** green — creates `.planning/architecture-{slug}.md` only; undo with `rm .planning/architecture-{slug}.md`. **Trust gates:**
**No PRD:** Treat user description + existing codebase as the spec; read file tree and package.json; proceed without requiring a PRD.
**Project already has code:** Use feature mode; read existing architecture first; file tree shows only new/mod
An open-source operating layer for Claude Code and OpenAI Codex. Citadel routes requests, preserves repository state between sessions, coordinates parallel work, applies repository safeguards, and records evidence and handoffs around the coding agent you
Autonomous multi-session campaign agent. Decomposes large work into phases, delegates to sub-agents, reviews output, and…
Generate perfectly aligned ASCII diagrams — architecture, flow, sequence, box-and-arrow. Uses a programmatic character-grid…
Intake-to-delivery pipeline. Processes pending items from .planning/intake/: briefs new ideas, executes approved work through…
Deep cost exploration and transparency. Shows real token usage, session costs, campaign spend, burn rates, and model breakdown.…
End-to-end app creation from a single description. Five tiers: blank project, guided, templated, fully generated, or feature…
Creates new skills from the user's repeating patterns. Interview-driven: discovers the task, analyzes failure modes, generates a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.