Struct SkillsConfig
pub struct SkillsConfig {
pub open_skills_enabled: bool,
pub open_skills_dir: Option<String>,
pub allow_scripts: bool,
pub registry_url: Option<String>,
pub extra_registries: Vec<ExternalRegistry>,
pub prompt_injection_mode: SkillsPromptInjectionMode,
pub skill_creation: SkillCreationConfig,
pub install_suggestions: SkillInstallSuggestionsConfig,
pub skill_improvement: SkillImprovementConfig,
}Expand description
Skills loading configuration ([skills] section).
Fields§
§open_skills_enabled: boolEnable loading and syncing the community open-skills repository.
Default: false (opt-in).
open_skills_dir: Option<String>Optional path to a local open-skills repository.
If unset, defaults to $HOME/open-skills when enabled.
allow_scripts: boolAllow script-like files in skills (.sh, .bash, .ps1, shebang shell files).
Default: false (secure by default).
registry_url: Option<String>URL of the skills registry repository for bare-name installs.
Default: https://github.com/zeroclaw-labs/zeroclaw-skills
extra_registries: Vec<ExternalRegistry>Additional user-configured skill registries, installed via
registry:<name>/<skill>. Each reuses the git-clone registry path and
is cloned to its own extra-registry-<name>/ workspace directory.
prompt_injection_mode: SkillsPromptInjectionModeControls how skills are injected into the system prompt.
full preserves legacy behavior. compact keeps context small and loads skills on demand.
skill_creation: SkillCreationConfigAutonomous skill creation from successful multi-step task executions.
install_suggestions: SkillInstallSuggestionsConfigPrompt-triggered install suggestions for missing skills.
skill_improvement: SkillImprovementConfigAutomatic skill self-improvement after successful skill usage.
Implementations§
Source§impl SkillsConfig
impl SkillsConfig
Sourcepub fn configurable_prefix() -> &'static str
pub fn configurable_prefix() -> &'static str
Returns the #[prefix] value for this Configurable struct.
Sourcepub fn secret_fields(&self) -> Vec<SecretFieldInfo>
pub fn secret_fields(&self) -> Vec<SecretFieldInfo>
Returns metadata about all #[secret] fields on this struct and nested children.
pub fn secret_field_terminals() -> Vec<&'static str>
Sourcepub fn encrypt_secrets(&mut self, store: &SecretStore) -> Result<(), Error>
pub fn encrypt_secrets(&mut self, store: &SecretStore) -> Result<(), Error>
Encrypt all secret fields in place using the provided store.
Sourcepub fn decrypt_secrets(&mut self, store: &SecretStore) -> Result<(), Error>
pub fn decrypt_secrets(&mut self, store: &SecretStore) -> Result<(), Error>
Decrypt all secret fields in place using the provided store.
Sourcepub fn set_secret(&mut self, name: &str, value: String) -> Result<(), Error>
pub fn set_secret(&mut self, name: &str, value: String) -> Result<(), Error>
Set a secret field by its full dotted name, dispatching to nested children.
Sourcepub fn prop_fields(&self) -> Vec<PropFieldInfo>
pub fn prop_fields(&self) -> Vec<PropFieldInfo>
Returns metadata about all property fields on this struct and nested children.
Sourcepub fn get_prop(&self, name: &str) -> Result<String, Error>
pub fn get_prop(&self, name: &str) -> Result<String, Error>
Get a property value by its full dotted name, returning it as a display string.
Sourcepub fn set_prop(&mut self, name: &str, value_str: &str) -> Result<(), Error>
pub fn set_prop(&mut self, name: &str, value_str: &str) -> Result<(), Error>
Set a property value by its full dotted name, parsing from string.
Sourcepub fn prop_is_secret(name: &str) -> bool
pub fn prop_is_secret(name: &str) -> bool
Check if a property name refers to a secret field (static, no instance needed).
Sourcepub fn init_defaults(&mut self, prefix: Option<&str>) -> Vec<&'static str>
pub fn init_defaults(&mut self, prefix: Option<&str>) -> Vec<&'static str>
Instantiate None nested sections whose prefix matches.
Returns the prefixes that were initialized.
Sourcepub fn map_key_sections() -> Vec<MapKeySection>
pub fn map_key_sections() -> Vec<MapKeySection>
Enumerate every map-keyed (HashMap<String, T>) and list-shaped
(Vec<T>) section discoverable from this Configurable’s tree.
The dashboard / CLI consume this to surface “+ Add” affordances
without hardcoding the section list.
Sourcepub fn nested_section_help(name: &str) -> Option<&'static str>
pub fn nested_section_help(name: &str) -> Option<&'static str>
Help blurb for a #[nested] field on this struct, sourced from
the field-level /// docstring. Returns None for unknown
names so callers can fall through to a different lookup.
pub fn nested_section_group(name: &str) -> Option<&'static str>
Sourcepub fn get_map_keys(&self, section_path: &str) -> Option<Vec<String>>
pub fn get_map_keys(&self, section_path: &str) -> Option<Vec<String>>
Return the current alias keys at section_path, or None if
the path doesn’t resolve to a map-keyed section in this tree.
pub fn nested_option_entries(&self) -> Vec<NestedOptionEntry>
pub fn create_map_key( &mut self, section_path: &str, map_key: &str, ) -> Result<bool, String>
pub fn delete_map_key( &mut self, section_path: &str, map_key: &str, ) -> Result<bool, String>
pub fn rename_map_key( &mut self, section_path: &str, map_key: &str, new_key: &str, ) -> Result<bool, String>
Trait Implementations§
Source§impl Clone for SkillsConfig
impl Clone for SkillsConfig
Source§fn clone(&self) -> SkillsConfig
fn clone(&self) -> SkillsConfig
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SkillsConfig
impl Debug for SkillsConfig
Source§impl Default for SkillsConfig
impl Default for SkillsConfig
Source§fn default() -> SkillsConfig
fn default() -> SkillsConfig
Source§impl<'de> Deserialize<'de> for SkillsConfig
impl<'de> Deserialize<'de> for SkillsConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SkillsConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SkillsConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for SkillsConfig
impl JsonSchema for SkillsConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl MaskSecrets for SkillsConfig
impl MaskSecrets for SkillsConfig
fn mask_secrets(&mut self)
fn restore_secrets_from(&mut self, current: &SkillsConfig)
Source§impl Serialize for SkillsConfig
impl Serialize for SkillsConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for SkillsConfig
impl RefUnwindSafe for SkillsConfig
impl Send for SkillsConfig
impl Sync for SkillsConfig
impl Unpin for SkillsConfig
impl UnsafeUnpin for SkillsConfig
impl UnwindSafe for SkillsConfig
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
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>
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>
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