Skip to content

Skill System — Skills

源码版本v2026.7.20

Responsibility

A Skill is a higher-order capability unit than a Tool: a reusable, frontmatter-annotated flow (similar to the agentskills.io spec), categorized by domain under skills/<category>/. Unlike tools' "static functions", skills can be created, rewritten, and refined by the learning loop — how the agent "gets smarter the more you use it". Skills are exposed to the main loop via skills_tool.

Key Files

Data Flow

  1. At startup, skill_preprocessing (agent/skill_preprocessing.py) scans skills/<category>/ and reads frontmatter.
  2. skill_bundles (agent/skill_bundles.py) packages relevant skills and injects them into this turn's prompt via build_turn_context:268.
  3. The provider decides to invoke a skill → tool_call skillstools/skills_tool.py loads and executes that skill's flow.
  4. The execution result is backfilled to the main loop.
  5. The learning loop reviews this turn in the background and may:

Summary

Skill = an evolvable higher-order flow, described by frontmatter, defined by a file, rewritable by the learning loop. Its relation to tools: tools are the atoms called within a skill flow; skills are knowledge about "how to combine tools to accomplish a class of tasks". See the learning loop for how skills evolve.

Unofficial community learning site. Content based on the MIT-licensed NousResearch/hermes-agent source.