protean-edu

Hermes Agent plugin

Learn to read the code your agents write.

protean-edu is a teaching plugin for Hermes. /edu on starts plain-word lessons for a non-technical user: what the agent decided, why it matters, and one check to run yourself.

The plugin explains decisions and names checks. It never does the work. The agent keeps working. The lessons are the point.

v0.1.0 stdlib only · zero dependencies no LLM · no network · no shell off by default catalog entry pending, install from source

01Install

Install from the repo, enable it, start a new Hermes session. Plugin commands load at startup.

hermes plugins install aska-digital/protean-edu
hermes plugins enable protean-edu

The Hermes catalog entry is a later stage (contract §10), so install from source for now. Platforms: anything running Python 3.11 or newer. Configuration: none.

The lessons themselves are a separate curriculum stage and are not written yet. Until they are, /edu next says so instead of inventing one.

02How it works

One slash command, six subcommands. Each lesson is a static markdown file, found by sorting a directory. Nothing is ever generated or invented.

CommandDoesWrites
/edu onTurns teaching on for this profile. Keeps your level and lesson.enabled = true
/edu offTurns teaching off. Your agents keep working. The lessons stop.enabled = false
/edu statusShows whether teaching is on, and which lesson you are on.nothing
/edu nextShows the current lesson and its Proof Run. Run it again with yes to advance.on yes: level + 1
/edu reviewShows the current lesson's title, why it matters, and its Proof Run. Read-only.nothing
/edu helpShows this list.nothing

lessons/

Static lesson files

One file per lesson, NNN-slug.md, with five required headings: why it matters, the idea, the check, and what comes next. Finding a lesson is a directory sort, never a model call.

injection

A nudge, not a lecture

While teaching is on, a short reminder (at most 160 characters) is appended to your latest message: the current lesson and its check. Nothing else. Off, and it appends nothing.

state

One small file

Progress lives in a single JSON file under your Hermes home: on or off, your level, your lesson. Turning teaching off never wipes it. A fresh install behaves exactly like Hermes without the plugin.

03The review gate

Each lesson names its Proof Run: rerun the exact thing the agent claims to have done, with your own eyes. Compare what actually happens to what the agent said would happen. A claim is not proof. The output of running it is.

/edu next
Lesson 1: Reading a diff
Proof Run — Open the file the agent says it changed and read the diff.
When the check passes, run: /edu next yes

The gate is honor-based, by design. The plugin cannot watch your screen, run shell, or make a network call, so it cannot verify you ran the check. Typing yes is your own hand on the record. The plugin never presents that attestation as verification, and it never will: adding proof would need access the contract forbids.

04Safe by design

The contract binds the plugin to three public surfaces and forbids everything else. The full list is in docs/contract.md.

05Source

The whole plugin is one module, one manifest, and one test file. Small enough to read in one sitting.

protean-edu/
├── __init__.py            # the plugin: command, lesson parser, injection hook
├── plugin.yaml            # manifest
├── docs/
│   ├── contract.md        # the locked build contract (single source of truth)
│   └── design-notes.md    # deliberate decisions, recorded so they stand
└── tests/
    └── test_edu_command.py  # 26 tests
← Back to Aska Digital

Built by Aska Digital