oh-my-hermes is an operating layer for Hermes Agent that organizes requests into workflows for planning, research, creation, coding handoffs, operations, and project memory. Hermes users run these workflows through the desktop app, CLI, or messenger app, while the catalogue add-ons extend its native capabilities.
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 skills add rlaope/oh-my-hermes --skill omh-agent-instructionsgit clone --depth 1 https://github.com/rlaope/oh-my-hermesWrote 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/rlaope/oh-my-hermes/omh-agent-instructions)<a href="https://agentmods.dev/skills/rlaope/oh-my-hermes/omh-agent-instructions"><img src="https://agentmods.dev/badge/skills/rlaope/oh-my-hermes/omh-agent-instructions/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/rlaope/oh-my-hermes/omh-agent-instructions"><img src="https://agentmods.dev/badge/skills/rlaope/oh-my-hermes/omh-agent-instructions.svg" alt="Reviewed on agentmods" width="80" 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.00098 | $0.01742 |
| Opus 5.5 | $0.00039 | $0.00697 |
| Sonnet 5.5 | $0.00020 | $0.00348 |
| Haiku 4.5 | $0.00010 | $0.00174 |
Grade C, and why
omh-agent-instructions scanned grade C 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 3d 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.
Hidden instructionshighPrompt injection
Directives inside HTML comments, invisible characters or bidirectional overrides are read by the model and not by the person reviewing the file.
- instruction_region_update/v1 replaces only the text between `<!-- omh:agent-instructions:begin -->` and `<!-- omh:agent-instructions:end -->`, and inserts the markers once when absent, so every hand-written section out How it starts
The opening of the file, as written. The whole thing — 137 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Agent Instructions
This is an OMH agent-instructions workflow skill, projected for Agent Skills hosts (Claude Code, Codex, Cursor, opencode, OpenClaw, pi).
Why This Exists
agent-instructions exists because the file every handoff target reads first had no owner: rules-distill extracts rule candidates, codebase-onboarding builds a human reading path, and context aligns terminology, and each reads that file without writing it.
First Steps
- List every instruction file and which agent reads it before proposing a section.
- Run or ask for the observed run of each command before marking it verified.
Do Not Use When
- The ask is distilling repeated lessons into reviewed rule candidates; use
omh-rules-distill. - The ask is a reading path through the codebase for a new engineer; use
omh-codebase-onboarding. - The ask is project terminology alignment -- reviewing the terms this project uses and correcting inconsistent vocabulary; use
ulw-context. - The ask is user-facing product documentation; use
omh-docs.
Examples
Good example:
- Prompt: update our CLAUDE.md
- Expected behavior: Inventory the instruction files, run or collect each build and test command, mark each verified or unverified, and replace only the marked region with the commands, the generated-file map, the gates, and the costed pitfalls, refusing any count or line number.
- Why: An instruction file that states an unrun command or a stale count sends every later agent the wrong way.
Bad example:
- Prompt: add that the suite has 4,100 tests and the router is at line 212 of chat.py
- Expected behavior: Refuse both values, and write the command that counts the tests and the symbol that locates the router instead.
- Why: Both numbers were already wrong by the next merge.
Completion Checklist
- Every instruction file and its reader are listed.
- Every command is marked verified with an observed run, or unverified.
- Only the marked region changed, and hand-written text is byte-for-byte.
- No count, line number, or value the code already states was written.
- Every generated file names its source, its regenerate command, and its gate.
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.
- 3d ago Changed · +1 lines 5232de7e1823
- 16d ago Changed · +3 lines b3201fb1d915
- 18d ago First seen · 133 lines · 98 tokens per session scan C bbd7dbc19e18
omh-agent-instructions is a skill published in the GitHub repository rlaope/oh-my-hermes (3,392 stars, last pushed today), licensed MIT. It adds 98 tokens to every session and 1,742 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it C with 1 finding (hidden instructions). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-29.
Other skills, from other repositories
managing-mcp-servers
Use when the user asks to add, change, remove, enable or disable an MCP server, or when an MCP tool is missing, needs sign-in, fails, or was blocked. ThinkRail runs pi in-process, so there is no pi command to call.
story-long-analyze
A structured process for deeply analysing a long online novel, starting with its opening three chapters and continuing chapter by chapter.
story-review
A review process for finding problems in a novel’s structure, characters, wording, and world rules. It can use several reviewers or one reviewer when others are unavailable.
browser-cdp
Use this skill when you need to control a Chrome browser via CDP (Chrome DevTools Protocol) to reuse existing login sessions. Covers: launching Chrome in debug mode, opening URLs, waiting for page load, evaluating JavaScript, taking snapshots, and extracting auth tokens. Trigger phrases: browser automation, CDP…
todos
Use when the user asks for a shared plan, a task needs at least three substantive execution steps, or a loose TODO is pending. Without an explicit plan request, not for one-shot answers or checks, or one- to two-step work that is not already in the list.
asking-user-questions
Use when composing an askuserquestion round inside a workflow, or when a workflow skill names it at a question step. Shared norms for the tool — not a workflow, nothing to execute.