Skip to content
Agentmart
Submit a tool

warp-alarm

Raise, record, and clear Warp alarms when a PR cannot pass Bugbot, a lock is escaped, or a ticket is stuck.

Skill by smlsr

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/smlsr-warp-alarm

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Raise, record, and clear Warp alarms when a PR cannot pass Bugbot, a lock is escaped, or a ticket is stuck. Use for failed reviews and manual intervention.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/warp-alarm

What's inside

Skill name
warp-alarm
Description
Raise, record, and clear Warp alarms when a PR cannot pass Bugbot, a lock is escaped, or a ticket is stuck. Use for failed reviews and manual intervention.
License
MIT
Instructions
31 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Warp alarm

An alarm stops the ticket. It does not stop the program unless the ticket is on the critical path and the user pauses.

## Raise

```bash
python3 <plugin>/scripts/beam.py set --beam .warp/beam.json \
  --id C-30 --status alarm --alarm "bugbot-failed after 3 attempts"
```

Herald posts id, reason, PR url, last Bugbot line, and `warp:retry <id>`.

## Reasons

| Reason | Typical cause | Human move |
|---|---|---|
| `bugbot-failed` | AC still red after maxFixAttempts | Fix notes, then `warp:retry` |
| `lock-escape` | Diff left the lock paths. The Shuttle stores those paths on `escaped`. | The parent tick repairs this one. It widens that ticket's locks to the escaped paths, one ticket at a time. The listener does not start the repair Agent. It does not take a path an in-flight ticket holds. |
| `stuck` | No beam update past stuckAfterMinutes | Reattach or retry |
| `worker-died` | Shuttle heartbeat older than staleMinutes, and maxRecoveries is spent | Read the branch, then `warp:retry` |
| `ci-red` | Pipeline red with no agent left | `warp:retry` after the cause is known |
| `gate-red` | Gate checks failed | Fix on the member branch; do not retry dependents |

## Clear

`warp:retry <id>` works on any ticket that is not merged or done, whatever its state (parked, alarm, blocked, stalled, in flight). With an open pull request it goes back to `fix` on the same branch and the next pass starts a fix Shuttle; without one it is `queued` and its next claim reuses the branch. Either way the old Shuttle is ended, the alarm is cleared, and the fix, stall and recovery counts start again (the old counts are kept on `retryLog`). The one channel listener acks it in channel (`Received warp:retry <id>. Sending <id> back to fix on its pull request (was <status>).`, or `Requeueing <id> (was <status>).`) before that change. `warp:proceed <id>` is only for a size not in `autoMergeSizes` whose Bugbot pass and green CI are already on the beam, not for a red one.

`alarm_repair.py` repairs only `lock-escape`, up to `maxAlarmRepairs`, by widening the lock to the paths that escaped. `orchestrator.py supervise` runs that repair when `checkout.py verify` raises `lock-escape`, then reruns the Shuttle. The same pass restarts a `worker-died` step, starts a fix Shuttle for `ci-red` and `bugbot-failed`, and restarts `stuck` up to `maxRecoveries`. `gate-red` stays on the gate. After `maxFixAttempts` the ticket is `parked`. `warp:retry` is the way to start it again.

From smlsr/Warp, MIT.

More from smlsr/Warp

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Oct 13, 2026 (16 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from smlsr

Cite this page

warp-alarm skill. Agent Mart. https://agentmart.dev/skills/smlsr-warp-alarm (last updated 2026-10-24)