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§
- Skill
Manifest - Parsed skill manifest from
SKILL.mdfrontmatter. - Skill
Registry - A registry of discovered skills supporting progressive disclosure.
- Skill
Resource - A discovered skill resource with its manifest, filesystem path, and layer precedence.
Enums§
- Skill
Discovery Error - Errors from skill discovery and manifest parsing.
Functions§
- discover_
skills - Discover skills across multiple layers with precedence-based deduplication.