📈 GH Trending Explorer 🎲 Surprise me

← all repos

100yenadmin / hermes-teammates

git clone https://github.com/100yenadmin/hermes-teammates.git v1.1.0 · 3d ago

Named subagent teammates for Hermes Agent: an operator-defined roster, context-carried follow-ups, live steering and a Kanban teammates lane. Stock Hermes; no patched core.

+-4
stars, 24h · #62,169
+~0
stars, 7 days · #44,938
+85
stars, 30 days · #8,143
85
★ total
3
forks · 9 open issues

Star history (as recorded here)

2026-10-20 · 85 ★ 2026-10-23 · 85 ★
LanguagePython
LicenseMIT
Created2026-10-05 (18d ago)
Last push3d ago
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
# Hermes Teammates
**Named subagent teammates for Hermes Agent.**
You define a small roster of teammates (a reviewer, a scout, a test-writer), each with its own instructions,
toolsets and model. Your agent hands them work, checks on them, steers them mid-run, follows up with the context
of earlier assignments, and can work a Kanban lane with a review handoff.
Stock Hermes; no patched core. It uses the public plugin subagent lifecycle API (`ctx.subagent_lifecycle`).
- **For:** people who already delegate with Hermes and want the same specialists every time, without rewriting
 the brief, and with a durable record of what each teammate did.
- **Not for:** DAG workflows with gates and fan-out. Use
 hermes-workflows for those. Teammates is about who does the
 work; workflows is about the shape of a long job.
## Screenshots
| Roster | Two teammates in parallel, one working a Kanban card |
|---|---|
| | |
| **Results; the card moved to review** | **`/teammates` in any chat** |
| | |
## How it works
 [code] 
1. You define teammates in config. The model only ever picks a teammate **name**; you decide what that name
 means.
2. `teammate_assign` launches a subagent through `ctx.subagent_lifecycle` and returns a `run_id` at once. The
 teammate's instructions travel in its context. Its toolsets can only narrow the parent's, never widen them.
3. `teammate_check` reports status, or waits up to 60 s and returns the result. Every run is recorded in a
 per-profile SQLite ledger (` /plugin-data/hermes-teammates/data.db`). Results of plain runs are
 saved when the child finishes, even if you never call `teammate_check`.
4. `follow_up: true` gives the teammate a bounded digest of its earlier assignments in this conversation, so it
 picks up where it left off.
5. `teammate_message` steers a running teammate. The text lands at its next step, without stopping it.
 `teammate_stop` records accepted stops; completions after the stop stay cancelled and block their Kanban card.
 Refused cancellations leave completed work intact.
6. **Kanban teammates lane.** Assign cards to the `teammates` lane, which is not a Hermes profile, so the
 dispatcher leaves them alone. `teammate_assign(kanban_task=…)` claims the card and keeps the claim alive while
 the teammate works. On success the card moves to **review** with the teammate's summary; on failure it is
 **blocked** with the reason. You, or your agent, accept or request changes with the usual Kanban tools.
## Install
 [code] 
Then restart the gateway (or the CLI session) so the tools register.
## Configure
**In Hermes Desktop** (0.21.5 or newer), open the plugin's settings. On current builds they are under
**Settings ▸ Plugins**; on 0.21.5 they open inline from the plugin's row under **Capabilities ▸ Plugins**.
| Setting | What it does | Valid values (invalid teammates are refused; other settings fall back to defaults) |
|---|---|---|
| **Teammates** | Your roster, as a JSON object (example below) | Names: lowercase letters, digit