pub struct SkillTool {
pub name: String,
pub description: String,
pub kind: String,
pub command: String,
pub args: HashMap<String, String>,
pub target: Option<String>,
pub locked_args: HashMap<String, String>,
}Expand description
A tool defined by a skill (shell command, HTTP call, etc.)
Fields§
§name: String§description: String§kind: String“shell”, “http”, “script”, “builtin”, “mcp”
command: StringThe command/URL/script to execute (unused for builtin/mcp kinds)
args: HashMap<String, String>§target: Option<String>For kind = "builtin": the name of the built-in tool to delegate to.
For kind = "mcp": the prefixed MCP tool name {server}__{tool}
(e.g. images__generate).
locked_args: HashMap<String, String>For kind = "builtin" / kind = "mcp": arguments fixed by the skill
manifest. These are locked — they are applied on top of the
caller-supplied args and cannot be overridden by the model. This is
what scopes a delegated tool (e.g. target = "composio" +
locked_args = { action_name = "TEXT_TO_PDF" } exposes exactly one
action). Accepts the legacy key default_args for compatibility.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SkillTool
impl<'de> Deserialize<'de> for SkillTool
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SkillTool
impl RefUnwindSafe for SkillTool
impl Send for SkillTool
impl Sync for SkillTool
impl Unpin for SkillTool
impl UnsafeUnpin for SkillTool
impl UnwindSafe for SkillTool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more