name: ask
description: Send a request to a CCB agent with ask.
metadata:
short-description: Ask agent
Use this skill when the user asks you to delegate with CCB, or when project
memory says to use CCB ask for collaboration.
Decision Card
Before every ask, decide:
- Need delegation? If no, answer directly.
- Result intent:
--silence: publish/execute task; success result not needed. Failures, blockers, risks, or required next actions still surface.--compact: result wanted, but only distilled findings/status/risks/blockers/next actions.+ --artifact-reply: consultation/analysis/report where full text should be preserved.- plain
ask: short question or short handoff where inline text is enough. --callback: active CCB parent job + child result required to finish. Combine with--compactor--artifact-replyas needed. Submit, then stop for continuation.
- Request fidelity:
+ --artifact-request: exact transient input (logs/output/diffs/copied contents/config/JSON/YAML/table/structured text). Prefer repo paths when the target can read files directly.--artifact-io: request and reply both need artifacts.
Guardrails
- Do not probe
--callback; if unsure there is an active parent job, use plainask. - If CCB says
ask --callback requires an active parent job, retry once with plainaskfor user-requested delegation. --callbackand--silenceusually conflict; avoid mixing unless explicit.- Avoid
--silence --artifact-reply; silence means no caller result needed; artifact-reply preserves one. - Artifact flags are orthogonal to
--callback,--silence, and--compact. They preserve content, not dependency shape. - Automatic spill for text over 4 KiB is a fallback, not the primary rule.
--artifact-*modes are CCB/daemon managed; targets do not write artifact reply files.- Plain nested
askfrom an active CCB task is rejected; use--callbackor--silence. - In
A --silence -> B, B still runs an active job. B-to-C depends on whether B needs C's result. - In callback chains, each waiting hop uses callback; CCB then propagates continuations.
- If the current task is a CCB callback continuation, answer the current task
directly with the final result. Do not use
ask,--callback, or--silenceto send that final result to the original caller; CCB routes the continuation completion upstream. ask get,pend,watch, andpingare diagnostics-only commands for explicit debugging requests, not normal ask workflow tools.- Do not manually append output-policy text;
askinjects reply guidance.
Kimi Receipt Contract
For implementation, review, inventory, or verification work, return one final receipt in this exact shape:
status:
inspected:
exact_files:
findings:
reject_cases:
required_tests:
no_open:
blockers:
Use status: complete, status: partial, or status: blocked.
Process updates are invalid receipts: do not answer with "I am reading",
"I will test", or "completed" without the evidence fields above. If you cannot
finish within the current turn, use status: partial or status: blocked and
name the exact files inspected, remaining command, and blocker. Keep the reply
short. Your output is candidate evidence; the caller owns diff review,
verification, final lifecycle judgment, and commits.
Always send MESSAGE through the <<'EOF' ... EOF heredoc below. No other form
is allowed. Use no flags or insert selected flags before "$TARGET":
command ask "$TARGET" <<'EOF'
$MESSAGE
EOF
command ask --callback --artifact-reply "$TARGET" <<'EOF'
$MESSAGE
EOF
After the command returns, end the turn. Do not wait for a reply,
do not run ask get / pend / ping / watch, do not poll.
For --callback, report only that delegation was submitted.