Skip to content

Hermes Agent

Hermes Agent is Nous Research's open-source, model-agnostic agent. It reads the same SKILL.md format the Chronicle skills are already written in, so every Chronicle and research skill runs in Hermes unmodified — nothing is forked or rewritten for it.

There are two ways to get them, and one choice between them:

Both need the same API key as everything else here — see Authentication below.

Install from methodiclabs.ai

methodiclabs.ai publishes a well-known skills index, which Hermes' hub reads directly. Browse what's there, then install by name:

hermes skills search https://methodiclabs.ai
hermes skills install https://methodiclabs.ai/.well-known/skills/chronicle-status
hermes skills install https://methodiclabs.ai/.well-known/skills/chronicle-propose-experiment
hermes skills install https://methodiclabs.ai/.well-known/skills/synthesis

Installed skills land in ~/.hermes/skills/ and are available immediately as slash commands (/chronicle-status) and by intent. Update them later with:

hermes skills check     # what's changed upstream
hermes skills update    # pull those changes down

Note

The site hosts no skill content. It redirects each path to the raw file in methodic-research/skills, so what you install is exactly what's on main — there is no separate copy to fall behind.

Prefer this over hermes skills tap

A tap is one repository plus one base path, and tap add refuses a second entry for the same repo. The skills live under two roots, so a tap reaches the chronicle-* skills and can never reach the four research skills (synthesis, evaluate-results, literature-review, paper-authoring). The well-known index has no such limit.

Point Hermes at a checkout

Better when you're editing skills, or want to track main without reinstalling. This registers the checkout with Hermes rather than copying anything into ~/.hermes/skills/:

git clone https://github.com/methodic-research/skills.git
python3 skills/hermes/install.py

That writes two things into $HERMES_HOME/config.yaml (default ~/.hermes): both skill directories under skills.external_dirs, and the bundled Chronicle MCP server under mcp_servers. Every skill then loads from the checkout, and git pull is the whole update path.

The installer is idempotent, backs the config up before writing, and preserves your comments when ruamel.yaml is importable:

Flag Effect
--print Print the YAML and exit — change nothing
--no-mcp Register the skills only, leave mcp_servers alone

Which route

Install from the site Point at a checkout
Setup One command per skill Clone + one command, once
Updates hermes skills update git pull
Editing skills locally No — installs a copy Yes, edits are live
Needs a checkout No Yes

Both give you the same skills, and they can coexist — Hermes scans ~/.hermes/skills/ and every configured external directory.

Configuration reference

To wire it by hand instead of running the installer:

skills:
  external_dirs:
    - /path/to/skills/skills
    - /path/to/skills/research-plugin/skills

mcp_servers:
  chronicle:
    command: sh
    args: ["/path/to/skills/mcp/launch.sh"]

Relative external_dirs entries resolve against $HERMES_HOME (not the working directory), and ~ plus ${VAR} are expanded. Restart Hermes afterwards, then confirm with hermes skills list.

The Chronicle MCP tools

The mcp_servers.chronicle entry above starts the same zero-dependency MCP server the Claude Code plugin runs, exposing the chronicle.* tools — internal search, experiment create/read/commit, lifecycle, report write-ups, dataset and image upload, ACL management, run-log search.

It reads the same ~/.methodic/credentials.yaml as the CLI and SDK, so there is no key to paste into a Hermes config file. The launcher probes for node ≥ 18, then bun, then python3 ≥ 3.8, so a Python-only machine needs nothing extra.

If you installed skills from the site rather than a checkout, add the mcp_servers block by hand (the launcher ships with the repo) — or point Hermes at the remote HTTP server instead.

Authentication

Identical to every other surface: create an API key in the Methodic UI and run the one-line setup it shows, which writes ~/.methodic/credentials.yaml. See Authentication for the full resolution order and every environment variable.

Caveats

  • Long descriptions are truncated. Hermes caps a skill description at 1024 characters and truncates rather than rejecting. A few Chronicle skills exceed that, so the tail of their trigger text is clipped in Hermes' index. They load and work normally.
  • The MCP launcher needs a POSIX sh. On bare Windows, use WSL, or point Hermes at the remote HTTP MCP server.
  • Skill names are the install identifiers. They keep their chronicle- / methodic- prefixes so they don't collide with other publishers' skills in Hermes' shared hub.

The full skill list lives in the skills repo README.