Skip to main content

vtcode_core/skills/
mod.rs

1//! # Agent Skills Integration
2//!
3//! Enhanced skills system for VT Code with progressive loading, filesystem discovery,
4//! and strict `SKILL.md` validation.
5//!
6//! The bulk of the skill types, validation, bundling, and template logic lives
7//! in the `vtcode-skills` crate. This module re-exports everything from there
8//! and keeps the integration-point files that depend on `crate::core`, `crate::llm`,
9//! or `crate::tools` as local sub-modules.
10
11// Re-export everything from vtcode-skills for backward compatibility.
12pub use vtcode_skills::*;
13
14// Explicit re-exports from vtcode-skills sub-modules (glob doesn't flatten nested items)
15pub use vtcode_skills::authoring::{
16    SkillAuthor, SkillFrontmatter, ValidationReport as AuthoringValidationReport, render_skills_lean,
17};
18pub use vtcode_skills::bundle::{
19    ImportedSkillInfo, SkillStoreIndex, SkillVersionIndex, export_skill_bundle, import_inline_bundle,
20    import_skill_bundle, load_skill_index,
21};
22pub use vtcode_skills::command_skills::{
23    BuiltInCommandExecutor, BuiltInCommandSkill, CommandSkillBackend, CommandSkillSpec, built_in_command_skill,
24    built_in_command_skill_contexts, command_skill_specs, find_command_skill_by_skill_name,
25    find_command_skill_by_slash_name,
26};
27pub use vtcode_skills::container::{
28    SkillContainer, SkillSource as ContainerSkillSource, SkillSpec, SkillType, SkillVersion,
29};
30pub use vtcode_skills::container_validation::{
31    ContainerSkillsRequirement, ContainerSkillsValidator, ContainerValidationResult, IncompatibleSkillInfo,
32};
33pub use vtcode_skills::context_manager::{
34    ContextConfig, ContextLevel, ContextManager, ContextStats, PersistentContextManager,
35};
36pub use vtcode_skills::document_processor::{
37    DocumentMetadata, DocumentProcessor, DocumentProcessorConfig, DocumentType, ProcessedDocument,
38};
39pub use vtcode_skills::enhanced_validator::ComprehensiveSkillValidator;
40pub use vtcode_skills::file_references::FileReferenceValidator;
41pub use vtcode_skills::injection::{SkillInjections, build_skill_injections};
42pub use vtcode_skills::instructions::{SKILL_INSTRUCTIONS_PREFIX, SkillInstructions};
43pub use vtcode_skills::locations::{
44    DiscoveredSkill, DiscoveryStats as LocationDiscoveryStats, MAX_DISCOVERY_DEPTH, MAX_DISCOVERY_DIRS,
45    SKIPPED_DISCOVERY_DIRS, SkillLocation, SkillLocationType, SkillLocations, discovery_dir_skipped,
46};
47pub use vtcode_skills::manifest::{SkillYaml, generate_skill_template, parse_skill_content, parse_skill_file};
48pub use vtcode_skills::model::{SkillErrorInfo, SkillLoadOutcome, SkillMetadata};
49pub use vtcode_skills::native_plugin::{
50    NativePlugin, NativePluginTrait, PLUGIN_ABI_VERSION, PluginContext, PluginLoader, PluginMetadata, PluginResult,
51    validate_plugin_structure,
52};
53pub use vtcode_skills::prompt_integration::{
54    SkillsRenderMode, generate_skills_prompt, generate_skills_prompt_with_mode,
55};
56pub use vtcode_skills::render::render_skills_section;
57pub use vtcode_skills::templates::{
58    SkillTemplate, SkillTemplateBuilder, TemplateEngine, TemplateType, TemplateVariable,
59};
60pub use vtcode_skills::types::{
61    Skill, SkillContext, SkillManifest, SkillNetworkPolicy, SkillRegistryEntry, SkillResource, SkillScope,
62};
63pub use vtcode_skills::validation_report::{SkillValidationReport, ValidationIssue, ValidationLevel};
64pub use vtcode_skills::versioning::{
65    ResolvedSkillRef, SkillLockfile, SkillSource, resolve_default_version, resolve_version,
66};
67
68// ---------------------------------------------------------------------------
69// Staying sub-modules (depend on vtcode-core internals)
70// ---------------------------------------------------------------------------
71pub mod auto_verification;
72pub mod cli_bridge;
73pub mod discovery;
74pub mod enhanced_harness;
75pub mod executor;
76pub mod loader;
77pub mod manager;
78pub mod skill_file_tracker;
79mod skill_policy;
80pub mod streaming;
81pub mod validation;
82
83// Re-export stayed-module public API
84pub use cli_bridge::{CliToolBridge, CliToolConfig, CliToolResult, discover_cli_tools};
85pub use discovery::{DiscoveryConfig, DiscoveryResult, DiscoveryStats, ProgressiveSkillLoader, SkillDiscovery};
86pub use executor::{execute_skill_with_sub_llm, filter_tools_for_skill};
87pub use loader::{
88    EnhancedSkill, EnhancedSkillLoader, SkillLoaderConfig, SkillRoot, detect_skill_mentions,
89    discover_skill_metadata_lightweight, load_skill_resources, load_skills,
90};
91pub use manager::SkillsManager;
92pub use streaming::{StreamEvent, StreamingConfig, StreamingExecution, StreamingSkillExecutor};
93pub use validation::{SkillValidator, ValidationConfig, ValidationReport, ValidationStatus};