test(hermes): realign suite with the pre_llm_call mechanism; slim docs to the README section

The 20-test suite still exercised the dead on_session_start/inject_message
mechanism (17 failures against the rewritten plugin). Rewritten for the
real contract: pre_llm_call registration + first-turn-only context return,
register_skill receiving pathlib.Path (the conftest mock now raises on str,
mirroring hermes' AttributeError that silently disables a plugin), both
install layouts resolving skills, loud failure when skills are missing,
tool mapping sourced verbatim from hermes-tools.md, and a bootstrap-size
guard against hermes' 10k-char context spill threshold. 19 tests, passing.

Install docs collapse into the README section per maintainer direction:
docs/README.hermes.md and .hermes-plugin/INSTALL.md are gone; the README
carries the two-line install plus the compaction caveat. plugin.yaml
version aligned to 6.1.1.
This commit is contained in:
Jesse Vincent
2026-07-23 16:05:54 -07:00
parent 178528c03e
commit b6613057ae
7 changed files with 185 additions and 179 deletions

View File

@@ -1,29 +0,0 @@
# Hermes Agent
Superpowers supports Hermes Agent via an in-process Python plugin (Shape B).
## Install
```bash
hermes plugins install obra/superpowers --enable
```
## What you get
All Superpowers skills auto-trigger in Hermes sessions:
brainstorming before feature work, systematic-debugging on bugs,
test-driven-development for implementation, writing-plans before
touching code, and all other skills in `skills/`.
## How it works
The plugin registers an `on_session_start` hook with the Hermes plugin API.
At the start of each session, the hook injects the `using-superpowers` bootstrap
as a user-role message via `ctx.inject_message(role="user")`. A session-id guard
prevents double-injection if the hook fires more than once per session.
Skills are loaded on demand during the session using `skill_view("skill-name")`.
## Verifying
See `.hermes-plugin/INSTALL.md` for the smoke check and acceptance test.