workspace
Skill4 starsChanged 4 months agoMITView on GitHub
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.
19 other projects use a version of this.
Adopted by
Most recently taken up by
- jocarrd/crux-agentstheir own version, first seen Nov 8, 2026
- SethGammon/Citadelword for word, first seen Nov 4, 2026
- fainir/agent-harnesstheir own version, first seen Nov 1, 2026
- bks-lab/open-bridgetheir own version, first seen Oct 30, 2026
- nodealchemy/powernode-platformtheir own version, first seen Oct 25, 2026
- tikalk/adlc-team-skillstheir own version, first seen Oct 24, 2026
Used with
Projects with it also use audit and security-audit.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
OpenAISkillaudit
Audit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, then reporting UX, design, and accessibility findings inline from that evidence. Use Figma only when the user explicitly asks for a board. Use when the user asks to audit, review, critique, inspect, assess, analyze, evaluate, or give feedback on a product experience.
Also in 3 projects that use this
CloudflareSkillsecurity-audit
Security guidance and vulnerability review for codebases, APIs, services, CLI tools, libraries, and daemons. Use for security questions, focused reviews, vulnerability research, security audits, or pen tests. Run the complete workflow only for explicit codebase audit or pen-test requests, full/comprehensive/end-to-end reviews, or requested report artifacts.
Also in 3 projects that use this
Other versions19 projects use a version of this.
Word for word · 1
- SethGammon/Citadel★ 927100% same
Edited · 0
None found.
Wrote their own version · 18
- alinaqi/maggy★ 711same name
- alinaqi/claude-bootstrap★ 708same name
- ZimoLiao/scholaraio★ 585same name
- tikalk/adlc-team-skills★ 145same name
- ulises-jeremias/agent-toolkit★ 19same name
- bks-lab/open-bridge★ 13same name
- HaipingShi/coderail★ 8same name
- kauffj/agent-config★ 8same name
- jocarrd/crux-agents★ 4same name
- nodealchemy/powernode-platform★ 4same name
8 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository50 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- architectSkill
- archonSkill
- ascii-diagramSkill
- autopilotSkill
- costSkill
- create-appSkill
- create-skillSkill
- daemonSkill
- dashboardSkill
- decision-mapSkill
- deploy-stewardSkill
- designSkill
- doc-genSkill
- doSkill
- evolveSkill
- experimentSkill
- fleetSkill
- grillSkill
- housecleanSkill
- improveSkill
- infra-auditSkill
- learnSkill
- live-previewSkill
- loopSkill
- mapSkill
- marshalSkill
- merge-reviewSkill
- organizeSkill
- postmortemSkill
- prdSkill
- pr-watchSkill
- qaSkill
- refactorSkill
- research-fleetSkill
- researchSkill
- reviewSkill
- scaffoldSkill
- scheduleSkill
- session-handoffSkill
- setupSkill
- systematic-debuggingSkill
- telemetrySkill
- test-genSkill
- triageSkill
- unharnessSkill
- verifySkill
- watchSkill
- wikiSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
14 rules. 0 are common, 6 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 16 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 33
All work is in one repo (use /fleet or /archon)
- Very specific: line 40
Check for existing workspace session: .planning/workspace/session-{slug}.md — resume if status: active or needs-continue
- Very specific: line 41
If starting fresh: identify repos, verify each path is a git repo, read each repo's CLAUDE.md, check .planning/campaigns/ for active …
- Very specific: line 59
Create .planning/workspace/session-{slug}.md with frontmatter: version, id, status: active, started, completed_at: null, direction, repos …
- Distinctive: line 68
Verify all dependency campaigns from prior waves completed successfully
- Distinctive: line 69
Check cross-repo contracts: did producer repos create the expected outputs?
- Distinctive: line 70
If a dependency failed: park the dependent campaign, flag for user decision
- Very specific: line 90
Write workspace/briefs/wave{N}-{repo-name}.md for each completed campaign.
- Distinctive: line 104
Run typecheck/build for each repo in isolation (build shared types package first if present)
- Distinctive: line 115
Active campaign in target repo: Do not start a second campaign.
- Very specific: line 117
.planning/workspace/does not exist: Create it (and workspace/briefs/). - Distinctive: line 123
Repos on different machines or remotes: Not supported. All repos must be locally accessible.
- Very specific: line 125
Monorepo with multiple packages: Treat each package as a "repo" for scoping purposes.
- Very specific: line 126
Use {monorepo}:{package-path} as the scope identifier.
“Common” is measured: kept by at least 6 in 10 of the 16 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/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
/fleetor/archon) - The repos are truly independent with no shared contracts (just run separate campaigns)
Protocol
Step 1: ORIENT
- Check for existing workspace session:
.planning/workspace/session-{slug}.md— resume ifstatus: activeorneeds-continue - 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) - Load prior session context and start watcher:
Skip momentum injection if output is empty.node .citadel/scripts/momentum-watch-start.cjs node .citadel/scripts/momentum-read.cjs
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:
- Create branch:
git checkout -b workspace/{slug}/{repo-name} - Spawn agent with direction:
/archonfor complex (3+ phases),/fleetif parallelizable,/marshalor direct skill for simple (1-2 steps) - Inject context: discovery briefs from prior waves, prior session context (re-read
momentum.jsonvianode .citadel/scripts/momentum-read.cjs, inject as=== PRIOR SESSION CONTEXT ===, skip if empty), cross-repo contracts, relevantCLAUDE.mdsections from other repos
4c. Collect results
Extract HANDOFF blocks, compress into cross-repo discovery brief, write persistent discovery records:
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.
Step 5: COMPLETION
- Run typecheck/build for each repo in isolation (build shared types package first if present)
- Set session
status: completed,completed_at: {ISO timestamp} - Run
node .citadel/scripts/momentum-synthesize.cjs - List all branches created across repos with suggested merge order based on dependency graph
- 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 (andworkspace/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
activestate 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}
---Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

