Skip to main content

Module skills

Module skills 

Source
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.md format, plus the client-side disable-model-invocation catalog 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 2

Re-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