一键导入
refacil-ask
Ask something directed to another session on the bus. Optionally blocks waiting for the response (--wait N seconds) for automatic LLM-to-LLM flow.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Ask something directed to another session on the bus. Optionally blocks waiting for the response (--wait N seconds) for automatic LLM-to-LLM flow.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Guided complete flow to investigate and fix bugs — delegates investigation and fix to the refacil-debugger sub-agent in two passes separated by user confirmation
Internal reference — SDD-AI prerequisites shared by all other refacil skills (do not invoke manually)
Validate that the implementation meets the specs — builds a briefing with testCommand and CA/CR criteria, delegates to the refacil-validator sub-agent for the report, and handles corrections with user approval
Implement the tasks of a proposed change — verifies artifacts and working branch, builds a structured briefing, and delegates to the refacil-implementer sub-agent to execute the implementation in isolated context
Archive a completed change — move artifacts to archive and sync specs
Run the SDD implementation cycle autonomously after /refacil:propose was approved by the human — chains apply → test → verify → review → archive → up-code in a single invocation, and notifies the user via WhatsApp through Kapso when finished (success or failure). Use when the user says "autopilot", "ejecuta el resto del flujo", "termina solo", "modo autónomo", or indicates they will step away from the computer.
| name | refacil:ask |
| description | Ask something directed to another session on the bus. Optionally blocks waiting for the response (--wait N seconds) for automatic LLM-to-LLM flow. |
| user-invocable | true |
Sends a directed question to a session in the room, or to all other sessions in the room with @all (aliases: *, everyone). $ARGUMENTS includes @<destination> and the text.
Expected format of $ARGUMENTS:
@<session-name> "question..."
Extract:
destination: session name without the @text: the questionIf the destination is not clear, use /refacil:rooms (via refacil-sdd-ai bus rooms) to list active sessions and ask the user for clarification.
Directed broadcast (@all): the broker emits an ask for each member (except the asker), same correlationId. Each receiver can /refacil:reply on their side. With --wait, the CLI returns the first response that arrives (does not wait for all).
Whoever is in the room arrived via /refacil:join (and the repo with Refacil methodology): they already know SDD-AI; no need to paste the guide or re-explain what /refacil:propose is. It is enough that the message is clear in scope and criteria so the other agent runs their flow (propose, apply, etc.) without improvising patches.
Before drafting the --text, classify what you are going to ask @<destination>:
| Type | Examples | How to draft the ask |
|---|---|---|
| Information only | "What payload does Z send?", "Where is the X handler?" | Concrete question. |
| Change request in the destination repo | "Add field W to the contract", "Fix the bug in the service that lives in your repo", "Align the consumer with the spec" | Describe what must be achieved, where it applies, acceptance criteria or links to spec/conversation. The recipient channels that with /refacil:propose (and what follows) in their repo; do not ask for "just a quick change" when the impact is versionable code, unless the human user explicitly orders otherwise. |
If you mix query + change, separate into two messages or make clear which part is read-only and which is versionable work in the other repo.
For cross-repo integrations, prioritize questions that remove ambiguity in input/output contracts. A good ask usually includes:
This framing increases response quality and reduces back-and-forth.
When the question is about cross-repo integration contracts, draft the --text using this minimal template:
integrationPoint: [endpoint/event/queue + direction X->Y or Y->X]
inputContract: [required/optional fields + key validation rules]
outputContract: [expected output/status/errors]
compatibility: [version/flags/env constraints or "unknown"]
sourceOfTruthRequest: [where to confirm in destination repo]
question: [concrete doubt to resolve]
If some fields are unknown, send unknown explicitly — do not invent values.
Use --text for simple messages (no special characters, single-line):
refacil-sdd-ai bus ask --to [destination] --text "Simple question here"
Do NOT use < or > inside --text — shells may interpret them as redirection operators and truncate or discard the message.
For messages containing <, >, |, newlines, or other special characters, use --from-env:
PowerShell (Windows):
$env:BUS_TEXT = "integrationPoint: POST /api/pay -> processor`ninputContract: amount<number>, currency<string>"
refacil-sdd-ai bus ask --to [destination] --from-env BUS_TEXT
Remove-Item Env:BUS_TEXT
bash (inline, preferred — automatic cleanup):
BUS_TEXT="integrationPoint: POST /api/pay -> processor
inputContract: amount<number>" refacil-sdd-ai bus ask --to [destination] --from-env BUS_TEXT
bash (export + unset alternative):
export BUS_TEXT="message with <special> chars"
refacil-sdd-ai bus ask --to [destination] --from-env BUS_TEXT
unset BUS_TEXT
Note: the CLI cannot perform cleanup itself — it runs as a child process and cannot modify the parent shell's environment. Cleanup (
Remove-Item/unset) is the responsibility of the invoking script or shell.
--waitTwo modes:
Blocking mode (recommended when you need the response to continue):
refacil-sdd-ai bus ask --to [destination] --text "[question]" --wait 180
/refacil:attend, the response comes back automatically/refacil:inbox laterFire-and-forget mode:
refacil-sdd-ai bus ask --to [destination] --text "[question]"
Use Bash with the chosen command.
--wait brought a response: use it as context to continue your work; do not just report the message, continue with the flow the user asked for.--wait expired: inform the user and propose /refacil:inbox to review later.\.inbox.jsonl and will be delivered when they join./refacil:propose there and notify you via bus when done; if they request changes from you, you do the same here. Full convention: refacil-prereqs/BUS-CROSS-REPO.md.asks that are change requests must be substantive in scope (Step 1.5): the recipient already uses the methodology; do not repeat the guide in the text. Do not use the bus to request opaque quick fixes when the impact requires SDD-AI.bus ask --to SESSION, never bus say. say is a broadcast-only announcement with no delivery guarantee for late-joining sessions and no inbox visibility. If the content is extensive, split it into numbered parts, each as an independent ask.< or > inside --text arguments. Use --from-env instead (see "Safe bus text delivery" above).