Expand description
§Agent Skills Integration
Enhanced skills system for VT Code with progressive loading, filesystem discovery,
and strict SKILL.md validation.
§Features
- Progressive Disclosure: Three-level loading (metadata → instructions → resources)
- CLI Tool Bridge: Integrate any command-line tool as a skill
- Dynamic Discovery: Auto-discover skills and CLI tools from filesystem
- Context Management: Memory-efficient loading with LRU eviction
- Spec Compliance: Strict support for the core Agent Skills
SKILL.mdformat, plus the client-sidedisable-model-invocationcatalog filter - Tool Integration: Seamless integration with VT Code’s tool registry
§Architecture
§Three-Level Loading System
Level 1: Metadata (~50 tokens)
- Loaded into the startup catalog unless the skill opts out with
disable-model-invocation - Name, description, and basic info
- Minimal context overhead
Level 2: Instructions (variable, <5K tokens typical)
- Loaded when skill is first triggered
- SKILL.md body with workflows and guidance
- Context-managed with automatic eviction
Level 3: Resources (on-demand)
- Scripts, templates, reference materials
- Loaded only when specifically requested
- No context overhead when unused
§Skill Types
Traditional Skills: Directories with SKILL.md files following the Agent Skills spec
CLI Tool Skills: Executable tools with README.md documentation
Hybrid Skills: Skills that combine instructions with external tool execution
§Quick Start
ⓘ
use vtcode_core::skills::discovery::{SkillDiscovery, DiscoveryConfig};
use vtcode_core::skills::context_manager::{ContextManager, ContextConfig};
// Configure discovery
let mut discovery = SkillDiscovery::new();
let result = discovery.discover_all(workspace_root).await?;
// Setup context management
let context_manager = ContextManager::new();
// Register discovered skills
for skill in result.skills {
context_manager.register_skill_metadata(skill.manifest().clone())?;
}
// Load skill on demand
let skill_context = context_manager.get_skill_context("my-skill");§Directory Structure
§Traditional Skills
my-skill/
├── SKILL.md # Metadata (YAML) + Instructions (Markdown)
├── scripts/
│ └── helper.py # Optional: Executable scripts
├── references/
│ └── guide.md # Optional: Reference materials
└── assets/
└── example.json # Optional: Static resources§CLI Tool Skills
my-tool/
├── tool # Executable (any language)
├── README.md # Tool documentation
├── tool.json # Optional: Configuration
└── schema.json # Optional: Argument validation§SKILL.md Template
---
name: my-skill
description: What this skill does and when to use it
---
# My Skill
## Instructions
[Guidance for the agent]
## Examples
- Example 1
- Example 2Re-exports§
pub use authoring::SkillAuthor;pub use authoring::SkillFrontmatter;pub use authoring::ValidationReport as AuthoringValidationReport;pub use authoring::render_skills_lean;pub use bundle::ImportedSkillInfo;pub use bundle::SkillStoreIndex;pub use bundle::SkillVersionIndex;pub use bundle::export_skill_bundle;pub use bundle::import_inline_bundle;pub use bundle::import_skill_bundle;pub use bundle::load_skill_index;pub use cli_bridge::CliToolBridge;pub use cli_bridge::CliToolConfig;pub use cli_bridge::CliToolResult;pub use cli_bridge::discover_cli_tools;pub use command_skills::BuiltInCommandExecutor;pub use command_skills::BuiltInCommandSkill;pub use command_skills::CommandSkillBackend;pub use command_skills::CommandSkillSpec;pub use command_skills::built_in_command_skill;pub use command_skills::built_in_command_skill_contexts;pub use command_skills::command_skill_specs;pub use command_skills::find_command_skill_by_skill_name;pub use command_skills::find_command_skill_by_slash_name;pub use container::SkillContainer;pub use container::SkillSource as ContainerSkillSource;pub use container::SkillSpec;pub use container::SkillType;pub use container::SkillVersion;pub use container_validation::ContainerSkillsRequirement;pub use container_validation::ContainerSkillsValidator;pub use container_validation::ContainerValidationResult;pub use container_validation::IncompatibleSkillInfo;pub use context_manager::ContextConfig;pub use context_manager::ContextLevel;pub use context_manager::ContextManager;pub use context_manager::ContextStats;pub use context_manager::PersistentContextManager;pub use discovery::DiscoveryConfig;pub use discovery::DiscoveryResult;pub use discovery::DiscoveryStats;pub use discovery::ProgressiveSkillLoader;pub use discovery::SkillDiscovery;pub use document_processor::DocumentMetadata;pub use document_processor::DocumentProcessor;pub use document_processor::DocumentProcessorConfig;pub use document_processor::DocumentType;pub use document_processor::ProcessedDocument;pub use enhanced_validator::ComprehensiveSkillValidator;pub use executor::execute_skill_with_sub_llm;pub use executor::filter_tools_for_skill;pub use file_references::FileReferenceValidator;pub use instructions::SKILL_INSTRUCTIONS_PREFIX;pub use instructions::SkillInstructions;pub use loader::EnhancedSkill;pub use loader::EnhancedSkillLoader;pub use loader::SkillLoaderConfig;pub use loader::SkillRoot;pub use loader::detect_skill_mentions;pub use loader::discover_skill_metadata_lightweight;pub use loader::load_skill_resources;pub use loader::load_skills;pub use native_plugin::NativePlugin;pub use native_plugin::NativePluginTrait;pub use native_plugin::PLUGIN_ABI_VERSION;pub use native_plugin::PluginContext;pub use native_plugin::PluginLoader;pub use native_plugin::PluginMetadata;pub use native_plugin::PluginResult;pub use native_plugin::validate_plugin_structure;pub use injection::SkillInjections;pub use injection::build_skill_injections;pub use locations::DiscoveredSkill;pub use locations::DiscoveryStats as LocationDiscoveryStats;pub use locations::SkillLocation;pub use locations::SkillLocationType;pub use locations::SkillLocations;pub use manager::SkillsManager;pub use manifest::SkillYaml;pub use manifest::generate_skill_template;pub use manifest::parse_skill_content;pub use manifest::parse_skill_file;pub use model::SkillErrorInfo;pub use model::SkillLoadOutcome;pub use model::SkillMetadata;pub use prompt_integration::SkillsRenderMode;pub use prompt_integration::generate_skills_prompt;pub use prompt_integration::generate_skills_prompt_with_mode;pub use render::render_skills_section;pub use streaming::StreamEvent;pub use streaming::StreamingConfig;pub use streaming::StreamingExecution;pub use streaming::StreamingSkillExecutor;pub use templates::SkillTemplate;pub use templates::SkillTemplateBuilder;pub use templates::TemplateEngine;pub use templates::TemplateType;pub use templates::TemplateVariable;pub use types::Skill;pub use types::SkillContext;pub use types::SkillManifest;pub use types::SkillNetworkPolicy;pub use types::SkillRegistryEntry;pub use types::SkillResource;pub use types::SkillScope;pub use validation::SkillValidator;pub use validation::ValidationConfig;pub use validation::ValidationReport;pub use validation::ValidationStatus;pub use validation_report::SkillValidationReport;pub use validation_report::ValidationIssue;pub use validation_report::ValidationLevel;pub use versioning::ResolvedSkillRef;pub use versioning::SkillLockfile;pub use versioning::SkillSource;pub use versioning::resolve_default_version;pub use versioning::resolve_version;
Modules§
- authoring
- Skill Authoring Tool for VT Code
- auto_
verification - Auto Skill Verification
- bundle
- Skill bundle import/export
- cli_
bridge - CLI Tool Bridge for External Tool Integration
- command_
skills - container
- Skill container for multi-skill execution
- container_
validation - Container Skills Validation
- context_
manager - Progressive Context Management for Skills
- discovery
- Dynamic Skill Discovery System
- document_
processor - Document Processing for Skills using Vision Models
- enhanced_
harness - Enhanced Skill Harness
- enhanced_
validator - Enhanced skill validator with comprehensive error collection
- executor
- Skill execution as Tool trait implementation
- file_
references - File reference validation for Agent Skills
- injection
- instructions
- loader
- locations
- Skill Location Management
- manager
- manifest
- SKILL.md manifest parsing
- model
- native_
plugin - Native Plugin System for VT Code Skills
- prompt_
integration - Skills prompt integration
- render
- skill_
file_ tracker - Skill File Tracker
- streaming
- Skill Execution Streaming
- system
- templates
- Skill Template System
- types
- Agent Skills type definitions
- validation
- Skill Validation System
- validation_
report - Comprehensive validation report for Agent Skills
- versioning
- Skill version resolution