bmad-loop-resolve

Resolves CRITICAL escalations in paused bmad-loop runs by updating frozen specs interactively.

Updated Mar 1, 2026
One-click install
npx skills add https://github.com/Hexalith/Hexalith.Parties --skill bmad-loop-resolve-hexalith
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bmad-loop-resolve
Source: https://github.com/Hexalith/Hexalith.Parties/tree/main/.agents/skills/bmad-loop-resolve
Command: npx skills add https://github.com/Hexalith/Hexalith.Parties --skill bmad-loop-resolve-hexalith

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When an automated bmad-loop run pauses because a dev or review session hit a CRITICAL escalation — a contradiction or gap in the frozen spec it could not safely resolve alone — this Skill provides an interactive session to disambiguate the spec with a human and unblock the run. ## Core Features & Use Cases - Escalation triage: Reads the orchestrator-written context.json to present recorded escalations, the frozen spec, and the pause reason to the human with concrete resolution options. - Frozen spec correction: Amends the <frozen-after-approval> block and acceptance criteria so a fresh dev session has exactly one correct reading, then writes a resolution.json marker so the orchestrator can re-arm the story. - Worktree and sentinel handling: Correctly routes spec edits based on spec_reaches_the_redrive and redrive_base_ref, handles review-stage intent-gap patch restores, and resolves stories-mode sentinels and ambiguous story-file matches. - Use Case: A review session escalates because the spec is silent on empty-list behavior for a CLI command; you invoke this Skill, review the saved patch as evidence, agree with the human on the intended behavior, amend the spec, and record the resolution so the run resumes. ## Quick Start Invoke the skill with /bmad-loop-resolve <story-key> after a bmad-loop run pauses on a CRITICAL escalation, then read the resolve context file it points to.

Frequently Asked Questions about bmad-loop-resolve

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I resolve a paused bmad-loop run after a CRITICAL escalation?

Invoke /bmad-loop-resolve with the escalated story key, read the context.json at $BMAD_LOOP_RESOLVE_CONTEXT, present the escalation evidence and options to the human, amend the frozen spec with the agreed decision, and write the resolution.json marker so the orchestrator can re-arm the story.

What is the difference between bmad-loop-resolve and automated dev or review sessions?

This session is interactive: a human is present and the skill is expected to ask questions and present options. The automated dev/review sessions run with never-ask rules, while this session exists precisely to get a human decision on ambiguities automation could not resolve.

Why did my spec edit not reach the re-drive after resolving an escalation?

When spec_reaches_the_redrive is false, the edited spec lives in a discarded worktree. If redrive_base_ref names a branch, the correction must be committed on that branch; if it is HEAD, the edit must be re-applied uncommitted in the main checkout.

When should I include restore_patch in the resolution marker?

Include restore_patch only when a review-stage intent-gap escalation saved a patch, restore_supported is true, and the human confirms the attempted implementation was correct. Omit it when the attempted reading was wrong or when resolution commits overlap the patch's files.

Can bmad-loop-resolve implement the fix or commit code itself?

No. The skill only edits spec content and writes the resolution marker. It must not implement features, run tests, commit, change sprint-status.yaml, or set the spec status field; the orchestrator handles re-arming and re-dispatch deterministically.

What happens if an escalation cannot be resolved in the session?

If the human defers or the fix requires out-of-scope changes like a PRD or architecture update, do not write the resolution marker. Exiting without it leaves the story escalated and the run paused, which is the safe default.