Use when multi-bundle work remains after the current logical unit (including after a GitHub CI external event) and the next unit needs no new user choice or approval. Registers a durable bridge baton for the next authorized work bundle and ends the current turn cleanly.
Resources
1Install
npx skillscat add jinwon-int/ccc-node/bridge-yield-continue Install via the SkillsCat registry.
Bridge Yield and Continue
Finish and verify the current logical bundle before handing off.
Do not register while waiting on GitHub CI; use
gh-ci-waitfor that exact-head wait.If more already-authorized work remains after the current bundle or CI wake, register exactly one self-contained next bundle:
python -m telegram_bot.core.continuation_cli register \ --prompt "<next bundle, starting state, scope, and completion condition>"A concrete, self-contained prompt example (synthetic, illustrative — do
not run it; a fresh turn with no other context must be able to execute
it):Finish the authorized docs sweep in /work/sample-repo, bundle 2 of 2. Starting state: bundle 1 fixed guides/*.md and appended "guides done" to docs/sweep-status.md; reference/*.md is untouched. Scope: fix broken anchors and heading levels in reference/*.md, and append the completion record to docs/sweep-status.md. No other files are in scope. Completion condition: every reference/ page renders without anchor warnings, docs/sweep-status.md records "bundle 2 done", and the turn ends with a one-line summary.This shape matches the CLI's actual interface, verified against
bridge/core/continuation_cli.py(moduletelegram_bot.core.continuation_cli;--helpand source):registertakes a single--promptvalue, whichvalidate_promptrejects when empty or over 4,000 chars after whitespace
normalization; exit codes are 0 ok, 2 validation/usage, 3 when no single
active route exists (fail-closed), 4 queue error; output is one compact
JSON line. Keep the example's boundary in mind: registration only queues
work the turn was already authorized to do.Require
{"ok": true, "continuation_id": "..."}before claiming automatic continuation. A natural-language promise is not a baton.End the turn normally after registration so the bridge can start the queued autonomous turn. Do not keep the turn occupied with a foreground wait.
If registration fails, continue locally when feasible or state that automatic continuation is unavailable. Do not retry a route failure more than once.
Keep the prompt body-free and under 4,000 characters. Include no credentials, message bodies, or CI logs. Registration preserves the user's existing authorization; it never grants approval to merge, deploy, delete, or expand scope.
User controls remain authoritative: /stop cancels queued and running batons; /continue re-arms a cap-held baton.
Re-verifying the CLI contract
Step 4's success shape is the skill's whole mechanism — if it drifts, the baton
silently stops being a baton. The CLI is a separate component, so check it
rather than trusting this file:
grep -n '"continuation_id"' bridge/core/continuation_cli.py # the `_emit` success block
grep -n '"ok": False' bridge/core/continuation_cli.py # failure shapes, incl. route/queue errorsRe-verified 2026-09-10: continuation_cli.py emits {"ok": true, "continuation_id": ...} on success and {"ok": false, "code": ...} on
failure (validation, queue-error, and a route failure). If a check
disagrees, the CLI is authoritative — fix this file.