bop-team
Skill1 starsChanged 50 days agoMITView on GitHub
Dogfood orchestrator for working on the bop repo itself. Use when working on the bop jobcard system — create cards before coding, execute through dispatcher flow, and verify system output.
In this repository113 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ac-ideateSkill
- ac-listSkill
- ac-roadmapSkill
- agentbridge-mcpSkill
- almanacSkill
- almquist-shellSkill
- ansible-fleetSkill
- apfsSkill
- apple-siliconSkill
- arena-actorsSkill
- asustor-nasSkill
- a-teamSkill
- atem-miniSkill
- at-tuiSkill
- autoresearchSkill
- babysitSkill
- bonzibuddySkill
- bop-brainstormSkill
- bop-catalogSkill
- bop-onSkill
- bop-workflowSkill
- bsd-portabilitySkill
- code-refactoringSkill
- codex-personasSkill
- context-graphSkill
- councilSkill
- datadog-backupSkill
- dd-tagsSkill
- delegateSkill
- deming-pdsaSkill
- deterministic-replaySkill
- dispatch-nuSkill
- durable-commitSkill
- elixir-gastown-opsSkill
- ergo-ircSkill
- esp32-tang-bridgeSkill
- fleet-evalSkill
- fleet-ircSkill
- freebsd-build-vmSkill
- freebsd-piSkill
- freebsdSkill
- ganttSkill
- gastown-opsSkill
- gastown-slingSkill
- gh-authSkill
- gitea-releaseSkill
- gitea-runnerSkill
- henshuSkill
- irclaw-cluster-opsSkill
- irclaw-research-teamSkill
- irc-taskSkill
- jail-factorySkill
- jjSkill
- jobcard-systemSkill
- kubernetesSkill
- leptosSkill
- loreSkill
- lower-bound-reviewSkill
- macvlan-netSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 6 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use when working on the bop repo itself.
- Distinctive: line 9
After finishing, verify the system ran it.
- Distinctive: line 13
Every unit of work on bop becomes a bop card.
- Very specific: line 99
Use layouts/bop.kdl to launch this layout: zellij --layout layouts/bop.kdl
- Distinctive: line 103
All adapters in this repo use MIT/Apache-2.0-licensed tools only:
- Very specific: line 121
Nested Claude sessions: When dispatching from inside Claude Code, CLAUDECODE=1 blocks spawning.
- Distinctive: line 123
Stale worktrees: If a card fails, its git worktree persists and blocks re-dispatch.
- Very specific: line 131
Provider cooldowns: When a provider hits rate limits (exit 75), the dispatcher rotates to the next provider in provider_chain.
- Distinctive: line 135
Before marking any bop work complete, verify:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
bop-team: Dogfood Orchestrator
Use when working on the bop repo itself. Before writing code, deal a card. After finishing, verify the system ran it.
The Rule
Every unit of work on bop becomes a bop card. No exceptions.
Agent Roster (budget order, cheapest first)
| Agent | Binary | Cost | Best for |
| ollama | ollama | free | fast local, drafts, docs |
| opencode | opencode | $ | code tasks, mid-complexity |
| codex | codex | $ | code tasks, OpenAI models |
| claude | claude | $$ | complex reasoning, architecture |
Check availability:
for a in ollama opencode codex claude; do which $a 2>/dev/null && echo " $a: available"; doneTemplates
Four shipping templates in .cards/templates/:
| Template | Stages | Use When |
| implement | implement → qa | Clear requirements |
| full | spec → plan → implement → qa | Complex/ambiguous |
| cheap | implement (local) | Small fix, local model |
| ideation | ideation → qa | Brainstorming (bop bstorm) |
| qa-only | qa | Code review, audit |
Factory (launchd lifecycle)
bop factory install # generate + load plists (includes icon watcher)
bop factory status # check if services are running
bop factory start # start dispatcher + merge-gate + icons
bop factory stop # stop all services
bop factory uninstall # unload + remove plistsWorkflow
# 1a. Deal an implement card
bop new implement <id>
# 1b. Or brainstorm first
bop bstorm <topic words>
# 2. Note the card ID and session name printed
# 3. Work inside the zellij session (or your current session)
# 4. Write output to output/result.md
# 5. Verify it ran
make check
./target/debug/bop status
# 6. The card auto-moves to done/ when dispatcher exits 0Installation (Quick Look)
# Build in Xcode → Product → Build
# Then register:
LSREG=/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister
$LSREG -f ~/Applications/JobCardHost.app
# Preview a card
qlmanage -p examples/running-feat.jobcard7-Pane Zellij Layout
┌────────────────┬────────────────┐
│ bop status │ spec.md │
│ (board) │ (current card)│
├────────────────┼────────────────┤
│ dispatcher │ agent stdout │
│ log --follow │ │
├────────────────┼────────────────┤
│ merge-gate │ agent stderr │
│ log --follow │ │
├────────────────┴────────────────┤
│ shell (bop commands live here)│
└─────────────────────────────────┘Use layouts/bop.kdl to launch this layout: zellij --layout layouts/bop.kdl
License Compliance
All adapters in this repo use MIT/Apache-2.0-licensed tools only:
- claude: Anthropic TOS (API usage)
- codex CLI: MIT (github.com/openai/codex)
- ollama: MIT (github.com/ollama/ollama)
- opencode: MIT (github.com/sst/opencode)
Zellij Session Protocol
Sessions are named bop-<card-id>. Always resumable:
zellij attach "bop-<id>" 2>/dev/null || zellij -s "bop-<id>"The zellij_session field in meta.json is the source of truth.
Quick Look renders a live "Attach" button (green) when the field is present and stage is running.
Troubleshooting
Nested Claude sessions: When dispatching from inside Claude Code, CLAUDECODE=1 blocks spawning. The adapter already runs unset CLAUDECODE, but if launching dispatcher manually use env -u CLAUDECODE bop dispatcher --once.
Stale worktrees: If a card fails, its git worktree persists and blocks re-dispatch. Clean with:
git worktree remove --force .worktrees/job-<card-id>
git branch -D job-<card-id>Icon\r (macOS): Finder drops Icon\r files in directories with custom icons. The dispatcher and bop status filter by .jobcard extension to ignore these.
Provider cooldowns: When a provider hits rate limits (exit 75), the dispatcher rotates to the next provider in provider_chain. If ALL providers are rate-limited, cards requeue until cooldowns expire (default 300s).
Dogfood Check
Before marking any bop work complete, verify:
- A card exists for the work (
bop status) make checkpasses- The feature you built actually processed at least one card
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.

