architect
Given a PRD, produces an implementation architecture: file tree, component breakdown, data model, and a phased build plan with end conditions that Archon can…
Meta-orchestrator that takes any direction — broad, specific, or vague — and autonomously chains skills and context into actionable work. Gathers context from codebase, docs, and memory. Only asks the user when it genuinely cannot proceed. Single-session orchestrator.
$ npx -y skills add SethGammon/Citadel --skill marshal --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/marshalContext preview
The summary Claude sees to decide when to auto-load this skill.
Meta-orchestrator that takes any direction — broad, specific, or vague — and autonomously chains skills and context into actionable work. Gathers context from codebase, docs, and memory. Only asks the user when it genuinely cannot proceed. Single-session orchestrator.
name: marshal license: MIT description: >- Meta-orchestrator that takes any direction — broad, specific, or vague — and autonomously chains skills and context into actionable work. Gathers context from codebase, docs, and memory. Only asks the user when it genuinely cannot proceed. Single-session orchestrator. user-invocable: true auto-trigger: false trigger_keywords: - orchestrate - chain skills - multi-step last-updated: 2026-03-20
Use Marshal when the task is:
**Don't use when:** the task spans multiple sessions (use /archon); work decomposes into 3+ parallel streams (use /fleet); you only need research with no action (use /research).
| Command | Behavior | |---|---| | `/marshal [direction]` | Full loop: understand → plan → execute → report | | `/marshal assess [area]` | Read-only: understand the area, produce findings, don't fix |
Parse the user's direction into structured intent:
1. Read CLAUDE.md to understand the project's architecture and conventions 2. Identify: scope (which files/directories), perspective (user, developer, admin), mode (audit, fix, build, improve, map), depth (surface scan vs deep investigation) 3. If the direction is ambiguous, make a reasonable interpretation and state it. Do NOT ask clarifying questions unless genuinely stuck.
Map the intent to a sequence of actions:
| Direction Pattern | Chain | |---|---| | "audit [area]" | explore → analyze → report findings | | "fix [thing]" | investigate root cause → fix → verify → report | | "map [area]" | read files in parallel → synthesize → produce analysis | | "improve [area]" | audit current state → identify gaps → implement → verify | | "what should [X] be" | research → analyze options → recommend with reasoning | | "research [topic]" | search codebase + web → synthesize → report |
Announce the chain before executing: "I'll [step 1], then [step 2], then [step 3]."
For each step in the chain:
1. Load the relevant skill if one exists (e.g., `/review` for audit steps) 2. Gather context: read relevant files, check git history, search for patterns 3. Perform the action 4. Check the result against the plan — did it produce what was expected? 5. If a step fails, try one alternative approach before escalating
Produce a structured report:
=== Marshal Report ===
Direction: {original direction}
Scope: {what was examined}
Findings:
- {finding 1 with file:line reference}
- {finding 2}
Actions Taken:
- {what was changed, if anything}
Recommendations:
- {next steps if applicable}If the investigation revealed reusable patterns or pitfalls:
make a good skill. Run `/create-skill` to capture it."
When Marshal spawns sub-agents (e.g., for parallel investigation or delegated skill execution), it must enforce execution time limits. Sub-agents can hang indefinitely on tool calls — the circuit breaker catches failures, not hangs.
| Agent Type | Default Timeout | |---|---| | Skill-level agents | 10 minutes | | Research agents | 15 minutes |
Timeouts are configurable in `harness.json` under `agentTimeouts` (same config Fleet uses). If an agent exceeds its timeout:
1. Log the timeout in telemetry 2. Check for partial output — extract usable findings if any 3. Try one alternative approach (simpler prompt, reduced scope) 4. If retry also times out, skip and note the gap in the report
Never wait indefinitely. A timed-out agent's scope becomes a "gap" in the Marshal Report's Findings section.
1. Output the Marshal Report (format above) 2. If work items were discovered but not addressed, suggest creating intake items 3. Output a HANDOFF block summarizing what was done
---HANDOFF---
- What: {behavior changed or goal achieved — not the file name, the outcome}
- Decisions: {key tradeoffs made — include the alternative that was rejected}
- Unresolved: {what is still open or blocked — actionable next step}
- Reversibility: {green | amber | red} — {how to undo}
---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
Repo: SethGammon/Citadel
Given a PRD, produces an implementation architecture: file tree, component breakdown, data model, and a phased build plan with end conditions that Archon can…
Autonomous multi-session campaign agent. Decomposes large work into phases, delegates to sub-agents, reviews output, and maintains campaign state across…
Generate perfectly aligned ASCII diagrams — architecture, flow, sequence, box-and-arrow. Uses a programmatic character-grid approach so alignment is guaranteed…
Intake-to-delivery pipeline. Processes pending items from .planning/intake/: briefs new ideas, executes approved work through research → plan → build → verify.…
Deep cost exploration and transparency. Shows real token usage, session costs, campaign spend, burn rates, and model breakdown. Reads Claude Code's native…
End-to-end app creation from a single description. Five tiers: blank project, guided, templated, fully generated, or feature addition to existing codebase.…