Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/mmornati/leanproxy-mcp/bmad-loop-resolvenpx skills add mmornati/leanproxy-mcp --skill bmad-loop-resolvegit clone --depth 1 https://github.com/mmornati/leanproxy-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mmornati/leanproxy-mcp/bmad-loop-resolve)<a href="https://agentmods.dev/skills/mmornati/leanproxy-mcp/bmad-loop-resolve"><img src="https://agentmods.dev/badge/skills/mmornati/leanproxy-mcp/bmad-loop-resolve.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00097 | $0.01163 |
| Opus 5 | $0.00048 | $0.00581 |
| Sonnet 5 | $0.00019 | $0.00233 |
| Haiku 4.5 | $0.00010 | $0.00116 |
Grade A, and why
bmad-loop-resolve scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.
bmad-loop Escalation Resolution
A bmad-loop run drove a story through dev → review, a session raised a
CRITICAL escalation (work could not proceed safely — usually a contradiction
or an unanswered question in the frozen spec), and the orchestrator paused the
whole run for a human. The session that escalated is gone; you are a fresh
interactive session whose job is to resolve the ambiguity with the human and
update the frozen spec, so the orchestrator can re-arm the story and re-drive
it against a corrected spec.
This is interactive: a human IS present. Ask questions, present options,
recommend — but the human makes the call. ($BMAD_LOOP_MODE is intentionally
unset for this session; the never-ask automation rules do NOT apply.)
Identity & I/O contract
These environment variables are set:
$BMAD_LOOP_RUN_DIR— the paused run's directory.$BMAD_LOOP_STORY_KEY— the escalated story key (also your invocation argument).$BMAD_LOOP_RESOLVE_CONTEXT— path to acontext.jsonwritten for you.
Read $BMAD_LOOP_RESOLVE_CONTEXT FIRST. Its schema:
{
"story_key": "6-4-cli-list-command",
"run_id": "20260613-111429-6a14",
"spec_file": "/abs/path/to/_bmad-output/implementation-artifacts/spec-<story>.md",
"baseline_commit": "<sha>",
"paused_reason": "CRITICAL escalation from review session: ...",
"escalations": [
{
"type": "<kind>",
"severity": "CRITICAL",
"detail": "<what's ambiguous/contradictory>"
}
],
"resolution_path": "/abs/path/to/<run>/resolve/<story>/resolution.json"
}
Your output marker is the file at resolution_path. Writing it is the LAST
action of a successful resolution. Schema:
{
"story_key": "<key>",
"decision": "<one or two sentences: the rule you and the human chose>",
"spec_file": "<the spec you edited>",
"spec_updated": true
}
What you MUST do
- Read the context, then read the frozen spec at
spec_filein full — especially its<frozen-after-approval>block (the intent the dev/review sessions treat as authoritative). The escalation is almost always that this block is silent on, or contradicts, a case the implementation hit. - Present the escalation plainly to the human: what is ambiguous or contradictory, why it blocks safe implementation, and 2–4 concrete resolution options with a clear recommendation and its trade-offs. Keep it tight — quote the relevant spec lines.
- Get the human's decision. Ask follow-ups if the choice is unclear. Do not invent requirements; if the human is unsure, help them reason, don't guess.
- Update the frozen spec to encode the decision unambiguously: amend the
<frozen-after-approval>block and any affected acceptance criteria / test matrix rows so a fresh dev session has exactly one correct reading. Make the smallest change that removes the ambiguity. You MAY use thebmad-specorbmad-correct-courseskills if a larger spec change is warranted. - Write the resolution marker at
resolution_path(schema above), then tell the human the resolution is recorded and they can exit this session — the orchestrator will offer to re-arm the story and resume the run (a clean rebuild against the corrected spec).
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 101 lines · 97 tokens per session scan A 1993e42140a8
bmad-loop-resolve is a skill published in the GitHub repository mmornati/leanproxy-mcp (5 stars, last pushed 5d ago), licensed MIT. It adds 97 tokens to every session and 1,163 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
setup-slack-channel
Use for the PROVIDER half of getting a locally running CopilotKit Channels agent to answer in Slack, when no Slack app exists yet — setting up a Channels bot in Slack for the first time, creating the Slack app and its tokens, attaching it to a managed Intelligence Channel, or when a Channel reports setuprequired, sits…
copilotkit-channels
Use for the CODE half of a managed Intelligence Channel with Slack or Microsoft Teams: customising the Channel a CLI-scaffolded project already ships, or — for a project the CLI did not generate — writing the Channel declaration, the long-running host, and the awaited activation call. Teams provider setup is in scope…
channels-setup
Use when a developer wants to build their first CopilotKit Channels agent and get it answering in Slack or Microsoft Teams — "set up a channel", "connect my agent to Slack", "get my agent into Teams", or starting from nothing and wanting a working channel end to end. Covers the whole path: inspecting or scaffolding…
release-notes
Draft concise release notes.
anarlog
Query Anarlog meetings, notes, summaries, transcripts, participants, action items, and recurring history. Use when a user asks about their Anarlog meeting data or needs meeting context for another task.
gmail
Manage Gmail email — drafting, sending, organizing, filters, vacation replies, and inbox analysis.