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.
- Dependency gate:
- Default: do not use
--chain.
- Use
--chain only when the current active CCB task cannot finish until
this exact child result arrives. Then stop for continuation.
- Communication tests, batch sends, notifications, and independent work do
not become chain dependencies merely because replies are requested.
- 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.
- 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
--chain; if unsure there is an active parent job, use plain
ask.
- If CCB says
ask --chain requires an active parent job, retry once with
plain ask for user-requested delegation.
- Never add
--chain merely to make a rejected plain ask succeed. If the work
is independent and no success result is needed, use --silence; otherwise
report the routing limitation instead of inventing a dependency.
--chain and --silence usually conflict; avoid mixing unless explicit.
- Avoid
--silence --artifact-reply; silence means no caller result needed; artifact-reply preserves one.
- Artifact flags are orthogonal to
--chain, --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
ask from an active CCB task is rejected. Use --chain only
for a real child dependency; use --silence for independent no-result work.
- In
A --silence -> B, B still runs an active job. B-to-C depends on whether B needs C's result.
- In task chains, each needed-result hop uses
--chain; CCB then propagates continuations.
- Finish an inbound CCB task in its current turn.
- If the original caller is a registered CCB agent, CCB routes that turn's
terminal result through the existing lineage; do not open a new
ask to
report completion to the original caller.
- Direct CLI submitters read terminal results from control output such as
watch or trace.
- If the current task is a CCB result-chain continuation, answer the current task
directly with the final result. Do not use
ask, --chain, or
--silence to send that final result to the original caller; CCB routes the
continuation completion upstream.
--silence is not an active-job correction channel. Use
ccb followup <active_job_id> --message "<correction>" only when the target
provider supports exact active-turn injection; only injected is success.
On rejected, too_late, or terminal, cancel and resubmit the complete
corrected task instead of queueing a correction as ordinary work.
- A
completed CCB job means provider execution ended normally; it does not by
itself prove business acceptance.
ask get, pend, watch, and ping are diagnostics-only commands for
explicit debugging requests, not normal ask workflow tools.
- Do not manually append output-policy text; stable reply policy comes from managed CCB memory, and
ask adds only requested compact/silent mode metadata.
Use no flags or insert selected flags before "$TARGET":
command ask "$TARGET" <<'EOF'
$MESSAGE
EOF
command ask --chain --artifact-reply "$TARGET" <<'EOF'
$MESSAGE
EOF
After submit, stop. Do not wait for a reply, do not run ask get / pend /
ping / watch, and do not poll. For --chain, report only submitted.
1---2name: ask-43description: Send a request to a CCB agent with `ask`.4---56Use this skill when the user asks you to delegate with CCB, or when project7memory says to use CCB `ask` for collaboration.89## Decision Card1011Before every ask, decide:12131. Need delegation? If no, answer directly.142. Dependency gate:15 - Default: do not use `--chain`.16 - Use `--chain` only when the current active CCB task cannot finish until17 this exact child result arrives. Then stop for continuation.18 - Communication tests, batch sends, notifications, and independent work do19 not become chain dependencies merely because replies are requested.203. Result intent:21 - `--silence`: publish/execute task; success result not needed. Failures,22 blockers, risks, or required next actions still surface.23 - `--compact`: result wanted, but only distilled24 findings/status/risks/blockers/next actions.25 - `+ --artifact-reply`: consultation/analysis/report where full text should26 be preserved.27 - plain `ask`: short question or short handoff where inline text is enough.284. Request fidelity:29 - `+ --artifact-request`: exact transient input30 (logs/output/diffs/copied contents/config/JSON/YAML/table/structured text).31 Prefer repo paths when the target can read files directly.32 - `--artifact-io`: request and reply both need artifacts.3334## Guardrails3536- Do not probe `--chain`; if unsure there is an active parent job, use plain37 `ask`.38- If CCB says `ask --chain requires an active parent job`, retry once with39 plain `ask` for user-requested delegation.40- Never add `--chain` merely to make a rejected plain ask succeed. If the work41 is independent and no success result is needed, use `--silence`; otherwise42 report the routing limitation instead of inventing a dependency.43- `--chain` and `--silence` usually conflict; avoid mixing unless explicit.44- Avoid `--silence --artifact-reply`; silence means no caller result needed; artifact-reply preserves one.45- Artifact flags are orthogonal to `--chain`, `--silence`, and `--compact`.46 They preserve content, not dependency shape.47- Automatic spill for text over 4 KiB is a fallback, not the primary rule.48- `--artifact-*` modes are CCB/daemon managed; targets do not write artifact reply files.49- Plain nested `ask` from an active CCB task is rejected. Use `--chain` only50 for a real child dependency; use `--silence` for independent no-result work.51- In `A --silence -> B`, B still runs an active job. B-to-C depends on whether B needs C's result.52- In task chains, each needed-result hop uses `--chain`; CCB then propagates continuations.53- Finish an inbound CCB task in its current turn.54- If the original caller is a registered CCB agent, CCB routes that turn's55 terminal result through the existing lineage; do not open a new `ask` to56 report completion to the original caller.57- Direct CLI submitters read terminal results from control output such as58 `watch` or `trace`.59- If the current task is a CCB result-chain continuation, answer the current task60 directly with the final result. Do not use `ask`, `--chain`, or61 `--silence` to send that final result to the original caller; CCB routes the62 continuation completion upstream.63- `--silence` is not an active-job correction channel. Use64 `ccb followup <active_job_id> --message "<correction>"` only when the target65 provider supports exact active-turn injection; only `injected` is success.66 On `rejected`, `too_late`, or `terminal`, cancel and resubmit the complete67 corrected task instead of queueing a correction as ordinary work.68- A `completed` CCB job means provider execution ended normally; it does not by69 itself prove business acceptance.70- `ask get`, `pend`, `watch`, and `ping` are diagnostics-only commands for71 explicit debugging requests, not normal ask workflow tools.72- Do not manually append output-policy text; stable reply policy comes from managed CCB memory, and `ask` adds only requested compact/silent mode metadata.7374Use no flags or insert selected flags before `"$TARGET"`:7576```bash77command ask "$TARGET" <<'EOF'78$MESSAGE79EOF80```8182```bash83command ask --chain --artifact-reply "$TARGET" <<'EOF'84$MESSAGE85EOF86```8788After submit, stop. Do not wait for a reply, do not run `ask get` / `pend` /89`ping` / `watch`, and do not poll. For `--chain`, report only submitted.