orca-team
Show supervised Orca workers in colored panes, close ended worker panes and terminals, and detect stalled workers with worker-watch. Complements Orca's orchestration skill for projects using the agent team.
- License 许可
- MIT
- 最近更新
- 2026-11-15
- Stars
- ★ 1
- Forks
- 1
01 前言 Front Matter
- name
- orca-team
- description
- Show supervised Orca workers in colored panes, close ended worker panes and terminals, and detect stalled workers with worker-watch. Complements Orca's orchestration skill for projects using the agent team.
02 资源文件 11
- 其他role-colors.tsv170 B
- 脚本worker_state.py2.1 KB
- 脚本worker-pane-close.sh14.7 KB
- 脚本worker-pane-close.test.sh40.4 KB
- 脚本worker-pane-retry.sh1.6 KB
- 脚本worker-pane.sh3.4 KB
- 脚本worker-pane.test.sh5.6 KB
- 脚本worker-panes.sh4.4 KB
- 脚本worker-panes.test.sh7.1 KB
- 脚本worker-watch.sh6.2 KB
- 脚本worker-watch.test.sh10.1 KB
03 SKILL.md 正文
Orca team tooling
This skill complements Orca's orchestration skill. Load its version-matched guide
with orca skills get orchestration before coordinating workers; Orca owns that
skill and its lifecycle commands. Dotfiles owns the pane and watch helpers here.
In a project with the agent team (it has .claude/agents/elon.md), the default Orca coordinator
is the elon role. Elon owns the cross-project objective, cross-role DAG, dispatch and completion
review. tech-lead is a teammate that coordinates engineering integration and reports to Elon. Keep
this split explicit in task messages and completion reports; CEO recommendations never replace
human-owner approval or required independent review.
worker-watch.sh <run_id> next to this file flags STOPPED (provider limit or network error),
IDLE (empty input prompt without busy markers), BLOCKED_DIALOG (trust dialog), BLOCKED_APPROVAL (pending tool approval prompt) and LOW_CONTEXT;
each exits 4, while OK exits 0. Run it as ~/.claude/skills/orca-team/worker-watch.sh.
On IDLE or network STOPPED, send the worker a resume message with
orca terminal send --terminal <handle> --text "Resume the assigned task and report its outcome." --enter
at once; never leave it waiting.
worker-watch.test.sh is its test.
worker-panes.sh <run_id> <coordinator_terminal> [dispatch_id ...] shows workers as colored split panes in the
coordinator's tab (coordinator left; the first pane splits it to the right, later panes stack in that right column, and the coordinator is split again only when no worker pane is left) (Orca cannot start a worker as a split pane). Each pane runs worker-pane.sh <dispatch_id> [color],
a read-only live mirror of that worker's screen; it shows the final status line when the dispatch ends, waits about 10 seconds (ORCA_PANE_CLOSE_DELAY) and closes its own terminal through ORCA_TERMINAL_HANDLE (skipped when unset), verifying that the handle disappears from orca terminal list and retrying failed or lingering closes after 5, 15, 30, then 60 seconds for up to 30 minutes in a plain shell loop (CLI calls are bounded too), so a pane whose split timed out and was never recorded does not linger. A failing worker-show keeps it running. Each pane's handle is recorded in ~/.cache/orca-worker-panes/<dispatch_id>. Run it as
~/.claude/skills/orca-team/worker-panes.sh; worker-panes.test.sh and worker-pane.test.sh are its tests.
The moment the coordinator validates a worker's report (or the worker fails), it runs ~/.claude/skills/orca-team/worker-pane-close.sh --release <dispatch_id>. That runs worker-release, records a released marker (Orca keeps external terminals on release, so the marker lets a later sweep, wrap-up's included, close them while the worktree still exists) and closes the recorded pane and every terminal of the dispatch still in orca terminal list: the handles worker-show reports (agent and setup terminals) and any terminal whose worktreePath matches the linked git worktree the worker created or reused (its .git must be a file, so main checkouts are matched by worker handle only), so a pane whose split timed out is covered too (worker-panes.sh records the one new pane that appears in the tab after a timed out split). A dispatch still running keeps its terminals, and so does a terminal that any dispatch not in a final state also uses (a retry started with --retry-of --terminal reuses the failed dispatch's terminal; the script reads every page of worker-list and keeps such a handle with its record), and the owner's own sessions and other projects' terminals are never matched. Records are removed only after verified disappearance; unfinished closes remain recorded for a later sweep. Only positively ended dispatches authorize closure, including recorded panes: state succeeded, completed, failed, cancelled or released, stage released, or liveness exited. worker_state.py reads the flat Orca JSON first and the older nested shape as a fallback. Release closes at most the agent terminal, so after a confirmed release the script closes the remaining exact handles itself (never the agent terminal, never the caller's own ORCA_TERMINAL_HANDLE). Run with no arguments on every wake to close recorded panes of ended dispatches whose linked worktree no longer exists (a settled dispatch whose worktree is still there may be on a correction pass, so the sweep keeps it; explicit ids skip this check) and discover leftover terminals via every page of worker-list, restricting newly discovered dispatches to the current project's identity from live terminal metadata (discovery is skipped if that identity is unknown), using the same worker-handle and exact linked worktree matching rules; worker-pane-close.test.sh is its test.
Pane color comes from the role in the task title (<role> - <job>), looked up in role-colors.tsv next to the scripts (unknown role: grey), so always start the title with the role name. Add a line there for a new role.
04 同仓库更多 Skills
workflow-from-chats
Extract durable working preferences from recent Cursor chats and convert them into skills, rules, or workflow docs. Use when asked to learn preferences, mine feedback, personalize workflows, or generate team/person-specific agent guidance.
why
Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics warehouse) in parallel, then returns a cited read on decisions and tradeoffs. Use how for runtime behavior.
what-did-i-get-done
Summarize authored commits over a user-specified time period into a concise update
weekly-review
Produce a weekly synthesis of authored commits with highlights by bugfix, tech debt, and net-new work
verify-this
Verify a claim with fresh local evidence: restate it falsifiably, capture baseline and treatment, compare artifacts, and return VERIFIED, NOT VERIFIED, or INCONCLUSIVE.
typescript-best-practices
TypeScript best practices. Use when reading or editing any .ts or .tsx file.