CCB Self Chain
Use this skill for message and work-lineage recovery. Do not restart or clear a
pane as the first repair for a lineage problem.
Core Workflow
- Identify the lineage id:
job_id, message_id, attempt_id, reply_id,
inbound event id, or artifact path.
- Run
ccb trace <id> and record message, attempt, reply, event, callback,
and job state.
- Inspect observer state as supplementary evidence:
ccb queue --detail <agent|all>
ccb pend --inbox --detail <agent>
- If a reply or request is artifact-backed, read the full artifact file before
acting. If the file is absent, expired, truncated, or unreadable, report a
blocker and do not act from preview text.
- Classify the repair:
- retry: same job or attempt should be retried because the attempt is
failed, incomplete, or retryable and the original lineage remains valid.
- resubmit: original message should be submitted as fresh work because the
old lineage is no longer appropriate.
- ack: acknowledgement or inbox progress is wrong, but the reply is
otherwise accepted.
- If trace shows a job still running or in flight, run
ccb cancel <job_id>
first when the user intended repair, then re-run trace before choosing retry
or resubmit. If cancel fails or reports a blocking state, stop and report
the blocker; do not retry, resubmit, or create a second concurrent path for
the same work.
- Execute a repair command only when trace evidence supports it and the user
supplied maintenance intent:
ccb repair retry <job_id|attempt_id>
ccb repair resubmit <message_id>
ccb repair ack <agent_name> [inbound_event_id]
- After repair, re-run trace and queue/inbox checks. Success means the new or
repaired lineage is queued/running/completed as intended, the old duplicate
path is cancelled or terminal, and no unexpected pending reply remains. Hand
work back to the original target agent unless the user explicitly retargets
it.
Decision Rules
- Prefer
repair retry when the same target and same work should run again
after incomplete, failed, or recoverable execution.
- Prefer
repair resubmit when the old execution lineage is stale,
context-corrupted, or semantically wrong but the user still wants the task
attempted.
- Prefer
repair ack only for bad acknowledgement/progress state after a reply
has been accepted.
- For
project_shutdown lineage, do not use ack. Explain that the project
stopped the old execution. Prefer repair resubmit <message_id> when the
user wants fresh work because repair retry is usually invalid after project
shutdown. Use repair retry <job_id|attempt_id> only when trace explicitly
proves the job completed before shutdown and the reply is intact.
- Handoff to
ccb-self-recover only when trace proves process/context/pane
replacement is required.
- Handoff to
ccb-self-diagnose when the target id is ambiguous or runtime
state is too uncertain to pick a lineage repair.
Artifact Rules
Artifact-backed replies are full-text authority for the reply content. Inline
previews are hints only.
When a reply says "read the full text file above before acting":
- Open the path.
- Verify it is complete enough for the requested decision.
- If expected checksum/bytes are available, compare them when cheap.
- Only then summarize or act.
If the path is missing or expired, say that the artifact content is unavailable
and choose no mutation unless the user provides the full content again.
Red Lines
- Do not run
ccb restart, ccb clear, or ccb reload as the first response
to a lineage problem.
- Do not treat queue/inbox observer snapshots as terminal authority for
completed lineage; use
ccb trace <id>.
- Do not repair from artifact preview text alone.
- Do not retarget work to another agent unless the user asks for that.
1---2name: ccb-self-chain3description: Diagnose and repair CCB ask/job/message/reply/artifact/callback lineage. Use for missing replies, incomplete artifacts, pending callbacks, retry/resubmit/ack decisions, reply delivery problems, or work-chain resume advice.4---5
6# CCB Self Chain
7
8Use this skill for message and work-lineage recovery. Do not restart or clear a
9pane as the first repair for a lineage problem.
10
11## Core Workflow
12
131. Identify the lineage id: `job_id`, `message_id`, `attempt_id`, `reply_id`,
14 inbound event id, or artifact path.
152. Run `ccb trace <id>` and record message, attempt, reply, event, callback,
16 and job state.
173. Inspect observer state as supplementary evidence:
18 - `ccb queue --detail <agent|all>`
19 - `ccb pend --inbox --detail <agent>`
204. If a reply or request is artifact-backed, read the full artifact file before
21 acting. If the file is absent, expired, truncated, or unreadable, report a
22 blocker and do not act from preview text.
235. Classify the repair:
24 - retry: same job or attempt should be retried because the attempt is
25 failed, incomplete, or retryable and the original lineage remains valid.
26 - resubmit: original message should be submitted as fresh work because the
27 old lineage is no longer appropriate.
28 - ack: acknowledgement or inbox progress is wrong, but the reply is
29 otherwise accepted.
306. If trace shows a job still running or in flight, run `ccb cancel <job_id>`
31 first when the user intended repair, then re-run trace before choosing retry
32 or resubmit. If cancel fails or reports a blocking state, stop and report
33 the blocker; do not retry, resubmit, or create a second concurrent path for
34 the same work.
357. Execute a repair command only when trace evidence supports it and the user
36 supplied maintenance intent:
37 - `ccb repair retry <job_id|attempt_id>`
38 - `ccb repair resubmit <message_id>`
39 - `ccb repair ack <agent_name> [inbound_event_id]`
408. After repair, re-run trace and queue/inbox checks. Success means the new or
41 repaired lineage is queued/running/completed as intended, the old duplicate
42 path is cancelled or terminal, and no unexpected pending reply remains. Hand
43 work back to the original target agent unless the user explicitly retargets
44 it.
45
46## Decision Rules
47
48- Prefer `repair retry` when the same target and same work should run again
49 after incomplete, failed, or recoverable execution.
50- Prefer `repair resubmit` when the old execution lineage is stale,
51 context-corrupted, or semantically wrong but the user still wants the task
52 attempted.
53- Prefer `repair ack` only for bad acknowledgement/progress state after a reply
54 has been accepted.
55- For `project_shutdown` lineage, do not use `ack`. Explain that the project
56 stopped the old execution. Prefer `repair resubmit <message_id>` when the
57 user wants fresh work because `repair retry` is usually invalid after project
58 shutdown. Use `repair retry <job_id|attempt_id>` only when trace explicitly
59 proves the job completed before shutdown and the reply is intact.
60- Handoff to `ccb-self-recover` only when trace proves process/context/pane
61 replacement is required.
62- Handoff to `ccb-self-diagnose` when the target id is ambiguous or runtime
63 state is too uncertain to pick a lineage repair.
64
65## Artifact Rules
66
67Artifact-backed replies are full-text authority for the reply content. Inline
68previews are hints only.
69
70When a reply says "read the full text file above before acting":
71
721. Open the path.
732. Verify it is complete enough for the requested decision.
743. If expected checksum/bytes are available, compare them when cheap.
754. Only then summarize or act.
76
77If the path is missing or expired, say that the artifact content is unavailable
78and choose no mutation unless the user provides the full content again.
79
80## Red Lines
81
82- Do not run `ccb restart`, `ccb clear`, or `ccb reload` as the first response
83 to a lineage problem.
84- Do not treat queue/inbox observer snapshots as terminal authority for
85 completed lineage; use `ccb trace <id>`.
86- Do not repair from artifact preview text alone.
87- Do not retarget work to another agent unless the user asks for that.