Use when a high-priority signal needs to reach the operator but doesn't fit the current conversation (off-hours wake, urgent error needing eyes, scheduled-tick discovery worth surfacing now). Routes via MIMIR_OPERATOR_ALERT_CHANNEL.
Scanned 9/1/2026
Install to Claude Code
npx -y skills add jasoncarreira/mimir --skill alert --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Alert?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/jasoncarreira-alert)More formats (shields.io, HTML) on the badges page.
---
name: alert
description: Use when a high-priority signal needs to reach the operator but doesn't fit the current conversation (off-hours wake, urgent error needing eyes, scheduled-tick discovery worth surfacing now). Routes via MIMIR_OPERATOR_ALERT_CHANNEL.
success_criteria:
# The skill's whole purpose is operator notification. If we load
# the SKILL.md but no send_message follows, the alert was computed
# but never delivered — drift, not failure.
any_of:
- tool_call:
name: send_message
---
<!-- desc: Route high-priority signals to the operator alert channel without cluttering the current conversation. -->
# Operator alert channel
If `MIMIR_OPERATOR_ALERT_CHANNEL` is configured, the system prompt's
Operator config section will name a channel id (e.g. `dm-slack-D05ABC` or
`dm-discord-NNN` — a DM *conversation* id, not a user id). Use it for high-priority signals to the operator that
*don't fit the current conversation*. If the line is absent, the feature
is off — fall back to your usual options (heartbeat backlog, the channel
you're already in).
## Use it for
- Critical errors you can't recover from on your own
- Urgent findings during a heartbeat the operator should know about now
- Dispatch failures or systemic issues that need human attention
- Time-sensitive escalations where the cost of waiting is high
## Don't use it for
- Routine updates ("I did a thing today")
- Status reports or check-ins
- Low-priority observations (those go in `state/heartbeat-backlog.md`)
- Anything that can wait for the next time the operator messages you
## How
The alert channel is a normal channel id — the registered bridge
dispatches by prefix. So just call `send_message` against it like any
other channel:
```
send_message(channel_id="dm-slack-D05ABC", text="...")
```
Make the message specific and self-contained. The operator may be
reading it out of context, so:
- Lead with what happened ("Discord dispatch failing for the past 4 hours")
- Include the key data ("DiscordError: Forbidden, ts: 2026-05-01T14:02Z")
- Say what you've already tried, if anything
- End with what you need from them, if anything
## Volume calibration
If you find yourself using this channel more than once a day, you're
probably misusing it — re-read the "Don't use it for" list. The signal
loses meaning when it goes off too often.
## When the channel is misconfigured
If `MIMIR_OPERATOR_ALERT_CHANNEL` points at a channel id no bridge
recognizes, `send_message` returns `is_error: true` and logs a
`send_message_unknown_channel` event in `events.jsonl` — but the
operator never sees the alert. There's no auto-fallback. Treat
silent loss as the failure mode and verify the channel id at
onboarding (the operator can `send_message` to it themselves to
confirm). If you observe `send_message_unknown_channel` events in
the algedonic feedback block, raise it as a real issue — the alert
channel itself has gone dark.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!