Skill types, discovery, loading, and validation for VT Code.
Provides the core skill system including skill manifests, validation, bundling, template rendering, native plugin support, and versioning. Integration-point modules remain in vtcode-core.
| Module | Purpose |
|---|---|
types.rs |
Core types: Skill, SkillManifest, SkillContext, SkillScope |
manifest.rs |
SKILL.md parsing, SkillYaml, template generation |
authoring.rs |
Skill authoring, frontmatter parsing, validation |
bundle.rs |
Skill bundling, import/export, index management |
templates.rs |
Template engine, traditional/CLI-tool templates |
container.rs |
Skill container management, versioning |
container_validation.rs |
Container skills compatibility validation |
context_manager.rs |
Memory-efficient skill loading with LRU eviction |
validation.rs |
Skill validation rules and reports |
enhanced_validator.rs |
Comprehensive skill validator |
native_plugin.rs |
Native plugin loading via libloading |
system.rs |
System skills embedding and installation |
versioning.rs |
Skill version resolution and lockfiles |
injection.rs |
Skill injection into prompts |
prompt_integration.rs |
Skills prompt rendering modes |
- Discovery — Skills are discovered from filesystem locations and embedded system skills
- Loading — Skills are loaded with LRU eviction for memory efficiency
- Validation — Skills are validated against manifest rules and compatibility checks
- Injection — Skills are injected into prompts for agent context
- Execution — Skills are executed by the skill executor in vtcode-core
- Partial extraction from vtcode-core; vtcode-core's
skills/mod.rsre-exports everything from this crate templates/directory contains traditional and CLI-tool template filessrc/skills/assets/samples/contains embedded system skill samplesSkillManifestusesserde-saphyrfor YAML frontmatter parsing
vtcode-commons— filesystem, SHA256, pathsvtcode-config— skill configuration,PromptFormat
- Use
anyhow::Resultfor fallible operations - Use
serdefor serialization/deserialization - Use
tracingfor logging - Template paths are relative to
templates/directory
- Skills Documentation — user-facing skill guides
- Contributing — how to create custom skills