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/mifunedev/openharness/escalatenpx skills add mifunedev/openharness --skill escalategit clone --depth 1 https://github.com/mifunedev/openharnessWrote 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/mifunedev/openharness/escalate)<a href="https://agentmods.dev/skills/mifunedev/openharness/escalate"><img src="https://agentmods.dev/badge/skills/mifunedev/openharness/escalate.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.1 | $0.00162 | $0.01681 |
| Opus 5 | $0.00081 | $0.00840 |
| Sonnet 5 | $0.00032 | $0.00336 |
| Haiku 4.5 | $0.00016 | $0.00168 |
Grade A, and why
escalate scanned grade A with 1 finding 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 2d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
is passed to `curl` through a header file, never on the command line where How it starts
The opening of the file, as written. The whole thing — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Escalate
Send one escalation to the operator through the Slack gateway's channel. Use the bundled script; it is the only supported path and it works with no live agent and no attached terminal.
bash .oh/skills/escalate/scripts/escalate.sh \
--summary "<what happened, in one or two sentences>" \
--needs "<the decision only the operator can make>" \
--tried "<what you already attempted and why it was not enough>" \
--key "<stable-slug>" \
--link "<issue, PR, or log URL>"
When to escalate
Escalate only when the session is blocked on a human. The bar is a decision, not a status.
| Escalate | Do not escalate |
|---|---|
| A guard, cap, or permission refuses and only the operator can lift it | A task finished, or is progressing normally |
| An action needs consent the session cannot give — restart infrastructure, spend budget, publish externally, change identity | Something the session can fix, retry, or route around itself |
| A finding will silently rot if nobody sees it before the next run | A finding already captured where the operator will see it |
An escalation that names no decision is a log line. --needs is required for
exactly that reason: if you cannot state what the human must decide, you are
reporting, not escalating.
Rules
- Say what you already tried. An operator who cannot tell what was attempted
has to redo the diagnosis before they can act. Use
--tried. - Pass a
--keyfor anything recurring. The same key is suppressed for 12 hours (ESCALATE_QUIET_HOURS). A repeating session that escalates the same finding every run trains the operator to ignore the channel — theprompt-minercron sent the same escalation nine times before anyone acted. Use--forceonly when the situation genuinely changed. - Never assume delivery. Exit 0 is not proof. An unavailable channel is a
no-op, not an error: the script exits
0so a blocked session is not itself broken by a dead channel, and prints{"ok":false,"skipped":true,...}. Read.ok. When it is false the operator was not reached, and the session must surface it where a human will look — a PR comment,evidence.md. The script has already written the record for you (see below); it has not made anyone read it. - One escalation per blocker. Do not narrate a session in Slack.
- Read the reply channel honestly. This is one-way. The script delivers a message; it does not wait for or receive an answer. A session that needs an answer must stop and leave durable state, not poll.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 2d ago First seen · 133 lines · 162 tokens per session scan A ae1f0b7c8270
escalate is a skill published in the GitHub repository mifunedev/openharness (36 stars, last pushed yesterday), licensed Apache-2.0. It adds 162 tokens to every session and 1,681 once invoked, about $0.0008 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-04.
Other skills, from other repositories
briefing-quotidien
Trigger ONLY when the user explicitly asks for a "briefing" or a complete overview of their WHOLE day. Generates the full daily briefing: agenda, tasks, weather, emails and reminders — always ALL sections together. A request about one specific category or item (appointments, meetings, events, emails, tasks, weather …
coaching-productivite
Provides productivity coaching with prioritization frameworks (Eisenhower, Pomodoro) and habit-building strategies. Use when the user asks for help organizing tasks, managing time, or improving productivity.
calendar-month
Displays a visual calendar of the current month (or a specified month) as an interactive HTML grid with weekday headers and highlighted current day. Use when the user asks to show the calendar of the month, the month at a glance, or a specific month's grid.
pomodoro-timer
Launches an interactive Pomodoro timer (work/break cycle) with an animated circular countdown. Use when the user asks to start a Pomodoro, a focus session, a 25/5 timer, or any timed work/break interval.
preparation-reunion
Prepares meeting materials by gathering calendar details, participant contacts, and recent email history. Use when the user mentions preparing for a meeting, reviewing attendees, or creating an agenda.
data-visualization
Use for creating publication-quality charts and multi-panel analysis summaries. Triggers when tasks involve visualizing data, plotting results, creating charts, or producing visual reports from analysis output.