pub struct SkillMetadata {
pub name: String,
pub entry_point: String,
pub language: Option<String>,
pub description: Option<String>,
pub version: Option<String>,
pub compatibility: Option<String>,
pub network: NetworkPolicy,
pub resolved_packages: Option<Vec<String>>,
pub allowed_tools: Option<String>,
pub requires_elevated_permissions: bool,
pub capabilities: Vec<String>,
}Expand description
Skill metadata parsed from SKILL.md YAML front matter
Fields§
§name: StringSkill name
entry_point: StringEntry point script path (relative to skill directory)
language: Option<String>Programming language: “python”, “node”, or “bash”
description: Option<String>Description of the skill
version: Option<String>Optional semantic version from SKILL.md front matter metadata.version
compatibility: Option<String>Compatibility string (environment requirements)
network: NetworkPolicyNetwork policy configuration (derived from compatibility)
resolved_packages: Option<Vec<String>>Resolved package list from .skilllite.lock (written by skilllite init).
When present, this takes priority over parsing the compatibility field.
allowed_tools: Option<String>Raw allowed-tools field value from SKILL.md front matter.
Example: “Bash(agent-browser:*)”
requires_elevated_permissions: boolWhether skill requires elevated permissions (e.g. full filesystem access)
capabilities: Vec<String>Capability tags for P2P Discovery routing.
Sourced from SKILL.md front matter capabilities: (top-level, preferred) or
metadata.capabilities (array nested under the metadata: key, for backward compat).
Example SKILL.md: capabilities: ["python", "web", "ml"]
Implementations§
Source§impl SkillMetadata
impl SkillMetadata
Sourcepub fn is_bash_tool_skill(&self) -> bool
pub fn is_bash_tool_skill(&self) -> bool
Returns true if this is a bash-tool skill (has allowed-tools but no script entry point).
Bash-tool skills provide a SKILL.md with allowed-tools: Bash(...) and no
scripts/ directory. The LLM reads the documentation and issues bash commands.
Sourcepub fn get_bash_patterns(&self) -> Vec<BashToolPattern>
pub fn get_bash_patterns(&self) -> Vec<BashToolPattern>
Parse the allowed-tools field into structured BashToolPattern items.
Returns an empty vec if allowed_tools is None or contains no Bash patterns.
Sourcepub fn uses_playwright(&self) -> bool
pub fn uses_playwright(&self) -> bool
Returns true if this skill depends on Playwright (requires spawn/subprocess, blocked in sandbox).
Trait Implementations§
Source§impl Clone for SkillMetadata
impl Clone for SkillMetadata
Source§fn clone(&self) -> SkillMetadata
fn clone(&self) -> SkillMetadata
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more