Skip to main content

SkillConfig

Struct SkillConfig 

Source
pub struct SkillConfig {
    pub name: String,
    pub content: String,
    pub version: String,
    pub environment: Environment,
}
Expand description

Configuration for a skill to be managed.

Fields§

§name: String

The tool name (e.g., “agent-doc”, “webmaster”).

§content: String

The bundled SKILL.md content (typically from include_str!).

§version: String

The tool version (typically from env!("CARGO_PKG_VERSION")).

§environment: Environment

The detected agent environment (used for path resolution).

Implementations§

Source§

impl SkillConfig

Source

pub fn new( name: impl Into<String>, content: impl Into<String>, version: impl Into<String>, ) -> Self

Create a new skill config. Create a new skill config, auto-detecting the agent environment.

Source

pub fn with_environment( name: impl Into<String>, content: impl Into<String>, version: impl Into<String>, environment: Environment, ) -> Self

Create a new skill config with an explicit environment.

Source

pub fn skill_path(&self, root: Option<&Path>) -> PathBuf

Resolve the skill file path under the given root (or CWD if None). Uses the detected environment to determine the path layout.

Source

pub fn install(&self, root: Option<&Path>) -> Result<()>

Install the bundled SKILL.md to the project. When root is None, paths are relative to CWD.

Source

pub fn check(&self, root: Option<&Path>) -> Result<bool>

Check if the installed skill matches the bundled version. When root is None, paths are relative to CWD.

Returns Ok(true) if up to date, Ok(false) if outdated or not installed.

Source

pub fn uninstall(&self, root: Option<&Path>) -> Result<()>

Uninstall the skill file and its parent directory (if empty).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.