|
|
|
@@ -183,7 +183,7 @@ Complex task: ask the user if you can create a Trellis task and enter the planni
|
|
|
|
|
- 1.0 Create task `[required · once]` (only after task-creation consent)
|
|
|
|
|
- 1.1 Requirement exploration `[required · repeatable]` (`prd.md`; complex tasks also need `design.md` + `implement.md`)
|
|
|
|
|
- 1.2 Research `[optional · repeatable]`
|
|
|
|
|
- 1.3 Configure context `[required · once]` — Claude Code, Cursor, OpenCode, Codex, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix (sub-agent-dispatch platforms only; inline platforms skip)
|
|
|
|
|
- 1.3 Configure context `[required · once]` — Claude Code, Cursor, OpenCode, Codex, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Grok, Kimi Code (sub-agent-dispatch platforms only; inline platforms skip)
|
|
|
|
|
- 1.4 Activate task `[required · once]` (review gate, then `task.py start`; status → in_progress)
|
|
|
|
|
- 1.5 Completion criteria
|
|
|
|
|
|
|
|
|
@@ -220,7 +220,7 @@ Inline mode: skip jsonl curation; Phase 2 reads artifacts/specs via `trellis-bef
|
|
|
|
|
therefore must cover every required step from implementation through
|
|
|
|
|
commit, including Phase 3.3 spec update and Phase 3.4 commit. -->
|
|
|
|
|
|
|
|
|
|
Sub-agent dispatch protocol applies to all platforms and all sub-agents, including class-2 Codex/Gemini/Qoder/Copilot/ZCode/Reasonix/Trae and `trellis-research`: every dispatch prompt starts with `Active task: <task path from task.py current>` before role-specific instructions.
|
|
|
|
|
Sub-agent dispatch protocol applies to all platforms and all sub-agents, including native Codex `SubagentStart` context injection with child-side pull fallback, class-2 Gemini/Qoder/Copilot/Reasonix/Trae/Grok/Kimi Code, hook-backed ZCode/Snow, and `trellis-research`: every dispatch prompt starts with `Active task: <task path from task.py current>` before role-specific instructions. On Grok Build, use `spawn_subagent` with `subagent_type` set to the Trellis agent name (e.g. `trellis-implement`). On Kimi Code, dispatch the built-in `coder` / `explore` sub-agent with the matching `.kimi-code/skills/trellis-<role>/SKILL.md` instructions.
|
|
|
|
|
|
|
|
|
|
[workflow-state:in_progress]
|
|
|
|
|
Tools: `trellis-implement` / `trellis-research` are sub-agent types only (Task/Agent tool, NOT Skill; there is no skill by these names). `trellis-update-spec` is a skill. `trellis-check` exists as both; prefer the Agent form when verifying after code changes.
|
|
|
|
@@ -272,13 +272,13 @@ Code committed. Run `/trellis:finish-work`; if dirty, return to Phase 3.4 first.
|
|
|
|
|
|
|
|
|
|
When a user request matches one of these intents inside an active task, route first, then load the detailed phase step if needed.
|
|
|
|
|
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
- Planning or unclear requirements -> `trellis-brainstorm`.
|
|
|
|
|
- `in_progress` implementation/check -> dispatch `trellis-implement` / `trellis-check`.
|
|
|
|
|
- Repeated debugging -> `trellis-break-loop`; spec updates -> `trellis-update-spec`.
|
|
|
|
|
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
[codex-inline, Kilo, Antigravity, Devin]
|
|
|
|
|
|
|
|
|
@@ -353,7 +353,7 @@ Return to this step whenever requirements change and revise the relevant artifac
|
|
|
|
|
|
|
|
|
|
Research can happen at any time during requirement exploration. It isn't limited to local code — you can use any available tool (MCP servers, skills, web search, etc.) to look up external information, including third-party library docs, industry practices, API references, etc.
|
|
|
|
|
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
Spawn the research sub-agent:
|
|
|
|
|
|
|
|
|
@@ -361,11 +361,11 @@ Spawn the research sub-agent:
|
|
|
|
|
- **Task description**: Research <specific question>
|
|
|
|
|
- **Key requirement**: Research output MUST be persisted to `{TASK_DIR}/research/`
|
|
|
|
|
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
[codex-inline, Kilo, Antigravity, Devin]
|
|
|
|
|
|
|
|
|
|
Do the research in the main session directly and write findings into `{TASK_DIR}/research/`. (For `codex-inline` this avoids the `fork_turns="none"` isolation that prevents `trellis-research` sub-agents from resolving the active task path.)
|
|
|
|
|
Do the research in the main session directly and write findings into `{TASK_DIR}/research/`. `codex-inline` is the explicit mode that keeps work in the main session.
|
|
|
|
|
|
|
|
|
|
[/codex-inline, Kilo, Antigravity, Devin]
|
|
|
|
|
|
|
|
|
@@ -380,7 +380,7 @@ Brainstorm and research can interleave freely — pause to research a technical
|
|
|
|
|
|
|
|
|
|
#### 1.3 Configure context `[required · once]`
|
|
|
|
|
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
Curate `implement.jsonl` and `check.jsonl` so the Phase 2 sub-agents get the right spec/research context. These files were seeded on `task create` with a single self-describing `_example` line; your job here is to fill in real entries.
|
|
|
|
|
|
|
|
|
@@ -425,7 +425,7 @@ Ready gate: both `implement.jsonl` and `check.jsonl` must contain at least one r
|
|
|
|
|
|
|
|
|
|
Skip this step only when both files already have real curated entries.
|
|
|
|
|
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
[codex-inline, Kilo, Antigravity, Devin]
|
|
|
|
|
|
|
|
|
@@ -458,11 +458,11 @@ If `task.py start` errors with a session-identity message (no context key from h
|
|
|
|
|
| `design.md` exists (complex tasks) | ✅ |
|
|
|
|
|
| `implement.md` exists (complex tasks) | ✅ |
|
|
|
|
|
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
| `implement.jsonl` and `check.jsonl` each contain at least one real curated entry (seed row does not count) | ✅ |
|
|
|
|
|
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
@@ -472,21 +472,22 @@ Goal: turn reviewed planning artifacts into code that passes quality checks.
|
|
|
|
|
|
|
|
|
|
#### 2.1 Implement `[required · repeatable]`
|
|
|
|
|
|
|
|
|
|
[Claude Code, Cursor, OpenCode, CodeBuddy, Droid, Pi, Oh My Pi]
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, CodeBuddy, Droid, Pi, ZCode, Snow, Oh My Pi]
|
|
|
|
|
|
|
|
|
|
Spawn the implement sub-agent:
|
|
|
|
|
|
|
|
|
|
- **Agent type**: `trellis-implement`
|
|
|
|
|
- **Task description**: Implement the reviewed task artifacts, consulting materials under `{TASK_DIR}/research/`; finish by running project lint and type-check
|
|
|
|
|
- **Dispatch prompt guard**: Tell the spawned agent it is already the `trellis-implement` sub-agent and must implement directly, not spawn another `trellis-implement` / `trellis-check`.
|
|
|
|
|
- **Dispatch prompt guard**: The prompt MUST start with `Active task: <task path>`, then tell the spawned agent it is already the `trellis-implement` sub-agent and must implement directly, not spawn another `trellis-implement` / `trellis-check`.
|
|
|
|
|
|
|
|
|
|
The platform hook/plugin auto-handles:
|
|
|
|
|
- Reads `implement.jsonl` and injects referenced spec/research files into the agent prompt
|
|
|
|
|
- Injects `prd.md`, `design.md` if present, and `implement.md` if present
|
|
|
|
|
- For Codex, `SubagentStart` supplies native context injection; the agent profile keeps child-side loading as the fallback
|
|
|
|
|
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, CodeBuddy, Droid, Pi, Oh My Pi]
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, CodeBuddy, Droid, Pi, ZCode, Snow, Oh My Pi]
|
|
|
|
|
|
|
|
|
|
[codex-sub-agent, Gemini, Qoder, Copilot, ZCode, Reasonix, Trae]
|
|
|
|
|
[Gemini, Qoder, Copilot, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
Spawn the implement sub-agent:
|
|
|
|
|
|
|
|
|
@@ -498,7 +499,7 @@ The pull-based sub-agent definition auto-handles the context load requirement:
|
|
|
|
|
- Resolves the active task with `task.py current --source`, then reads `prd.md`, `design.md` if present, and `implement.md` if present
|
|
|
|
|
- Reads `implement.jsonl` and requires the agent to load each referenced spec/research file before coding
|
|
|
|
|
|
|
|
|
|
[/codex-sub-agent, Gemini, Qoder, Copilot, ZCode, Reasonix, Trae]
|
|
|
|
|
[/Gemini, Qoder, Copilot, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
[Kiro]
|
|
|
|
|
|
|
|
|
@@ -526,13 +527,13 @@ The platform prelude auto-handles the context load requirement:
|
|
|
|
|
|
|
|
|
|
#### 2.2 Quality check `[required · repeatable]`
|
|
|
|
|
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
Spawn the check sub-agent:
|
|
|
|
|
|
|
|
|
|
- **Agent type**: `trellis-check`
|
|
|
|
|
- **Task description**: Review all code changes against specs and task artifacts; fix any findings directly; ensure lint and type-check pass
|
|
|
|
|
- **Dispatch prompt guard**: Tell the spawned agent it is already the `trellis-check` sub-agent and must review/fix directly, not spawn another `trellis-check` / `trellis-implement`.
|
|
|
|
|
- **Dispatch prompt guard**: The prompt MUST start with `Active task: <task path>`, then tell the spawned agent it is already the `trellis-check` sub-agent and must review/fix directly, not spawn another `trellis-check` / `trellis-implement`.
|
|
|
|
|
|
|
|
|
|
The check agent's job:
|
|
|
|
|
- Review code changes against specs
|
|
|
|
@@ -540,7 +541,7 @@ The check agent's job:
|
|
|
|
|
- Auto-fix issues it finds
|
|
|
|
|
- Run lint and typecheck to verify
|
|
|
|
|
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Reasonix, Trae]
|
|
|
|
|
[/Claude Code, Cursor, OpenCode, codex-sub-agent, Kiro, Gemini, Qoder, CodeBuddy, Copilot, Droid, Pi, Oh My Pi, ZCode, Snow, Reasonix, Trae, Grok, Kimi Code]
|
|
|
|
|
|
|
|
|
|
[codex-inline, Kilo, Antigravity, Devin]
|
|
|
|
|
|
|
|
|
|