╔═══════════════════════════════════════════════════╗
║ ║
║ W I Z A R D S O F T H E G H O S T S ║
║ ║
║ 123 spells for the ghost in the machine ║
║ ║
╚═══════════════════════════════════════════════════╝
Unofficial Hermes Agent skill pack built from fantasy spell and skill names.
Not affiliated with or endorsed by Wizards of the Coast.
┌────────────────────────────────────────────────────────────────────┐
│ Simulation (8) Investigation (29) Actions (19) │
│ Influence (18) GHOST IN THE MACHINE Monitoring (17) │
│ Containment (10) Repair (13) Messaging (9) │
└────────────────────────────────────────────────────────────────────┘
wizardsoftheghosts turns public fifth-edition spell and skill names into a product-shaped Hermes skill pack for investigation, automation, monitoring, messaging, repair, staging, and tightly scoped intervention.
npm run expand:blueprints
npm run build:skills
npm run wizard:installThat builds the generated surfaces and mirrors them into workspace-local Hermes and OpenClaw homes for testing.
Or install the Hermes surface into your default Hermes home:
npm run install:hermes-skillsOr install the OpenClaw surface into a workspace-local Codex/OpenClaw home:
CODEX_HOME=$PWD/.codex npm run install:codex-skills- Hermes discovers installed skills from
~/.hermes/skillsor$HERMES_HOME/skills;npm run install:hermes-skillscopies the generated docs there. - The installable Hermes surface lives in
generated/hermes/. Those files are procedural markdown with YAML frontmatter, not executable plugins by themselves. - Most of this pack is best used as reasoning, investigation, planning, triage, or operating-mode scaffolding inside a normal Hermes session.
- In practice, skills like
detect-magic,mage-hand,zone-of-truth,feather-fall, andunseen-servantwork especially well as direct Hermes prompts. - After install, every spell is also available as a
/slash-commandin Claude Code (e.g./forcecage,/true-seeing). - Some skills mention env vars, APIs, or external systems, but this repo does not currently ship a dedicated Hermes integration layer for Home Assistant, Slack, or other services. Those procedures become real only if your Hermes environment already has the matching tools, credentials, and permissions.
123Hermes skills drawn from128public canon names (109spells,19skills)8Hermes shelves for progressive discovery instead of one giant list10featured entry points plus8intent-driven browse paths on GitHub- public low-risk Hermes surface with
5refused coercion and memory spells kept off release
| 🔗 Attune — Bond this spellbook to your workflow so every spell knows your stack, your tools, and your priorities. | 🔮 Detect Magic — Surface hidden AI affordances, agents, automations, and tool hooks before acting. |
| 🔍 Identify — Explain what a mysterious file, service, workflow, or artifact actually does. | 🗺️ Comprehend Languages — Translate code, jargon, protocol surfaces, or human language into operational meaning. |
| 🕵️ Investigation — Follow evidence through a system until the hidden mechanism becomes legible. | 🖐️ Mage Hand — Manipulate files, records, and lightweight system state with precision and minimal blast radius. |
| 🔒 Forcecage — Contain untrusted code, agents, or operations inside a tested cage before anything leaves it. | 🛡️ Glyph of Warding — Set monitors, watches, or trigger conditions that alert when a boundary is crossed. |
| 🌙 Dream — Deliver the briefing before the recipient wakes up needing it. | 🪂 Feather Fall — Turn a hard crash into a controlled descent. |
Recent GEPA upgrade: Forcecage was promoted after a Codex-backed spell-level run improved full eval from 61.8% to 89.3% (+27.5pp). The upgraded copy is sharper about tested containment boundaries, outside-the-cage observation, and explicit release conditions before anything descends.
Need badges, browse paths, or the bigger picture? Open GRIMOIRE.md for the full browse layer.
| If you want to... | Start here | Hermes shelf |
|---|---|---|
| Figure out what you're looking at | Detect Magic, Identify, Investigation, Comprehend Languages | Investigation and Preparation (29) |
| Change the system without a battleaxe | Mage Hand, Sleight of Hand, Unseen Servant, Awaken | Actions, Access, and Automation (19) |
| Light up the black box | Dancing Lights, Light, Glyph of Warding, Scrying | Monitoring and Protection (17) |
| Get the right message to the right place | Message, Sending, Dream, Magic Mouth | Messaging and Coordination (9) |
| Stop the bleeding | Cure Wounds, Mending, Feather Fall, Animal Handling | Repair and Recovery (13) |
| Mock it before you ship it | Minor Illusion, Major Image, Deception, Programmed Illusion | Simulation and Staging (8) |
| Handle people with care | Calm Emotions, Heroism, Fear, Plant Growth | Influence and Behavior (18) |
| Box in blast radius | Forcecage, Blindness/Deafness, Feeblemind, Power Word Stun | Containment and Intervention (10) |
- GRIMOIRE.md for the featured shelf, browse paths, and full linked category index
generated/hermes/<category>/<skill>/SKILL.mdafternpm run build:skillsfor the exact procedural skill docs Hermes installsgenerated/openclaw/for the separate OpenClaw-oriented output surface generated from the same source materialcatalog/blueprints.jsonplusscripts/render-skills.mjsfor the source-of-truth and renderer
Source of truth:
catalog/canon.jsoncatalog/blueprints.jsonscripts/expand-blueprints.mjsscripts/render-skills.mjs
Default workflow:
npm run sync:canon
npm run expand:blueprints
npm run build:skills
npm run export:linearOr:
npm run bootstrapnpm run verifynpm run verify checks the generated Hermes and OpenClaw surfaces, then performs sandbox installs into temporary Hermes and Codex homes so you can catch packaging drift before release.
The repo ships two Hermes routing paths under catalog/dspy/: a deterministic lexical baseline and an optional DSPy category router.
- Current held-out result:
95/104=91.3%with the Codex-backed DSPy router - Baseline comparison:
82/104=78.8%for the lexical router, a+12.5pplift for DSPy - Current scope:
8-way Hermes category routing from plain-English prompts into the right shelf - Optimized prompt core:
2bootstrapped few-shot demos selected by DSPy
This makes the pack materially easier to use from plain language. You no longer need to know the spell name first to land on the right shelf.
Spells that became more practically valuable once plain-English routing started working:
| 🌅 Awaken — Teach an old machine to answer back. | ⚡ Animate Objects — Give agency to passive data by attaching triggers, watchers, and autonomous update logic. |
| 🚪 Dimension Door — Jump cleanly between two known contexts without dragging the whole room. | 🔮 Foresight — Estimate likely outcomes before committing to a plan, change, or launch. |
| ⚜️ Symbol — Mark a resource with a named sigil that triggers automatic policy enforcement when conditions are met. | 📡 Project Image — Project a version of yourself into a place you cannot physically be. |
Set up the Python side in a repo-local virtualenv:
uv venv .venv
uv pip install --python .venv/bin/python -r requirements-dspy.txtBaseline-only flow:
npm run dspy:validate
npm run dspy:baselinePreferred DSPy flow:
export DSPY_MODEL=qwen/default
export DSPY_TEMPERATURE=0
export DSPY_MAX_TOKENS=256
bash scripts/dspy_full_run.shUse qwen/default to follow your local Qwen configuration, opencode/default to follow your OpenCode default model, or copilot/codex-5.3 to route through GitHub Copilot's working Codex lane. See catalog/dspy/README.md, docs/dspy-router-runbook.md, and BECOME-A-WIZARD.md for the exact runbooks.
The public Hermes surface intentionally refuses Compulsion, Dominate Monster, Dominate Person, Geas, and Modify Memory.
Original code and writing in this repo are released under CC0-1.0. That does not grant rights in Wizards of the Coast IP, trademarks, logos, artwork, or official rules text. This repo stays free, unofficial, and clearly separate from any official Wizards product line.
See LEGAL.md for the current fan-content and IP posture.