pub struct SkillCustomization {
pub id: String,
pub uri: Uri,
pub name: String,
pub icons: Option<Vec<Icon>>,
pub range: Option<TextRange>,
pub meta: Option<JsonObject>,
pub enabled: Option<bool>,
pub description: Option<String>,
pub disable_model_invocation: Option<bool>,
pub disable_user_invocation: Option<bool>,
}Expand description
A skill contributed by a plugin or directory.
Covers both Open Plugins skill formats
— the skills/ directory layout (one subdirectory per skill, each with
a SKILL.md) and the flatter commands/ directory of slash-command
skills.
Fields§
§id: StringSession-unique opaque identifier. Used by every action that targets a specific customization. Minted by whoever publishes the customization (typically the agent host).
uri: UriSource URI for this customization. A plugin URL, a file URI, or a directory URI.
For declarations that live inside a larger file — e.g. an MCP
server declared inline in a plugins.json manifest — uri points
to the containing file and {@link CustomizationBase.range | range}
narrows it to the declaration’s span.
name: StringHuman-readable name.
icons: Option<Vec<Icon>>Icons for UI display.
range: Option<TextRange>Optional span within {@link CustomizationBase.uri | uri} when this
customization is a subset of a larger file (for example, one entry
in an inline mcpServers block of a plugins.json manifest).
Absent when the customization covers the whole resource.
meta: Option<JsonObject>Additional provider-specific metadata for this customization.
Mirrors the MCP _meta convention. Optional and opaque to the
protocol; producers and consumers agree on its contents
out-of-band.
enabled: Option<bool>Whether this child is individually enabled. Absent means enabled, so a producer only needs to set it to surface a child that exists but is turned off on its own.
This flag is independent of the parent container’s: the effective
enabled state of a child is
container.enabled && (child.enabled ?? true), so a disabled container
disables every child regardless of each child’s own flag.
A child is turned on or off by id with
{@link SessionCustomizationToggledAction | session/customizationToggled}.
description: Option<String>Short description used for help text and auto-invocation matching.
Sourced from the skill’s frontmatter description.
disable_model_invocation: Option<bool>When true, only the user can invoke this skill — the agent will not
auto-invoke it. Sourced from the command skill’s frontmatter
disable-model-invocation flag.
disable_user_invocation: Option<bool>When true, the user cannot directly invoke this skill (for example,
as a slash command); it remains available for the agent to
auto-invoke. Absent or false means the user may invoke it.
Trait Implementations§
Source§impl Clone for SkillCustomization
impl Clone for SkillCustomization
Source§fn clone(&self) -> SkillCustomization
fn clone(&self) -> SkillCustomization
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SkillCustomization
impl Debug for SkillCustomization
Source§impl<'de> Deserialize<'de> for SkillCustomization
impl<'de> Deserialize<'de> for SkillCustomization
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>,
Source§impl PartialEq for SkillCustomization
impl PartialEq for SkillCustomization
Source§fn eq(&self, other: &SkillCustomization) -> bool
fn eq(&self, other: &SkillCustomization) -> bool
self and other values to be equal, and is used by ==.