Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Produce one revision-fenced Planner backfill proposal for either a Detailer replan or task-set closure, with compact Frontdesk status evidence.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 90% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 157% | 0% |
Use this output contract only when the controller activation mode is exactly one of detailer_replan or task_set_closure. Initial intake remains owned by planner-task-packet. Return one proposal for one activation; never combine the two modes or substitute one mode for the other.
detailer_replanUse only the controller-provided task identity and task revision, expected PlanTree revision, closure evidence digest, accepted facts, and supplied Detailer/user macro-adjustment evidence. Copy those authority fields and evidence refs exactly; do not read or infer unsupplied state.
Preserve accepted facts. Then return a complete replacement macro proposal for the task: it invalidates and replaces the old orchestration semantics rather than continuing, replaying, or patching the prior orchestration bundle. Do not lower acceptance criteria. The proposal mode must be exactly detailer_replan; it must never masquerade as task_set_closure.
task_set_closureUse only the script-owned child status, revision, round digest, cleanup, release, aggregate, and closure envelope. Preserve the task-set aggregate, closure, and Frontdesk-status rules below. The proposal mode must be exactly task_set_closure; do not treat a closure as a Detailer replacement proposal.
detailer_replan: validated Detailer macro-impact and user evidencetask_set_closure: validated child round, release, cleanup, aggregate,and closure evidence
closure_evidence_digest and ordered evidence refstask_set_closure: script-owned closure_ref with its canonicalproject-relative closure path
Do not run shell commands, file reads/searches, tests, builds, CCB commands, or notification commands. Use only the compact authority envelope in the prompt.
Planner decides:
Roadmap ordering, or only local implementation detail;
macro request is terminal;
Planner does not decide whether child evidence, cleanup, release, identity, or revision checks passed. Those are controller-owned input facts.
Return exactly this one fenced section and no alternative authority shape. Set mode to the exact activation value, never a selector or placeholder.
For detailer_replan, emit this legal identity/result core (all remaining fields use the same schema fields shown below):
json{"schema":"ccb.planner.backfill_proposal.v1","mode":"detailer_replan","expected_plan_revision":"<controller expected_plan_revision>","task_or_task_set_id":"<controller task_id>","task_or_task_set_revision":<controller task_revision>,"closure_evidence_digest":"<controller closure_evidence_digest>","aggregate_result":"replan_required","result":"task_set_replanned","evidence_refs":["<controller ordered evidence ref>"]}
For task_set_closure, emit this separate legal core:
json{"schema":"ccb.planner.backfill_proposal.v1","mode":"task_set_closure","expected_plan_revision":"<controller expected_plan_revision>","task_or_task_set_id":"<controller task_set_id>","task_or_task_set_revision":<controller task_set_revision>,"closure_evidence_digest":"<controller closure digest>","aggregate_result":"<controller aggregate_result>","result":"<mapped controller result>","evidence_refs":["<controller ordered evidence ref>"]}
`markdown**planner-backfill.json**
{ "schema": "ccb.planner.backfill_proposal.v1", "mode": "detailer_replan", "expected_plan_revision": "sha256:<64 lowercase hex>", "task_or_task_set_id": "stable-id", "task_or_task_set_revision": 1, "closure_evidence_digest": "sha256:<64 lowercase hex>", "aggregate_result": "replan_required", "result": "task_set_replanned", "brief_summary": "durable compact summary", "roadmap_transitions": ], "todo_transitions": ], "decision_refs": ], "open_question_refs": ], "evidence_refs": ], "accepted_scope": ], "unresolved_scope": ], "blockers": ], "replan_inputs": ], "next_milestone": { "kind": "selected|workflow_terminal|blocked_none", "ref": "stable-milestone-ref", "rationale": "semantic reason" }, "frontdesk_notification_required": true, "frontdesk_status": { "schema": "ccb.planner.frontdesk_status.v1", "notification_identity": "stable-id", "aggregate_result": "replan_required", "accepted_scope": ], "unresolved_scope": ], "blockers": ], "next_milestone": { "kind": "selected|workflow_terminal|blocked_none", "ref": "stable-milestone-ref", "rationale": "semantic reason" }, "evidence_refs": ], "user_report_body": "factual user-facing report" } }
This skill carries two complete JSON exemplars: its templates/planner-backfill-detailer-replan.json file is only for detailer_replan, and templates/planner-backfill.json is only for task_set_closure. Neither exemplar authorizes emitting the other mode.
expected_plan_revision is a digest: copy the suppliedsha256:<64 lowercase hex> value exactly. Never convert it to a counter, infer a newer revision, or repair a stale value in provider prose.
task_or_task_set_id, task_or_task_set_revision,closure_evidence_digest, and the ordered supplied evidence refs exactly. detailer_replan uses the supplied task identity and task revision, never a task-set identity or an inferred replacement revision.
aggregate_result exactly. The completemapping is pass -> closure_complete, partial -> closure_partial, replan_required -> task_set_replanned, and blocked -> closure_blocked. Never output a complete semantic result for non-pass aggregate evidence.
task_set_closure: Treat closure_ref as script-owned input. Copyclosure_ref.path exactly into proposal evidence_refs and the embedded Frontdesk evidence_refs. Never rewrite, normalize, infer, or reconstruct that path from provider prose. Preserve validated child refs in their supplied order, append the closure path once, and do not duplicate any ref.
accepted_scope, unresolved_scope, blockers, replan_inputs, andevidence_refs from validated controller authority. Never invent accepted scope or pass from missing/nonterminal evidence. pass requires empty unresolved/blocker/replan fields. Every non-pass requires non-empty unresolved_scope; blocked requires blockers and replan_required requires replan inputs.
detailer_replan retains accepted facts but replaces old orchestrationsemantics. Do not replay, merge with, or claim continuity of the old bundle. A task_set_closure retains its aggregate and closure semantics. Never exchange those activation rules.
independent Planner actions.
revision_conflict and thesupplied current revision as a blocker.
milestone, and evidence refs byte-for-byte in frontdesk_status.
ccb.planner.frontdesk_status.v1 object under thesole frontdesk_status field, including when notification is not required.
decisions.
wait, watch, or downstream ask is allowed from this reply-only surface. The host validates and imports the proposal and owns every side effect.
Other measured skills in the registry, with their headline benchmark lift.