Agent skill

Workspace

by SethGammon in SethGammon/Citadel

Multi-repo campaign coordinator. An agent skill from SethGammon/Citadel.

MITAuto-check passedAgent Workflows

Install Workspace

skills CLI
$ npx skills add SethGammon/Citadel --skill workspace -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install SethGammon/Citadel workspace --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/workspace .claude/skills/workspace && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
workspace
GitHub stars
922
Token cost
~1.9k tokens
SKILL.md length
808 words
Files
3
Skills in repo
48
Repo updated
First seen
Licence
MIT

At a glance

Multi-repo campaign coordinator. An agent skill from SethGammon/Citadel.

  • Works in 5 steps: ORIENT → DECOMPOSE → WORKSPACE SESSION FILE → …
  • Agent Workflows work in your project
  • SKILL.md covers When to Use, Protocol, Fringe Cases and Contextual Gates, plus 2 more sections
  • Calls node and git

What it does

Workspace is an agent skill from SethGammon/Citadel. Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `__benchmarks__/multi-repo-direction.md` and `__benchmarks__/no-repos-configured.md`).

It sits in Agent Workflows. The repository describes itself as: The operating layer for Claude Code + OpenAI Codex: persistent project memory, intent routing, safety hooks, cost telemetry, and parallel agent fleets. The licence is MIT.

When your agent uses it

  • Agent Workflows work in your project

Example prompts

  • “/workspace”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. ORIENT
  2. DECOMPOSE
  3. WORKSPACE SESSION FILE
  4. WAVE EXECUTION
  5. COMPLETION

What it can do on your machine

Read from SKILL.md and the folder at commit e41ff1d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • node
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Workspace loads about 1.9k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 808 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from SethGammon/Citadel at commit e41ff1d, republished under its MIT licence (© SethGammon). 808 words, ~1,876 tokens.

Download SKILL.mdSave it as .claude/skills/workspace/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
workspace
description
Multi-repo campaign coordinator. Same lifecycle as fleet -- scope claims, discovery relay, wave-based execution -- but the unit of work is a repo, not a file. Coordinates campaigns across repositories with shared context.
license
MIT
user-invocable
true
auto-trigger
false
trigger_keywords
workspace, multi-repo, cross-repo, across repos, multiple repos, coordinate repos, add redis and snowflake, split into repos
last-updated
2026-03-29
effort
high

/workspace -- Multi-Repo Campaign Coordinator

When to Use

  • Adding infrastructure that spans repos (new database, shared service, API contract)
  • Coordinating changes across a frontend repo, backend repo, and infra repo
  • Breaking a monolith into services (each service becomes a repo-scoped campaign)
  • Any task where changes in repo A depend on or inform changes in repo B

Do not use when:

  • All work is in one repo (use /fleet or /archon)
  • The repos are truly independent with no shared contracts (just run separate campaigns)

Protocol

Step 1: ORIENT
  1. Check for existing workspace session: .planning/workspace/session-{slug}.md — resume if status: active or needs-continue
  2. If starting fresh: identify repos, verify each path is a git repo, read each repo's CLAUDE.md, check .planning/campaigns/ for active campaigns (avoid collisions)
  3. Load prior session context and start watcher:
    bash
    node .citadel/scripts/momentum-watch-start.cjs
    node .citadel/scripts/momentum-read.cjs
    Skip momentum injection if output is empty.
Step 2: DECOMPOSE

Break the direction into repo-scoped work items (one campaign per repo per wave). Table format: # | Repo | Campaign Direction | Scope | Deps | Wave.

Rules: items with no deps → Wave 1; dependents → Wave 2+. Max 3 repo-campaigns per wave. Scope format: {repo}:{path}.

For each inter-wave dependency, specify the cross-repo contract: what the producer will produce, what the consumer expects, and where the contract lives (shared types package, OpenAPI spec, env var).

Step 3: WORKSPACE SESSION FILE

Create .planning/workspace/session-{slug}.md with frontmatter: version, id, status: active, started, completed_at: null, direction, repos (path + name + branch per repo), wave_count, current_wave: 1, campaigns_total, campaigns_complete: 0.

Body sections: Direction, Repos table (name/path/branch/status), Work Queue (table from Step 2), Cross-Repo Contracts (producer/consumer/contract/location), Wave Execution Log (per wave: status, campaigns, started, completed), Shared Context (discovery relay accumulation).

Step 4: WAVE EXECUTION

For each wave:

4a. Pre-flight
  • Verify all dependency campaigns from prior waves completed successfully
  • Check cross-repo contracts: did producer repos create the expected outputs?
  • If a dependency failed: park the dependent campaign, flag for user decision
4b. Spawn campaigns

For each repo-campaign in this wave:

  1. Create branch: git checkout -b workspace/{slug}/{repo-name}
  2. Spawn agent with direction: /archon for complex (3+ phases), /fleet if parallelizable, /marshal or direct skill for simple (1-2 steps)
  3. Inject context: discovery briefs from prior waves, prior session context (re-read momentum.json via node .citadel/scripts/momentum-read.cjs, inject as === PRIOR SESSION CONTEXT ===, skip if empty), cross-repo contracts, relevant CLAUDE.md sections from other repos
4c. Collect results

Extract HANDOFF blocks, compress into cross-repo discovery brief, write persistent discovery records:

bash
node .citadel/scripts/discovery-write.cjs \
  --session {session-slug} --agent {repo-name}-{campaign-type} \
  --wave {wave-number} --status {success|partial|failed} \
  --scope "{repo-name}:{scope-path}" --handoff "{json-array}" \
  --decisions "{json-array}" --files "{json-array}" --failures "{json-array}"
4d. Discovery relay

Write workspace/briefs/wave{N}-{repo-name}.md for each completed campaign. Also write workspace/briefs/wave{N}-cross-repo.md summarizing:

  • New API endpoints or types created
  • Config changes that affect other repos
  • Contract fulfillment status (did the producer deliver what was promised?)
4e. Contract verification

For each cross-repo contract: verify the producer created the expected output (file + export for types, route existence for endpoints). If verification fails, flag and do not proceed with consumers.

4f. Update session

Mark completed campaigns, update wave status, write discovery relay, advance current_wave.

Show full SKILL.md (336 more words)Show less
Step 5: COMPLETION
  1. Run typecheck/build for each repo in isolation (build shared types package first if present)
  2. Set session status: completed, completed_at: {ISO timestamp}
  3. Run node .citadel/scripts/momentum-synthesize.cjs
  4. List all branches created across repos with suggested merge order based on dependency graph
  5. Output HANDOFF

Fringe Cases

  • Repo not a git repo: Skip it. Report which repos were skipped and why.
  • Repo has uncommitted changes: Stash before branching. Record stash ref in session file. Pop on completion or failure.
  • Active campaign in target repo: Do not start a second campaign. Report the conflict and ask the user whether to wait, park the existing campaign, or merge scopes.
  • .planning/workspace/ does not exist: Create it (and workspace/briefs/).
  • Cross-repo contract broken: Park all downstream campaigns. Report which contract failed, which producer was responsible, and what the consumer expected. Do not attempt to fix the producer -- surface the issue for the user or re-run the producer campaign.
  • One repo fails, others succeed: Mark the failed repo-campaign. Do not roll back successful repos. The user decides whether to fix-and-continue or abandon.
  • Repos on different machines or remotes: Not supported. All repos must be locally accessible. If a repo is remote-only, the user must clone it first.
  • Monorepo with multiple packages: Treat each package as a "repo" for scoping purposes. Use {monorepo}:{package-path} as the scope identifier.

Contextual Gates

Disclosure: "Running multi-repo campaign across [repos]. Changes committed to each repo independently." Reversibility: red — coordinates changes across multiple repositories; cross-repo commits are hard to revert in bulk. Trust gates:

  • Familiar (5+ sessions): coordinates multi-repo campaigns autonomously; novices should use /marshal per repo.

Quality Gates

  • All repos verified as accessible git repositories before starting
  • Work queue has no scope overlaps within the same repo
  • Cross-repo contracts specified for every inter-wave dependency
  • Discovery relay written after each wave
  • Contract verification run before spawning consumer campaigns
  • Each repo's typecheck/build passes independently after completion
  • Session file updated after every wave (not just at the end)
  • No campaigns left in active state on completion

Exit Protocol

---HANDOFF---
- Workspace: {slug} -- {direction summary}
- Repos: {N} repos, {M} campaigns across {W} waves
- Results: {completed}/{total} campaigns succeeded
- Branches: {list branches ready for review}
- Merge order: {suggested order based on dependency graph}
- Unresolved: {any failed campaigns or broken contracts}
---

© SethGammon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in skills/workspace of SethGammon/Citadel.

  • SKILL.md
  • __benchmarks__/multi-repo-direction.md
  • __benchmarks__/no-repos-configured.md

Open the folder on GitHubat commit e41ff1d

Compare with similar skills

Workspace next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Workspace compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Workspace this skillSethGammon/Citadel922—~1.9kAutomated safety check: PassMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k11 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k35 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers296k2 repos~5.1kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k8 repos~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 35 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    296k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    795 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed

More from SethGammon/Citadel

All 48 skills in this repo
  • Create Skill

    SethGammon/Citadel

    Creates new skills from the user's repeating patterns. An agent skill from SethGammon/Citadel.

    922 GitHub stars~1.9k tokensUpdated 6 days ago
    Auto-check passed
  • Houseclean

    SethGammon/Citadel

    Cross-drive storage audit and cleanup. An agent skill from SethGammon/Citadel.

    922 GitHub stars~2.2k tokensUpdated 6 days ago
    Auto-check passed
  • Loop

    SethGammon/Citadel

    Bounded foreground repetition for the current session. An agent skill from SethGammon/Citadel.

    922 GitHub stars~1.4k tokensUpdated 6 days ago
    Auto-check passed
  • Triage

    SethGammon/Citadel

    GitHub issue and PR investigator. An agent skill from SethGammon/Citadel.

    922 GitHub stars~2.7k tokensUpdated 6 days ago
    Auto-check passed
  • Watch

    SethGammon/Citadel

    File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills.

    922 GitHub stars~2.9k tokensUpdated 6 days ago
    Auto-check passed
  • Archon

    SethGammon/Citadel

    Autonomous multi-session campaign agent. An agent skill from SethGammon/Citadel.

    922 GitHub stars~5.4k tokensUpdated 6 days ago
    Auto-check passed

Categories

Questions about Workspace

What does Workspace do?

Multi-repo campaign coordinator. An agent skill from SethGammon/Citadel. Workspace is an agent skill from SethGammon/Citadel. Multi-repo campaign coordinator.

When should I use Workspace?

Workspace fits situations like: agent Workflows work in your project.

How do I install Workspace in Claude Code?

Run `npx skills add SethGammon/Citadel --skill workspace -a claude-code`. Or copy the skill folder (skills/workspace in SethGammon/Citadel) into .claude/skills/workspace in your project. Claude Code loads it when a task matches its description.

How do I install Workspace in Codex?

Run `npx skills add SethGammon/Citadel --skill workspace -a codex`. Or copy the skill folder (skills/workspace in SethGammon/Citadel) into .agents/skills/workspace in your project. Codex loads it when a task matches its description.

Can I use Workspace in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SethGammon/Citadel --skill workspace -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/workspace, .gemini/skills/workspace, .github/skills/workspace and .opencode/skills/workspace in your project.

What does Workspace need to run?

Going by SKILL.md and its folder, Workspace needs the command-line tools its instructions call (node and git).

Does Workspace access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Workspace safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Workspace use?

Workspace is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Workspace use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Workspace?

Skills that share tags, products or a category with Workspace: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Workspace?

SethGammon (a GitHub user) maintains it in SethGammon/Citadel, which has 922 GitHub stars. The repository holds 48 skills in this directory. The repository was last updated on October 1, 2026.

Source: SethGammon/Citadel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.