Hermes is now documented as one optional runtime adapter for Worker Patterns, not as the product boundary.
Use this page only if you want Hermes Agent to consume Worker Patterns plans through the CLI, MCP bridge, or optional skill.
The canonical Python package is worker_patterns. The older hermes_worker_patterns import path is kept as a temporary 0.1.x migration shim for existing integrations only. Public integrations should migrate to worker_patterns before the next breaking release.
While the shim remains, policy data is duplicated under both package names so installed compatibility imports keep working. Release checks must confirm those packaged policy files are synchronized; when the migration window closes, remove the shim package data and compatibility tests together.
- CLI: call
worker-pattern selectorworker-pattern render-execution-planand paste/use the output as context. - MCP: run
worker-pattern-mcpas a stdio MCP server and call its tools from a compatible Hermes profile. - Optional skill: install
skills/worker-patterns/SKILL.mdinto a Hermes profile if you want Hermes to remember the selector workflow. - Persistent profiles: map lanes to a caller-supplied worker roster when you explicitly want named persistent profile execution.
Worker Patterns owns:
- pattern selection;
- lane/profile hints;
- prompt rendering;
- dry-run execution-plan rendering;
- opt-in trace evidence.
Hermes owns:
- actually launching workers;
- coordinating long-running profiles;
- deciding whether rendered commands are safe;
- creating durable tasks;
- committing, pushing, publishing, or deploying;
- judging whether the final work is complete.
If a caller wants logical lanes mapped to concrete named workers, set:
export WORKER_PATTERNS_ROSTER_PATH=/path/to/workers.yamlWithout that variable, the selector keeps logical profile hints instead of guessing local profile names.
Worker Patterns should remain useful outside any single runtime. Do not add hidden dependencies on a local runtime home, profile directory, bot, task board, or private checkout. Runtime-specific behavior belongs in adapter surfaces or in caller-owned configuration.