Skip to main content

bop-team

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.

Quellinformationen

Repository
ryanmaclean/skills
Letzte Quellaktivität
15. April 2026 um 03:58
Erkannte Sprache von SKILL.md
Englisch
Sterne
1
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
bop-team
description
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.
# 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: ```zsh for a in ollama opencode codex claude; do which $a 2>/dev/null && echo " $a: available"; done ``` ## Templates 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) ```zsh 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 plists ``` ## Workflow ```zsh # 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 0 ``` ## Installation (Quick Look) ```zsh # 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.jobcard ``` ## 7-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: ```zsh 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: ```zsh 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 check` passes - [ ] The feature you built actually processed at least one card
Auf GitHub ansehen