Skills

Self-Improving Skills

The practice of turning repeated lessons into better reusable instructions.

Self-Improving Skills

What it is

The practice of turning repeated lessons into better reusable instructions.

In plain terms

Picture a coach who, after a trick play nearly backfires for the third time, pencils the fix directly onto that page of the playbook so the next game starts from the corrected version, not from a blank sideline sketch. Self-improving skills work the same way for Hermes: a saved procedure gets amended in place once a better fix is found, instead of the same mistake getting solved fresh every session.

Why it matters

A skill that keeps failing the same way in practice is a signal, and self-improving skills are what turns that signal — a corrected mistake, a discovered edge case — back into the instructions so the failure doesn’t repeat. This is what separates Hermes from a static prompt library: skills used across long VPS-hosted sessions are expected to get better with use, not just accumulate unchanged. It depends on the skill lifecycle’s drafting-testing-using-refining loop actually being followed rather than a skill being written once and left alone.

How it works

Skills load in layers — an index entry first, full content only when needed, reference files only if asked — with discovery and frontmatter parsing handled centrally (agent/skill_utils.py). When the agent works through a hard multi-step task, hits a dead end, or gets corrected, it can call skill_manage to patch, edit, or create a SKILL.md instead of relying on one-off memory of the fix (tools/skill_manager_tool.py); patching is preferred because only the changed text has to be resent to the model, unlike a full rewrite. A separate background process, the curator, tracks usage and can move skills through active, stale, and archived states, or run an opt-in periodic review that consolidates near-duplicates — but only for skills tagged agent-created, which today means skills a separate background self-improvement pass wrote on its own, not a skill the foreground agent just saved mid-conversation (website/docs/user-guide/features/curator.md).

A concrete example

Say Hermes spends eight tool calls untangling a flaky deploy script before finally finding the fix. Because that took real work and it worked, it saves the sequence as a new skill filed under a category like devops. Three weeks later a different deploy breaks the same way. Instead of repeating the investigation, Hermes loads the saved skill, follows the steps, and finishes in two tool calls. Because Hermes created this one itself, live, during a normal conversation, it counts as user-directed rather than agent-created — it stays active indefinitely and the curator leaves it alone; the stale-after-a-month, archived-after-three-months lifecycle only applies to skills a separate background review process writes on its own. Either way, archiving is never deletion — just a move to a recoverable folder.

How it connects

This note belongs to the Skills family. Its closest neighboring concepts are: Progressive Disclosure, Standard Operating Procedures, Agent Runtime, Personal OS.

Source evidence

  • vendor/hermes-agent/agent/skill_utils.py#<file> — Structural Source Map fallback for agent/skill_utils.py. A core source file in the Skill Discovery and Invocation structure within Skills and Plugins.

Workflows

  • No first-pass workflow mapping yet; this concept still appears in the vault graph through articles and source evidence.
  • Why Hermes Feels Different: Memory, Self-Improving Skills, and an Agent That Keeps Working