Skip to main content

SkillConfig

Struct SkillConfig 

Source
pub struct SkillConfig {
    pub name: String,
    pub content: String,
    pub version: String,
}
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")).

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.

Source

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

Resolve the skill file path under the given root (or CWD if None). Currently targets Claude Code layout: .claude/skills/<name>/SKILL.md

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.