Roo Follow-up Orchestrator
Roo side cannot append messages to an existing task. MCP/sidecar only signals resultType (ask|completion|none), needsReply, question, options, sessionId, and a message summary. This skill provides the client-side flow: ask the user, summarize, and re-send as a new Roo task when needed.
When to use
resultTypeisaskorneedsReplyis true fromroo_taskresponse.- You must validate whether the previous Roo answer is sufficient and, if not, send a follow-up as a new task.
- You need to keep context continuity by summarizing prior answers.
Inputs
- Roo MCP response:
message,resultType,needsReply,question,options,completion,sessionId. - User’s follow-up answer (free text or option).
- Optional: expected outcome to verify completeness.
Workflow
-
Classify response
- If
resultType=completionandneedsReply=false: consider done; showcompletionormessageto user. - If
resultType=askorneedsReply=true: proceed to follow-up handling. - If
resultType=none: treat as inconclusive; ask user whether to retry or stop.
- If
-
Ask the user
- Show
questionandoptions(if any) as a numbered list so the user can reply with a single number. Example:Roo follow-up question: <question> 1) <option1> 2) <option2> 3) <option3> Reply with a number or free text (type 'stop' to abort): - If no options, still encourage concise answers (“short answer is fine”, “stop to abort”).
- If the user declines to continue, stop.
- Show
-
Summarize prior context
- Extract the last
completion(ormessageif completion absent). - Build a brief summary: e.g.,
Previous result: ... - Append the user’s new answer: e.g.,
User follow-up answer: ... - Add intent:
Continue the task based on this context.
- Extract the last
-
Send a new Roo task
- Call
roo_taskwith the composed prompt:Previous result: <summary> User follow-up answer: <answer> Continue the task based on this context. - Record the new
sessionId(this will be new each time; Roo does not support append).
- Call
-
Validate outcome
- On new response, check
resultType. - If still
ask, loop steps 2–4. - If
completion, present to user and confirm acceptance; if not acceptable, craft another follow-up.
- On new response, check
Prompts / Templates
- New task prompt skeleton
Previous result: <short summary of last completion/message> User follow-up answer: <user answer or chosen option> Continue the task based on this context. - User prompt (to collect answer) — Use numbered options so the user can reply with digits only
Roo follow-up question: <question> 1) <option1> 2) <option2> 3) <option3> Reply with a number or free text (or type 'stop' to abort):
Notes & Constraints
- Do not attempt to append to an existing Roo task; always create a new
roo_task. sessionIdfrom the previous call is not reusable for sending answers (Roo lacks append API).- Keep summaries short to avoid prompt bloat; only include what is needed for the next step.
- If
resultType=none, confirm with the user before retrying to avoid loops.
Checklist
- [ ] Inspect
resultType/needsReply. - [ ] If ask: collect user answer; if completion: confirm sufficiency.
- [ ] Summarize prior result concisely.
- [ ] Re-send as new
roo_taskwith summary + user answer. - [ ] Repeat until completion is acceptable or user stops.