Three Categories: Control, Session, Expression

+15 Mana ✨

Introduction

Hermes ships dozens of slash commands. Memorizing them is the wrong goal. Learning the three categories they fall into is the right one. Once you know that every command serves one of three jobs (changing runtime parameters, managing the session, or shaping identity) you can guess the right command from intent and confirm with Tab completion.

Key Concepts

  • Control: Commands that change runtime parameters like the model, tools, or reasoning effort.
  • Session: Commands that manage the lifecycle of the current session: context, parallelism, interrupts, processes.
  • Expression: Commands that change who the agent is from the user's point of view: persona, voice, theme.

Real World Context

A new Hermes user spends ten minutes hunting through docs for a command. A user fluent in the three categories spends two seconds: "I want the agent to be terser, that is Expression, probably /personality". They Tab through to confirm, and they are done. Categories convert a long list into a short decision tree.

Deep Dive

Control: change what the runtime is

Control commands adjust how the agent thinks and which capabilities it has. They are the levers you reach for when the answer style is wrong but the conversation is still useful.

text
/model <provider/model>     Switch the active model and provider
/tools [list|enable|disable] Adjust which tools the agent can call
/reasoning [level|show|hide] Tune reasoning effort and visibility
/fast [normal|fast|status]   Toggle low-latency mode

Use Control when you want the same conversation to continue with a different cognitive setup.

Session: manage the lifecycle

Session commands act on the current conversation's state: its memory, its parallelism, and the running processes it spawned.

text
/compress [focus]           Shrink the context, optionally toward a topic
/background <prompt>        Spawn a parallel isolated session for an off-topic task
/busy [queue|steer|interrupt] Control what Enter does while the agent is busy
/stop                        Kill all running background processes
/new (alias /reset)         Start a fresh session
/clear                      Clear screen and start a new session

Use Session when the conversation itself needs management: too long, too parallel, needs a clean slate.

Expression: change identity and presentation

Expression commands change what the agent feels like to interact with: persona, voice, theme. They do not change capability; they change presentation.

text
/personality [name]   Swap the active SOUL.md persona
/voice [on|off|tts]   Toggle voice recording and playback
/skin                  Change the display theme

Use Expression when the capability is right but the way the agent communicates is not.

The decision tree in practice

text
Do you want to change...
│
├─ what the agent CAN DO?            → Control      (model, tools, reasoning)
├─ what the agent IS WORKING ON?    → Session      (compress, background, busy, stop)
└─ how the agent SHOWS UP?           → Expression  (personality, voice, theme)

With those three buckets, every Hermes slash command you will reach for in a typical week fits somewhere. The remaining ones (info, diagnostics, gateway management) you can look up rarely and forget between uses.

Common Pitfalls

  1. Confusing Control with Expression: /personality does not change capability; it changes tone. /model is the capability lever. Reaching for the wrong one wastes a turn.
  2. Treating /compress as Control: Compress acts on session state (the conversation history), not on the runtime parameters. It is firmly Session.

Best Practices

  1. Match the question to the category first: Before you start typing, ask "is this Control, Session, or Expression?" The command falls out.
  2. Practice the categories on real sessions: After every Hermes session, recall which commands you used and which category each belonged to. The categories become second nature within a week.

Summary

  • Three categories cover most slash commands: Control, Session, Expression.
  • Control changes runtime parameters; Session manages the conversation; Expression shapes identity.
  • The right command falls out of the right category.
  • Categories beat memorization because Hermes ships new commands faster than you can memorize them.

Code Examples

text
# A daily-driver slice of the Hermes command surface, sorted by category

# Control: change runtime parameters
/model anthropic/claude-opus-4
/tools disable web
/reasoning high

# Session: manage the current conversation
/compress focus on the refactor plan
/background summarize git diff against main
/busy steer

# Expression: change identity and presentation
/personality terse-reviewer
/voice on
✓ Completed