Expand description
Skills and plugins subsystem.
Discovers plugins under .synaps-cli/plugins/ (project-local) and
~/.synaps-cli/plugins/ (global), registers each skill as a dynamic
slash command, and exposes the same skills to the model via the
load_skill tool. Submodules: manifest (plugin/marketplace JSON
parsing), loader (discovery walk + frontmatter parsing), config
(disable-list filtering), registry (command registry with collision
handling), tool (the load_skill tool implementation).
Modules§
- commands
- Execution helper for plugin manifest commands.
- config
- Apply disable lists to discovered skills.
- install
- Git-backed plugin install/uninstall/update.
- keybinds
- Plugin keybinds — registry, parser, and matching for custom keyboard shortcuts.
- loader
- SKILL.md parsing, {baseDir}/${CLAUDE_PLUGIN_ROOT} substitution, and discovery.
- manifest
- Parse .synaps-plugin/plugin.json and .synaps-plugin/marketplace.json.
- marketplace
- Marketplace URL normalization + metadata fetch.
- plugin_
index - Plugin index schema support.
- post_
install - Post-install setup-script execution.
- registry
- Slash command registry: built-ins + dynamically registered skills.
- state
- Persisted plugin management state: ~/.synaps-cli/plugins.json.
- tool
load_skilltool — model-initiated skill activation.- trust
- Plugin permission/trust inspection helpers.
- update_
diff - Plugin update manifest diff helpers.
Structs§
- Loaded
Skill - A skill discovered during loading.
- Plugin
- A plugin discovered during skill loading.
Constants§
- BUILTIN_
COMMANDS - Built-in command names. Keep in sync with the match in
src/chatui/commands.rs::handle_command.
Functions§
- register
- Load all skills, apply disable filters, build the command registry,
build the keybind registry, and register the
load_skilltool. Returns (command_registry, keybind_registry). - reload_
registry - Re-walks discovery roots and swaps in the new skill set atomically.
Built-ins and the existing
load_skilltool registration are unchanged.