소스 정보
- 저장소
- spring-ai-alibaba/oh-my-qoder
- 최근 소스 활동
- 2026년 7월 1일 02:33
- 감지된 SKILL.md 언어
- 영어
- 스타
- 4
- 포크
- 1
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
SKILL.md 표시 중
SKILL.md
소스 지침 · 읽기 전용 미리보기- name
- team
- description
- N coordinated agents on shared task list using OMQ file-based team tools
- argument-hint
- [N:agent-type] [ralph] <task description>
- aliases
- []
- level
- 4
# Team Skill
Spawn N coordinated agents working on a shared task list using OMQ's self-contained file-based team tools (MCP). Team coordination is implemented entirely at the plugin layer via `team_*` MCP tools — no host CLI built-in team support required.
**Architecture:** Team lifecycle, task management, and inter-agent messaging use file-based IPC under `.omq/state/team/{teamName}/`. Member spawning uses Qoder CLI's built-in `Agent` tool. All coordination flows through these MCP tools:
- `team_create` / `team_delete` — lifecycle
- `team_task_create` / `team_task_list` / `team_task_get` / `team_task_update` — shared task list
- `team_claim_task` / `team_next_ready_task` / `team_transition_task` / `team_release_claim` — atomic task claim protocol
- `team_register_worker` / `team_update_heartbeat` — worker identity and liveness
- `team_send_message` / `team_broadcast` / `team_list_mailbox` / `team_mark_message_delivered` — messaging
- `team_request_shutdown` / `team_read_shutdown_ack` — graceful shutdown
- `team_status` — aggregate status view
- `team_reap` — reclaim stale tasks from dead workers
The `swarm` compatibility alias was removed in #1131.
## Usage
```
/oh-my-qoder:team N:agent-type "task description"
/oh-my-qoder:team "task description"
/oh-my-qoder:team ralph "task description"
```
### Parameters
- **N** - Number of teammate agents (1-20). Optional; defaults to auto-sizing based on task decomposition.
- **agent-type** - OMQ agent to spawn for the `team-exec` stage (e.g., executor, debugger, designer, codex, gemini). Optional; defaults to stage-aware routing. Use `codex` to spawn Codex CLI workers or `gemini` for Gemini CLI workers (requires respective CLIs installed). See Stage Agent Routing below.
- **task** - High-level task to decompose and distribute among teammates
- **ralph** - Optional modifier. When present, wraps the team pipeline in Ralph's persistence loop (retry on failure, architect verification before completion). See Team + Ralph Composition below.
### Examples
```bash
/team 5:executor "fix all TypeScript errors across the project"
/team 3:debugger "fix build errors in src/"
/team 4:designer "implement responsive layouts for all page components"
/team "refactor the auth module with security review"
/team ralph "build a complete REST API for user management"
# With Codex CLI workers (requires: npm install -g @openai/codex)
/team 2:codex "review architecture and suggest improvements"
# With Gemini CLI workers (requires: npm install -g @google/gemini-cli)
/team 2:gemini "redesign the UI components"
# Mixed: Codex for backend analysis, Gemini for frontend (use /ccg instead for this)
```
## Architecture
```
User: "/team 3:executor fix all TypeScript errors"
|
v
[TEAM ORCHESTRATOR (Lead)]
|
+-- team_create("fix-ts-errors")
| -> lead becomes team-lead@fix-ts-errors
|
+-- Analyze & decompose task into subtasks
| -> explore/architect produces subtask list
|
+-- team_task_create x N (one per subtask)
| -> tasks #1, #2, #3 with dependencies
|
+-- Agent(subagent_type="oh-my-qoder:executor", prompt="<worker loop prompt>") x 3
| -> each worker calls team_register_worker on startup
| -> each worker loops: team_update_heartbeat → team_next_ready_task → work → team_transition_task
|
+-- Monitor loop
| -> team_status polling for progress + heartbeats
| -> team_reap to reclaim stale tasks from dead workers
| -> team_send_message to unblock/coordinate
|
+-- Completion
-> team_request_shutdown to each worker
<- team_read_shutdown_ack confirms exit
-> team_delete("fix-ts-errors")
```
**Storage layout (managed by Qoder CLI):**
```
~/.qoder/
teams/fix-ts-errors/
config.json # Team metadata + members array
tasks/fix-ts-errors/
.lock # File lock for concurrent access
1.json # Subtask #1
2.json # Subtask #2 (may be internal)
3.json # Subtask #3
...
```
## Goal Workflow Relationship
Team is the OMQ authority for parallel, staged execution. Use the deterministic conflict policies `refuse`, `adopt_existing`, and `artifact_only` rather than non-deterministic warning handling. If a task mentions Qoder CLI `/goal`, Ralph, UltraQA, or artifact-only Ultragoal, keep Team as the primary loop authority unless the leader explicitly hands off. Use `/goal` only as a documented native Qoder CLI handoff target or as visible evidence from the lead session; do not claim the `/goal` evaluator independently runs commands, reads files, or replaces `team-verify` / `team-fix`. Artifact-only Ultragoal references should be treated as durable goal ledger/checkpoint/evidence artifacts, not as worker execution by themselves.
## Staged Pipeline (Canonical Team Runtime)
Team execution follows a staged pipeline:
`team-plan -> team-prd -> team-exec -> team-verify -> team-fix (loop)`
### Stage Agent Routing
Each pipeline stage uses **specialized agents** -- not just executors. The lead selects agents based on the stage and task characteristics.
| Stage | Required Agents | Optional Agents | Selection Criteria |
| --------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **team-plan** | `explore` (haiku), `planner` (opus) | `analyst` (opus), `architect` (opus) | Use `analyst` for unclear requirements. Use `architect` for systems with complex boundaries. |
| **team-prd** | `analyst` (opus) | `critic` (opus) | Use `critic` to challenge scope. |
| **team-exec** | `executor` (sonnet) | `executor` (opus), `debugger` (sonnet), `designer` (sonnet), `writer` (haiku), `test-engineer` (sonnet) | Match agent to subtask type. Use `executor` (model=opus) for complex autonomous work, `designer` for UI, `debugger` for compilation issues, `writer` for docs, `test-engineer` for test creation. |
| **team-verify** | `verifier` (sonnet) | `test-engineer` (sonnet), `security-reviewer` (sonnet), `code-reviewer` (opus) | Always run `verifier`. Add `security-reviewer` for auth/crypto changes. Add `code-reviewer` for >20 files or architectural changes. `code-reviewer` also covers style/formatting checks. |
| **team-fix** | `executor` (sonnet) | `debugger` (sonnet), `executor` (opus) | Use `debugger` for type/build errors and regression isolation. Use `executor` (model=opus) for complex multi-file fixes. |
**Routing rules:**
1. **The lead picks agents per stage, not the user.** The user's `N:agent-type` parameter only overrides the `team-exec` stage worker type. All other stages use stage-appropriate specialists.
2. **Specialist agents complement executor agents.** Route analysis/review to architect/critic Claude agents and UI work to designer agents. Tmux CLI workers are one-shot and don't participate in team communication.
3. **Cost mode affects model tier.** In downgrade: `opus` agents to `sonnet`, `sonnet` to `haiku` where quality permits. `team-verify` always uses at least `sonnet`.
4. **Risk level escalates review.** Security-sensitive or >20 file changes must include `security-reviewer` + `code-reviewer` (opus) in `team-verify`.
### Stage Entry/Exit Criteria
- **team-plan**
- Entry: Team invocation is parsed and orchestration starts.
- Agents: `explore` scans codebase, `planner` creates task graph, optionally `analyst`/`architect` for complex tasks.
- Exit: decomposition is complete and a runnable task graph is prepared.
- **team-prd**
- Entry: scope is ambiguous or acceptance criteria are missing.
- Agents: `analyst` extracts requirements, optionally `critic`.
- Exit: acceptance criteria and boundaries are explicit.
- **team-exec**
- Entry: `team_create`, `team_task_create`, assignment, and worker spawn are complete.
- Agents: workers spawned as the appropriate specialist type per subtask (see routing table).
- Exit: execution tasks reach terminal state for the current pass.
- **team-verify**
- Entry: execution pass finishes.
- Agents: `verifier` + task-appropriate reviewers (see routing table).
- Exit (pass): verification gates pass with no required follow-up.
- Exit (fail): fix tasks are generated and control moves to `team-fix`.
- **team-fix**
- Entry: verification found defects/regressions/incomplete criteria.
- Agents: `executor`/`debugger` depending on defect type.
- Exit: fixes are complete and flow returns to `team-exec` then `team-verify`.
### Verify/Fix Loop and Stop Conditions
Continue `team-exec -> team-verify -> team-fix` until:
1. verification passes and no required fix tasks remain, or
2. work reaches an explicit terminal blocked/failed outcome with evidence.
`team-fix` is bounded by max attempts. If fix attempts exceed the configured limit, transition to terminal `failed` (no infinite loop).
### Stage Handoff Convention
When transitioning between stages, important context — decisions made, alternatives rejected, risks identified — lives only in the lead's conversation history. If the lead's context compacts or agents restart, this knowledge is lost.
**Each completing stage MUST produce a handoff document before transitioning.**
The lead writes handoffs to `.omq/handoffs/<stage-name>.md`.
#### Handoff Format
```markdown
## Handoff: <current-stage> → <next-stage>
- **Decided**: [key decisions made in this stage]
- **Rejected**: [alternatives considered and why they were rejected]
- **Risks**: [identified risks for the next stage]
- **Files**: [key files created or modified]
- **Remaining**: [items left for the next stage to handle]
```
#### Handoff Rules
1. **Lead reads previous handoff BEFORE spawning next stage's agents.** The handoff content is included in the next stage's agent spawn prompts, ensuring agents start with full context.
2. **Handoffs accumulate.** The verify stage can read all prior handoffs (plan → prd → exec) for full decision history.
3. **On team cancellation, handoffs survive** in `.omq/handoffs/` for session resume. They are not deleted by `team_delete`.
4. **Handoffs are lightweight.** 10-20 lines max. They capture decisions and rationale, not full specifications (those live in deliverable files like DESIGN.md).
#### Example
```markdown
## Handoff: team-plan → team-exec
- **Decided**: Microservice architecture with 3 services (auth, api, worker). PostgreSQL for persistence. JWT for auth tokens.
- **Rejected**: Monolith (scaling concerns), MongoDB (team expertise is SQL), session cookies (API-first design).
- **Risks**: Worker service needs Redis for job queue — not yet provisioned. Auth service has no rate limiting in initial design.
- **Files**: DESIGN.md, TEST_STRATEGY.md
- **Remaining**: Database migration scripts, CI/CD pipeline config, Redis provisioning.
```
### Resume and Cancel Semantics
- **Resume:** restart from the last non-terminal stage using staged state + live task status. Read `.omq/handoffs/` to recover stage transition context.
- **Cancel:** `/oh-my-qoder:cancel` requests teammate shutdown, waits for responses (best effort), marks phase `cancelled` with `active=false`, captures cancellation metadata, then deletes team resources and clears/preserves Team state per policy. Handoff files in `.omq/handoffs/` are preserved for potential resume.
- Terminal states are `complete`, `failed`, and `cancelled`.
## Windows psmux tmux-compatible gate
On native Windows, do **not** tell users that `/team` requires WSL or that tmux is unavailable until the actual tmux-compatible binary has been checked. Native [psmux](https://github.com/psmux/psmux) installs a `tmux`-compatible command (often `tmux` / `tmux.cmd`) and is a supported Team multiplexer.
Before blocking or falling back on Windows:
1. Check `tmux -V` (or the platform equivalent such as `where tmux` followed by `tmux -V`).
2. Treat a successful psmux-backed `tmux -V` as tmux available.
3. If psmux/tmux is available, continue the normal Team flow; do not emit WSL-required guidance.
4. Only when no tmux-compatible binary is available, tell the user to install psmux for native Windows support or use WSL2 as an alternative.
## Workflow
### Phase 1: Parse Input
- Extract **N** (agent count), validate 1-20
- Extract **agent-type**, validate it maps to a known OMQ subagent
- Extract **task** description
### Phase 2: Analyze & Decompose
Use `explore` or `architect` (via MCP or agent) to analyze the codebase and break the task into N subtasks:
- Each subtask should be **file-scoped** or **module-scoped** to avoid conflicts
- Subtasks must be independent or have clear dependency ordering
- Each subtask needs a concise `subject` and detailed `description`
- Identify dependencies between subtasks (e.g., "shared types must be fixed before consumers")
### Phase 3: Create Team
Call `team_create` with a slug derived from the task:
```json
{
GitHub에서 보기이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기