skills/joc-teams/SKILL.md
CLI-team runtime for opencode, codex, or gemini workers in tmux panes when you need process-based parallel execution
npx skillsauth add Thomashighbaugh/opencode joc-teamsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Spawn N CLI worker processes in tmux panes to execute tasks in parallel. Supports opencode, codex, and gemini agent types.
/joc-teams is a legacy compatibility skill for the CLI-first runtime: use joc team ... commands (not deprecated MCP runtime tools).
/joc-teams N:opencode "task description"
/joc-teams N:codex "task description"
/joc-teams N:gemini "task description"
opencode (OpenCode CLI), codex (OpenAI Codex CLI), or gemini (Google Gemini CLI)/joc-teams 2:opencode "implement auth module with tests"
/joc-teams 2:codex "review the auth module for security issues"
/joc-teams 3:gemini "redesign UI components for accessibility"
command -v tmux)$TMUX set). Inside cmux or a plain terminal, joc team falls back to a detached tmux session instead of splitting the current surface.npm install -g @openai/codexnpm install -g @google/gemini-cliCheck tmux explicitly before claiming it is missing:
command -v tmux >/dev/null 2>&1
$TMUX is set, joc team can reuse the current tmux window/panes directly.$TMUX is empty but CMUX_SURFACE_ID is set, report that the user is running inside cmux. Do not say tmux is missing or that they are "not inside tmux"; joc team will launch a detached tmux session for workers instead of splitting the cmux surface.$TMUX nor CMUX_SURFACE_ID is set, report that the user is in a plain terminal. joc team can still launch a detached tmux session, but if they specifically want in-place pane/window topology they should start from a classic tmux session first.tmux display-message -p '#S'
Extract:
N — worker count (1–10)agent-type — opencode|codex|geminitask — task descriptionValidate before decomposing or running anything:
/joc-teams only supports opencode, codex, and gemini.expert, explain that /joc-teams launches external CLI workers only./team instead.Break work into N independent subtasks (file- or concern-scoped) to avoid write conflicts.
Activate mode state (recommended):
state_write(mode="team", current_phase="team-exec", active=true)
Start workers via CLI:
joc team <N>:<opencode|codex|gemini> "<task>"
Team name defaults to a slug from the task text (example: review-auth-flow).
After launch, verify the command actually executed instead of assuming Enter fired. Check pane output and confirm the command or worker bootstrap text appears in pane history:
tmux list-panes -a -F '#{session_name}:#{window_index}.#{pane_index} #{pane_id} #{pane_current_command}'
tmux capture-pane -pt <pane-id> -S -20
Do not claim the team started successfully unless pane output shows the command was submitted.
joc team status <team-name>
joc team api list-tasks --input '{"team_name":"<team-name>"}' --json
Use joc team api ... for task claiming, task transitions, mailbox delivery, and worker state updates.
joc team shutdown <team-name>
joc team shutdown <team-name> --force
Use shutdown for intentional cancellation or stale-state cleanup. Prefer non-force shutdown first.
Report task results with completion/failure summary and any remaining risks.
state_write(mode="team", current_phase="complete", active=false)
Legacy MCP runtime tools are deprecated for execution:
oas_run_team_startoas_run_team_statusoas_run_team_waitoas_run_team_cleanupIf encountered, switch to joc team ... CLI commands.
| Error | Cause | Fix |
| ---------------------------- | ----------------------------------- | ----------------------------------------------------------------------------------- |
| not inside tmux | Requested in-place pane topology from a non-tmux surface | Start tmux and rerun, or let joc team use its detached-session fallback |
| cmux surface detected | Running inside cmux without $TMUX | Use the normal joc team ... flow; OAS will launch a detached tmux session |
| Unsupported agent type | Requested agent is not opencode/codex/gemini | Use opencode, codex, or gemini; for native OpenCode agents use /team |
| codex: command not found | Codex CLI not installed | npm install -g @openai/codex |
| gemini: command not found | Gemini CLI not installed | npm install -g @google/gemini-cli |
| Team <name> is not running | stale or missing runtime state | joc team status <team-name> then joc team shutdown <team-name> --force if stale |
| status: failed | Workers exited with incomplete work | inspect runtime output, narrow scope, rerun |
/team| Aspect | /team | /joc-teams |
| ------------ | ----------------------------------------- | ---------------------------------------------------- |
| Worker type | OpenCode native team agents | opencode / codex / gemini CLI processes in tmux |
| Invocation | TeamCreate / Task / SendMessage | joc team [N:agent] + status + shutdown + api |
| Coordination | Native team messaging and staged pipeline | tmux worker runtime + CLI API state files |
| Use when | You want OpenCode-native team orchestration | You want external CLI worker execution |
tools
Analyze a codebase and auto-generate project-specific agents, skills, tools, and rules into .opencode/. Project wrappers inject deep project context into subagents for dramatically more effective AI assistance.
development
Synchronize opencode.jsonc with the latest OpenCode config schema from Context7. Checks schema, detects drift, and updates config to remain compliant.
development
Enforce the <Agent_Prompt> XML wrapper convention across all agent definition files. Scan, validate, and auto-fix non-compliant agents.
development
Auto-maintained vector DB for semantic search over .opencode/context/ — zero manual triggers needed