<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap">

rafal@arasz:~$cat blog/hermes-agent-review.md

Hermes Agent: A Developer-First AI Agent with Deep Integration Hooks

How it compares to Claude Code

I have been running Hermes Agent (by Nous Research) alongside Claude Code for several months. Here is what I learned about its strengths, trade-offs, and why it became my primary agent for project work.

Claude Code is excellent at raw coding — fast completions, solid reasoning, tight Anthropic model integration. Hermes is built differently: it is designed as a customizable agent platform rather than a coding-first tool.

AspectClaude CodeHermes Agent
FocusRaw coding speedCustomizable agent workflows
ModelsAnthropic onlyAny OpenAI-compatible provider
Hook systemLimitedFull lifecycle hooks
Skill systemCLAUDE.md (every session)YAML frontmatter (on-demand)
Context efficiencyLoads everything each sessionLoads only relevant skills
IDE integrationTight (VS Code, Cursor)CLI-first

The hook system in detail

This is where Hermes pulls ahead. Claude Code has limited hook points for customizing agent behavior. Hermes exposes hooks at every stage of the agent lifecycle:

  • Update prompts dynamically: A user_prompt_hook can inject project-specific context before each user message.
  • Run scripts on events: session_start_hook, stop_hook, drift_notice_hook — each fires at a specific lifecycle point.
  • Compose agent workflows: The delegate_task tool lets you spawn subagents with isolated context, each inheriting your hooks and skills.
yaml
# Inject project context before each user message
user_prompt_hook:
  script: inject-project-context.sh

# Auto-setup on session start
session_start_hook:
  script: setup-dev-env.sh

Token-friendly skill design

Hermes skills follow a specific structure optimized for token efficiency:

  • YAML frontmatter with name, description, and trigger conditions — the agent reads this to decide if the skill is relevant before loading the full body.
  • Markdown body with numbered steps, exact commands, pitfalls, and verification steps — no verbose prose, no padding.
  • Linked files (references, templates, scripts) load on demand, not upfront.
markdown
---
name: tdd-workflow
description: Enforce test-driven development cycle
triggers:
  - "implement a feature"
  - "fix a bug"
---

# TDD Workflow

## RED — Write a failing test
1. Write the smallest failing test
2. Run: `npm test` — confirm it fails

## GREEN — Make it pass
3. Write the minimum code to make it pass
4. Run: `npm test` — confirm it passes

## REFACTOR
5. Clean up without changing behavior
6. Run: `npm test` — confirm it still passes

Hermes Agent Documentation — the skill authoring guide is worth reading.

Integration with ai-badger

ai-badger and Hermes were developed in tandem. The .ai-badger/config.json structure maps directly to Hermes concepts: persona routing becomes skill dispatch, invariants become always-loaded context, and task orchestration uses delegate_task for parallel subagents.

The result: you write project knowledge once in ai-badger format, and Hermes executes it natively. No translation layer, no config duplication.

When to use which

ScenarioBest fitWhy
Fast one-shot codingClaude CodeAnthropic model quality, tight IDE integration
Customizable workflowsHermesHook system, skill composition
Multi-provider flexibilityHermesAny OpenAI-compatible provider
Project knowledge managementHermesSkills, invariants, persona routing
Architecture decisionsClaude CodeOpus/Fable for complex reasoning
Cost optimizationHermesRoute cheap models for implementation

I use both — but Hermes handles the complex, multi-step project work where context management and agent customization matter more than raw completion speed.

Pitfalls

  • No IDE integration equivalent to Claude Code VS Code extension
  • Terminal rendering bugs in some environments
  • Requires more initial setup than Claude Code — the payoff comes at scale
  • Anthropic model lock-in is a feature if you want the best models

Hermes loads only relevant skills, reducing context overhead by ~60%.

Hermes Agent Documentation