skills/orchestrate-recovery/SKILL.md
Failure paths: helper triggers, env blockers, loops, senior-dev escalation, review remediation, manual Task handoff.
npx skillsauth add roborew/opencode orchestrate-recoveryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Hard Rules live in the orchestrate agent markdown; this skill adds protocol detail only for recovery and escalation. Non-negotiables come from the agent, not from this file.
Load orchestrate-recovery when you are handling helper-driven recovery, environment blockers, loop/stall, senior-dev escalation (operator-triggered), review remediation artifact flow, or manual handoff (user pasted a report). For normal stage progression, grading, and completion gates, use orchestrate-execution (you may load this skill after execution skill in the same session when a failure path appears).
Invoke helper immediately when any occur:
blocker_code: ENV_BLOCKEDblocker_code: STAGE_STUCKDo not advance stages until helper updates are applied via scribe.
During stage execution, when developer reports STAGE_STUCK or repeated failures and the operator asks to escalate:
senior-dev via Task with artifact path, stage_id, and failure evidence (blocker report).handoff_to_developer: true when blocker is fixed.HANDOFF_TO_DEVELOPER, grade the report, then resume with developer for remaining stage work. Do not re-invoke senior-dev for the same stage.Do not use this confirmation flow for the hard Difficulty scheduled post-implementation review (see orchestrate-execution Difficulty-based completion gates).
Senior-dev is not auto-invoked for mid-stage work without operator request + user confirmation—except for the hard completion gate after all stages pass verifier.
If a subagent reports ENV_BLOCKED:
helper/scribe for artifact amendments—ask the user to remediate (see skills/worktree-env/SKILL.md for symlink issues), then re-Task worktree-env (if applicable) and developer (preflight) when the user confirms.helper to produce a minimal recovery/update strategy; use scribe to amend artifact IterationNotes and next-step tasks.Do not let subagents loop on runtime/toolchain commands when environment is mismatched.
When you receive a review artifact (.plan/review.<slug>.md) from architect with remediation tasks:
helperscribe to update existing .plan/review.<slug>.mdIf you receive the same or near-identical report from a child (scribe, developer, frontend-dev, ux-dev, verifier) 2 or more times:
BLOCKED (loop/stall), not PASS.helper immediately with loop evidence and request minimal recovery strategy.scribe to record the recovery amendment in the same artifact.When scribe returns path, operation, summary, and tool evidence of a successful write with no SCRIBE_FAILED, trust the write—do not re-read or list the directory by default. If the file is missing, evidence is absent, or scribe reports SCRIBE_FAILED: file not written, re-invoke scribe once with the same content and path. If still missing, treat as BLOCKED and invoke helper.
When developer repeats the same intent (e.g. "Let me create X") without new evidence, treat as stuck: halt, report to user, and do not re-invoke developer for the same stage without corrective feedback.
When developer emits repeated completion text without new evidence (for example repeating "tests pass" lines), classify as BLOCKED with reason LOOP_DETECTED and trigger helper path.
If the user reports that a subagent (developer, frontend-dev, ux-dev, scribe, verifier, helper, senior-dev) completed and produced a report but the Task did not return control:
orchestrate-execution (PASS/NEEDS_RETRY/BLOCKED).Do not ask the user to message the subagent again—the subagent has already completed. Accept the pasted report and continue.
tools
AI-powered code review using CodeRabbit CLI. Use only on explicit user request or when parent passes execution_mode orchestrate_coderabbit_gate. Do not run during orchestrated stage/issue work.
tools
Cross-repo companion to to-prd: after PRD frontmatter is filled, run bin/fanout <slug> from this spec repo to create child GitHub issues (one per ticket or legacy slice).
tools
Issue state machine — transition GitHub issue labels per docs/agents/triage-labels.md. Batch helpers via lib/triage.sh.
documentation
Synthesise a PRD from grill-me / research context, write docs/prd/<slug>.md, publish a GitHub issue with prd + state:ready-for-agent + feature:<slug>. Halt after publish — do not invoke fanout.