ask
The `ask` skill delegates tasks to CCB (Claude Codex Bridge) agents when collaboration or external execution is needed. Use it when a user requests delegation, project memory indicates CCB collaboration, or work requires separation from the current Claude instance. The skill includes a decision framework for choosing response intent (silence, compact, artifact, callback) and request fidelity (artifact-request, artifact-io) based on whether results are needed, how results should be formatted, and whether exact input preservation matters.
git clone --depth 1 https://github.com/SeemSeam/claude_codex_bridge /tmp/ask && cp -r /tmp/ask/inherit_skills/qoder_skills/ask ~/.claude/skills/askSKILL.md
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:
1. Need delegation? If no, answer directly.
2. 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.
3. 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.
4. 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"`:
```bash
command ask "$TARGET" <<'EOF'
$MESSAGE
EOF
```
```bash
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.Submit one node result to the assigned Reviewer and finish only after a bounded pass/rework chain.
Execute one scoped implementation or investigation item and return evidence without changing workflow authority.
Clear CCB managed agent conversation context with `ccb clear`. Use when the user writes `$ccb-clear`, `$ccb_clear`, or asks to clear/reset one or more CCB agent contexts without restarting or deleting project state.
Diagnose and recover CCB communication and reply delivery stalls. Use when a user reports a missing CCB_REPLY, stuck ask, agent stuck busy/delivering, queued work behind an active job, cancelled/incomplete reply, empty artifact, callback not continuing, duplicate retry after success, or a CCB mailbox/communication backend that appears stuck.
Compact CCB managed agent conversation context with `ccb compact`. Use when the user writes `$ccb-compact`, `$ccb_compact`, or asks to summarize one or more mounted agent contexts without restarting agents or deleting project state.
Private built-in CCB configuration skill for agentroles.ccb_self. Design, edit, validate, and prepare reloads for .ccb/ccb.config, role bindings, providers, windows, workspaces, tool windows, sidebar, and provider startup inputs. Use only inside ccb_self; non-self agents should delegate CCB config changes to ccb_self.
Diagnose a named CCB agent by combining authoritative runtime and job lineage with deep read-only pane inspection, apply bounded recovery when evidence supports it, verify the result, and request authorization before submitting a redacted GitHub issue. Use for `$ccb_diagnose agentname`, `$ccb-diagnose agentname`, or reports that a CCB agent is stuck, disconnected, not continuing, not replying, or showing provider errors.
Maintain this CCB project's GitHub-facing release and npm publication surface. Use when preparing, publishing, auditing, or fixing CCB releases; updating README.md, README/zh.md, localized README files, CHANGELOG.md, VERSION, package.json, GitHub release notes/assets, repository description/topics, npm registry state, or GitHub Actions release/test status.