tirea_extension_skills/
lib.rs

1//! Skill subsystem (agentskills-style).
2//!
3//! This module provides:
4//! - `Skill`: per-skill trait with IO capabilities (read instructions, load resources, run scripts)
5//! - `FsSkill`: filesystem-backed skill with directory discovery
6//! - `EmbeddedSkill`: compile-time embedded skill from static content
7//! - Tools: activate skill, load reference, run script
8//! - `SkillDiscoveryPlugin`: inject skills catalog before inference
9
10mod discovery_plugin;
11mod embedded_registry;
12mod materialize;
13mod registry;
14mod skill_md;
15mod subsystem;
16mod tools;
17mod types;
18
19pub const SKILLS_PLUGIN_ID: &str = "skills";
20pub const SKILLS_BUNDLE_ID: &str = SKILLS_PLUGIN_ID;
21pub const SKILLS_DISCOVERY_PLUGIN_ID: &str = "skills_discovery";
22
23pub const SKILL_ACTIVATE_TOOL_ID: &str = "skill";
24pub const SKILL_LOAD_RESOURCE_TOOL_ID: &str = "load_skill_resource";
25pub const SKILL_SCRIPT_TOOL_ID: &str = "skill_script";
26
27pub use discovery_plugin::SkillDiscoveryPlugin;
28pub use embedded_registry::{EmbeddedSkill, EmbeddedSkillData};
29pub use registry::{
30    CompositeSkillRegistry, DiscoveryResult, FsSkill, FsSkillRegistryManager,
31    InMemorySkillRegistry, SkillRegistry, SkillRegistryError, SkillRegistryManagerError,
32};
33pub use subsystem::{SkillSubsystem, SkillSubsystemError};
34pub use tools::{LoadSkillResourceTool, SkillActivateTool, SkillScriptTool};
35pub use types::{
36    collect_skills, material_key, LoadedAsset, LoadedReference, ScriptResult, Skill, SkillError,
37    SkillMaterializeError, SkillMeta, SkillResource, SkillResourceKind, SkillState,
38    SkillStateAction, SkillWarning,
39};