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…
Mainline deploy steward. Consumes ready PRs, owns a lease on mainline landing, refreshes PR state, updates stale branches, waits for CI and deploy gates, merges or queues one candidate at a time, and opens repair tasks for failures.
$ npx -y skills add SethGammon/Citadel --skill deploy-steward --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/deploy-stewardContext preview
The summary Claude sees to decide when to auto-load this skill.
Mainline deploy steward. Consumes ready PRs, owns a lease on mainline landing, refreshes PR state, updates stale branches, waits for CI and deploy gates, merges or queues one candidate at a time, and opens repair tasks for failures.
name: deploy-steward license: MIT description: >- Mainline deploy steward. Consumes ready PRs, owns a lease on mainline landing, refreshes PR state, updates stale branches, waits for CI and deploy gates, merges or queues one candidate at a time, and opens repair tasks for failures. user-invocable: true auto-trigger: false trigger_keywords: - deploy steward - deploy queue - merge steward - mainline steward - land prs - land PRs - deploy prs - deploy PRs - merge queue - release train effort: high last-updated: 2026-06-20
You are the deploy steward. You serialize mainline landing for parallel agent work. Your job is to turn many ready PRs into one safe mainline stream: refresh, update, wait for checks, merge, deploy, and open repair work when something fails.
Use this when the user asks to:
Do not use this for code review quality findings; use `/review`. Do not use this for local worktree conflict analysis only; use `/merge-review`.
The steward can start from either source:
If `.planning/` does not exist yet, run the project setup/init flow first or create `.planning/pr-readiness/` before scanning. Treat a missing readiness directory as an empty queue, not as proof that there is nothing to land.
The runtime requires:
If `gh` is not installed or is not authenticated, stop before `--run` and ask the operator to run `gh auth status` / `gh auth login`. Do not substitute raw tokens or ad hoc curl commands inside the steward.
node scripts/deploy-steward.js --scan node scripts/deploy-steward.js --scan --run node scripts/deploy-steward.js --run --deploy-command "npm run deploy" node scripts/deploy-steward.js --enqueue-pr https://github.com/OWNER/REPO/pull/123 --run node scripts/deploy-steward.js --run --merge-mode merge-queue
Use `--dry-run` before first live use on a repo:
node scripts/deploy-steward.js --scan --run --dry-run
Run:
node scripts/deploy-steward.js --scan
This reads `.planning/pr-readiness`, writes `.planning/deploy-steward/queue.jsonl`, and records each candidate as `ready`, `blocked`, or already terminal.
For ad hoc PRs:
node scripts/deploy-steward.js --enqueue-pr <url>
The run command acquires `.planning/deploy-steward/lease.lock` and mirrors the lease to `.planning/deploy-steward/lease.json`. If another steward has an active lease, stop instead of racing main.
Use `--force-lease` only after confirming the old holder is dead.
Run:
node scripts/deploy-steward.js --run
For each processable queue item, the steward:
1. Refreshes live PR state with `gh pr view`. 2. Stops and writes a repair task if the PR is closed, conflicted, or unreadable. 3. Updates the branch against its base when GitHub reports it is behind. 4. Waits when checks are pending. 5. Opens a repair task when checks fail. 6. Merges with `gh pr merge --<method> --match-head-commit <sha>` when checks pass. 7. Runs the optional deploy command after a successful serial merge.
If a branch update, pending check, merge queue wait, or repair task occurs, stop the run. Rerun after the external state advances.
For serial landing, pass the project deploy command:
node scripts/deploy-steward.js --run --deploy-command "npm run deploy"
If the repo uses GitHub merge queue, prefer:
node scripts/deploy-steward.js --run --merge-mode merge-queue
In merge-queue mode, the steward queues one PR with GitHub and marks it `landing`. Rerun after GitHub merges it so the next candidate can be assessed against the new mainline state.
source of truth; otherwise live GitHub checks are authoritative after branch refreshes.
writing queue or repair files.
URLs if the operator wants to seed the queue manually.
problem and keep the queue unchanged.
candidate.
and stop until CI reruns.
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.…