Hermes Agent Skills System: /learn Command and Procedural AI Memory
Nous Research's Hermes Agent introduces a powerful Skills System with the /learn command, enabling AI to autonomously author reusable skills from documentation.
Hermes Agent's new Skills System enables progressive disclosure and autonomous learning via the /learn command.
Introduction: The Evolution of Agentic Memory
In the rapidly evolving landscape of autonomous AI, Nous Research’s Hermes Agent has set a new standard with its self-improving learning loop. The recently highlighted Skills System—and specifically the innovative /learn command—bridges the gap between transient contextual prompts and long-term procedural memory. By treating skills as on-demand, agent-managed knowledge documents, Hermes Agent can ingest complex workflows, toolsets, and documentations, automatically turning them into reusable modules without ballooning token counts. This article delves into the architecture of the Hermes Skills System, exploring how it enables seamless cross-platform functionality and continuous self-improvement.
What is the Skills System?
At its core, a "skill" in Hermes Agent is an on-demand knowledge document, fully compatible with the agentskills.io open standard. Rather than hand-coding robust JSON schemas or monolithic Python scripts for every edge case, developers and users can rely on simple Markdown-based SKILL.md files. All skills live securely in the primary directory and source of truth, ~/.hermes/skills/. On a fresh installation, bundled skills are automatically copied from the repository. Both Hub-installed and agent-created skills also reside here, empowering the agent to directly modify or delete any skill as it self-improves.
Autonomous Authoring with the /learn Command
The standout feature of this system is the /learn command. Instead of manually drafting a SKILL.md file, you can direct Hermes to a local SDK, a live documentation URL, or simply describe a recent workflow. The live agent takes over, sourcing the necessary material using its existing toolkit (like read_file, search_files, or web_extract) to autonomously author a skill that adheres to strict authoring standards, including a 60-character description limitation, standard section ordering, and Hermes-tool framing.
Example invocations of the learn command:
/learn the REST client in ~/projects/acme-sdk, focus on auth + pagination/learn https://docs.example.com/api/quickstart/learn how I just deployed the staging server/learn filing an expense: open the portal, New > Expense, attach the receipt, submit
Because there is no separate ingestion engine with a heavy model footprint, /learn operates seamlessly across all interfaces—from the local CLI and Terminal UI (TUI) to messaging gateways like Telegram, Discord, and the dashboard. The agent seamlessly saves the result utilizing the skill_manage tool.
Token Efficiency via Progressive Disclosure
Injecting massive amounts of documentation into an LLM's system prompt invariably leads to high inference costs, context window limits, and degraded reasoning performance. Hermes elegantly solves this problem through a Progressive Disclosure pattern. The agent selectively loads only the information it requires across three distinct levels of depth:
- Level 0:
skills_list()— Provides a lightweight array of available skills mapping the name, description, and category. This costs roughly 3k tokens and gives the agent a broad overview of its capabilities. - Level 1:
skill_view(name)— Loads the full Markdown content and metadata of a specific skill. This occurs only when the agent decides it is directly relevant to the user's prompt. - Level 2:
skill_view(name, path)— Fetches deeper, specific reference files attached within the skill directory if the task demands granular, extended detail.
Advanced Metadata and Conditional Activation
The Hermes Skills System introduces a highly sophisticated metadata framework securely embedded inside the YAML frontmatter of every SKILL.md file. This intelligent configuration allows skills to dynamically adapt to the agent's current environment and toolset availability:
- Conditional Activation (Fallback Skills): Skills can declare variables like
fallback_for_toolsetsorrequires_toolsets. For example, the built-in DuckDuckGo search skill uses a fallback parameter for the web toolset. If a premium web search API key (like Firecrawl) is configured, the web toolset is activated and the DuckDuckGo skill remains hidden. If the premium tool is missing, the DuckDuckGo skill automatically surfaces as a free alternative. - Platform-Specific Constraints: Utilizing the
platformsarray, skills can restrict themselves to macOS, Linux, or Windows environments. This actively prevents a macOS-centric iMessage workflow skill from cluttering a Linux server's agent context. - Secure Environment Variable Setup: Skills can define
required_environment_variables. If a mandatory API key is missing (e.g., TENOR_API_KEY), Hermes intelligently prompts the user securely in the local CLI without exposing or asking for secrets over chat gateways. Once provided, these environment variables seamlessly pass through to the agent's execution code sandboxes and terminal environments.
Intelligent Media Delivery and Document Forcing
When operating across diverse messaging platforms, delivering outputs correctly is as important as generating them. Hermes skills leverage inline directives to rigorously manage how users receive media outputs directly within their chats:
[[as_document]]forces high-resolution assets (such as analytical charts, dense logs, or large diagrams) to be delivered natively as raw file attachments rather than heavily compressed image bubbles. This natively prevents chat applications like Telegram from destroying document readability via lossy image compression algorithms.[[audio_as_voice]]automatically promotes generated audio files into native voice-message bubbles, facilitating a significantly more organic and conversational interaction paradigm on platforms like WhatsApp and Telegram.
Grouping Workflows with Skill Bundles and External Directories
For complex, multi-faceted recurring tasks, Hermes introduces Skill Bundles. These lightweight YAML files effortlessly combine multiple skills under a singular slash command. Executing a command like /backend-dev, for instance, can simultaneously invoke github-code-review, test-driven-development, and github-pr-workflow, along with custom prepended instructions governing how the skills should interoperate.
Furthermore, teams can collaborate effectively using External Skill Directories. By adding external_dirs into the Hermes configuration file, developers can point the agent toward shared organizational repositories. When paired with local skill prioritization, users can shadow and override global skills with personalized, localized variants—maintaining strict structural hierarchy while supporting broad access.
Conclusion
The Hermes Agent Skills System is a masterclass in engineering self-improving, token-efficient autonomous AI workflows. By empowering the agent to write and manage its own procedural memory dynamically via the /learn command, Nous Research is shifting the entire development paradigm from static, monolithic prompting to fluid, autonomous capability expansion. For developers and researchers building upon open-source agentic frameworks, the progressive disclosure model, dynamic fallback logic, and strict agentskills.io compatibility represent the undeniable future of scalable, production-ready AI agent architectures.
Enjoyed this?
Get more posts like this delivered to your inbox.