Skip to main content

Module skill

Module skill 

Source
Expand description

Skill progressive discovery and registry.

Provides the discovery and registry system for skills that are progressively loaded from project, user, explicit, and package resources. Skill metadata (name, description) is available without loading the full skill body, which is loaded on demand when needed.

§Skill Format

Each skill is a directory containing a SKILL.md file with YAML frontmatter:

---
name: my-skill
description: What this skill does and when to use it.
disable-model-invocation: false   # optional, defaults to false
---

Full skill instructions go here.

§Name Validation

Skill names must consist of lowercase ASCII letters (a-z), digits (0-9), and hyphens (-), with a maximum length of 64 characters.

§Description Validation

Descriptions must be non-empty and at most 1024 characters.

§Progressive Disclosure

Discovery returns SkillResource entries containing only the parsed frontmatter metadata. The full skill body (everything after the frontmatter) can be loaded on demand via SkillResource::load_body. This keeps the initial context small while allowing rich instructions when a skill is actually invoked.

§Discovery Precedence

Skills are discovered from multiple layers using the same precedence model as extensions (see crate::resource). Higher precedence values override lower ones when skill names collide across layers.

§Unstable

This module is part of the unstable 0.x extension API. Breaking changes may occur between minor versions without a major version bump.

Structs§

SkillManifest
Parsed skill manifest from SKILL.md frontmatter.
SkillRegistry
A registry of discovered skills supporting progressive disclosure.
SkillResource
A discovered skill resource with its manifest, filesystem path, and layer precedence.

Enums§

SkillDiscoveryError
Errors from skill discovery and manifest parsing.

Functions§

discover_skills
Discover skills across multiple layers with precedence-based deduplication.