HA
handoff-routing-policy
Route the next allowed role after one explicit subAgent result, or stop, without encoding full workflows, registries, or runtime semantics.
Install
mkdir -p .claude/skills/handoff-routing-policy && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/13571" && unzip -o skill.zip -d .claude/skills/handoff-routing-policy && rm skill.zipInstalls to .claude/skills/handoff-routing-policy
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Route the next allowed role after one explicit subAgent result, or stop, without encoding full workflows, registries, or runtime semantics.139 charsno explicit “when” trigger
About this skill
Purpose
Choose the next route after one explicit subAgent result.
This skill works only after a real dispatch has already occurred and a result payload has been returned.
Trigger / When to use
Use this skill when:
- one explicit subAgent result has been returned
- the Observer is in
ROUTING - the result includes one frozen verdict value
Do not use this skill when:
- the task is still deciding whether to dispatch
- the task is to build the context package
- the task requires full workflow reconstruction or runtime orchestration logic
Inputs
result_role: one ofPlanner,Implementer,Reviewer,Correction Plannerverdict: one ofPASSPATCH_REQUIREDREPLAN_REQUIREDMISSING_EVIDENCEBLOCKED
- bounded evidence summary
- explicit blocker list, if any
- optional evidence owner for
MISSING_EVIDENCE
Process
- Confirm the result came from real dispatch rather than Observer simulation.
- Confirm the verdict is one of the frozen allowed values.
- If the result reveals runtime semantics, registry behavior, workflow binding, or another out-of-scope expansion, stop.
- Route by verdict without inventing a broader workflow model:
PASS: choose the next role only if one more bounded role handoff is needed; otherwise stopPATCH_REQUIRED: route toImplementerREPLAN_REQUIRED: route toCorrection PlannerMISSING_EVIDENCE: route only to the bounded role that can supply the missing evidence; if that owner is unknown, stopBLOCKED: stop unless a bounded route toPlanneris explicitly justified
- Emit exactly one next role or
stop, with a short factual reason.
Examples
- Positive: An
ImplementerreturnsPATCH_REQUIREDwith concrete bounded evidence, and the skill routes toImplementer. - Negative: A result says "probably approved" with no explicit verdict, and the skill refuses to invent one.
Outputs
next_role:Planner|Implementer|Reviewer|Correction Planner|stopreason: short factual reasonstop_condition:noneor exact blocker
Validation
Required Checks
PASS: the result came from real dispatch, the Observer is inROUTING, the verdict is exactly one frozen allowed value, and the skill returns exactly one allowednext_roleorstopconsistent with the stated verdict.BLOCKED: stop when the verdict is unknown, unstructured, or unsupported; when the evidence owner forMISSING_EVIDENCEis unknown; or when proceeding would require invented workflow state, registry behavior, runtime semantics, or a broader routing model than this skill allows.
Quality Checks (best effort)
SOFT FAIL: mark status asINCOMPLETEwhen the allowed verdict is clear enough to route or stop, but the bounded evidence summary or blocker detail is incomplete.- Under
SOFT FAIL, keep the routing decision within the frozen verdict set, state the missing evidence explicitly, and avoid inventing additional workflow state.
Failure Handling
Missing Context
- If the verdict is valid but supporting evidence is partial, return the bounded
best-effort route or
stopwith the limitation stated explicitly. - If missing context could reasonably change the next allowed role, mark the
result
BLOCKEDand stop.
Ambiguous Requirement
- If the returned result does not contain one frozen verdict value, do not infer or normalize it into the allowed set.
- If
MISSING_EVIDENCElacks a known bounded owner, stop instead of inventing one.
Execution Limitation
- If the request depends on hidden workflow state, file-path ownership, registry
identifiers, launcher-specific targets, or runtime orchestration details,
return
stoporBLOCKEDwith the limitation stated explicitly. - Do not fabricate broader workflow progression beyond the single returned subAgent result.
Boundaries
- Do not choose the initial dispatch role.
- Do not build the context package.
- Do not reconstruct the full existing workflow from a step artifact.
- Do not invent verdict values outside the frozen set.
- Do not emit registry identifiers, file paths, or launcher-specific targets.
Local references
examples.md: verdict-driven routing examples, including stop conditions for missing evidence and out-of-scope expansion