# Do

Unified router that auto-routes user intent to the right direct action, skill...

- Repository: https://github.com/SethGammon/Citadel (927 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add SethGammon/Citadel --skill do -g -a claude-code -y`
Codex: `npx skills add SethGammon/Citadel --skill do -g -a codex -y`
Cursor: `npx skills add SethGammon/Citadel --skill do -g -a cursor -y`
Gemini CLI: `npx skills add SethGammon/Citadel --skill do -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add SethGammon/Citadel`

## Description

Unified router that auto-routes user intent to the right direct action, skill, orchestrator, or explicit Operation Control plan. Classifies input by scope, complexity, persistence needs, and parallelism, then dispatches to the cheapest path that can handle it: direct command, skill, marshal, archon, or fleet. Single entry point for all work.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# /do, Unified Intent Router

## Orientation

Use `/do` when the user wants something done but doesn't know (or care) which tool handles it.
**Don't use when:** you know the destination, invoke /marshal, /archon, /fleet, or any skill directly.

## Commands

| Command | Behavior |
|---|---|
| `/do [anything]` | Classify intent, route to cheapest capable path |
| `/do status` | Show full harness dashboard (/dashboard) |
| `/do next` | Run the decision-first operator console for the next useful harness action |
| `/do operator` | Show the operator console without executing repairs |
| `/do preview <request>` | Show exact resolution or generated candidates and their boundary without executing |
| `/do --route /skill -- <request>` | Use an explicit validated route without bypassing activation or safety boundaries |
| `/do continue` | Resolve and run the deterministic continuation action |
| `/do --list` | Show all skills grouped by category with trigger keywords |
| `/do setup` | First-run experience, configure the harness for this project |

## Protocol

Classification runs top-to-bottom. Exact commands resolve first. Natural-language requests use keyword matches only as candidate evidence for semantic classification.

### Step 0: Skill Registry Check (Cost: ~0 on hit | ~50 tokens on miss)

Compare installed skill directories with `core/skills/routing-table.json`. If they
match, continue without reading skill bodies. For each unknown skill, read only
its frontmatter and use `name`, `description`, and `trigger_keywords` as session-local Tier 2 match targets, then report:
`"Discovered {N} new skill(s): {names}. Run /do setup to regenerate routing."`
Do not write registration fields into `harness.json`; schema-v2 config is exact and generated routing is a projection, not config authority.

### Tier 0: Exact Command Match (Cost: ~0 tokens | Latency: <1ms)

The rest: https://github.com/SethGammon/Citadel/blob/HEAD/skills/do/SKILL.md
