en un clic
trace
// Dispatch trace subagent to investigate unknown issues — reproduces, traces, and reports root cause for /fix handoff.
// Dispatch trace subagent to investigate unknown issues — reproduces, traces, and reports root cause for /fix handoff.
Investigate bugs comprehensively — cascade through /trace, capture browser evidence, extract observability data, and auto-create a GitHub issue with all findings.
Wire a Genie agent to an Omni channel in one canonical flow — register the agent, bind to an instance, verify the round-trip. Replaces the 5+ command legacy chain.
Full PM playbook — triage backlog, prioritize, assign, track, report, escalate. Copilot, autopilot, or pair modes.
Convene real AI agents for multi-perspective deliberation on architecture, design, and strategy decisions.
Entry point for all genie operations — auto-routes natural language to the right skill, detects lifecycle state, and handles operational commands. Use when planning features, reporting bugs, managing teams, or asking about genie.
Batch-execute SHIP-ready wishes overnight — pick wishes, orchestrate workers, review PRs, wake up to results.
| name | trace |
| description | Dispatch trace subagent to investigate unknown issues — reproduces, traces, and reports root cause for /fix handoff. |
Investigate unknown failures. Dispatch a trace subagent to reproduce, trace, and isolate root cause — then hand the report to /fix.
/review encounters a failure with unclear root cause and invokes /trace for investigationgenie agent send '<diagnosis summary>' --to <leader>./fix or escalate to the orchestrator.Root cause: <what's actually broken — file, line, condition>
Evidence: <reproduction steps, traces, proof>
Causal chain: <root cause → intermediate effects → observed symptom>
Recommended correction: <what to change, where, why>
Affected scope: <other files or features impacted>
Confidence: <high / medium / low>
Trace must run in isolation — the subagent must not modify any source files.
# Spawn a tracer subagent (read-only investigation)
genie agent spawn trace
When a PG task exists for the work being investigated, log findings as task comments:
| Event | Command |
|---|---|
| Investigation start | genie task comment #<seq> "Trace: investigating — [symptom summary]" |
| Root cause found | genie task comment #<seq> "Root cause: [summary] — [file:line]" |
| Multiple causes | genie task comment #<seq> "Root causes: [count] identified — see trace report" |
| Investigation failed | genie task comment #<seq> "Trace: could not determine root cause — [reason]" |
Include file paths and line numbers in every root cause comment so the task history is actionable without reading the full report.
Graceful degradation: If no PG task exists for the investigated work, skip all genie task commands. Findings logging is an enhancement — the trace flow must never fail due to missing tasks.
An engineer reports that genie work dispatches engineers but they sit idle. The orchestrator runs /trace:
# 1. Spawn a tracer (read-only — no code changes)
genie agent spawn trace
# 2. Send the symptoms
genie agent send 'Trace: genie work dispatches engineers but they start idle at the prompt. No task received. genie wish status shows in_progress but nothing happens. Check dispatch.ts workDispatchCommand and protocol-router.ts sendMessage.' --to tracer
# 3. Wait for findings
sleep 60 && genie agent log tracer --raw
The tracer investigates and reports back:
Root cause: workDispatchCommand (dispatch.ts:532) spawns without initialPrompt
Evidence: protocolRouter.sendMessage fails silently under concurrent dispatch — 4/6 engineers got no message
Causal chain: missing initialPrompt → agent starts with empty prompt → no task → idle forever
Recommended correction: add initialPrompt to handleWorkerSpawn in dispatch.ts
Affected scope: brainstormCommand, wishCommand, workDispatchCommand, reviewCommand
Confidence: high
The orchestrator then hands the report to /fix.
grep -n "export.*<name>" against the actual file. Never cite a function name from memory or from a stale convention — the codebase evolves and refactors rename or delete public API regularly. A trace report that hallucinates a function name (e.g. claiming resolveAgentId exists when only getAgentByName does) sends /fix down a path that fails type-check and wastes a fix loop. Closes #1674 Bug 5./fix — trace produces a report, /fix applies the correction. Never combine them.Every session MUST end by writing a terminal outcome to the turn-session contract. This is how the orchestrator reconciles executor state — skipping it leaves the row open and blocks auto-resume.
genie done — work completed, acceptance criteria metgenie blocked --reason "<why>" — stuck, needs human input or an unblocking signalgenie failed --reason "<why>" — aborted, irrecoverable error, or cannot proceedRules:
blocked / failed require --reason.genie done inside an agent session (GENIE_AGENT_NAME set) closes the current executor; it does not require a wish ref.