-
Notifications
You must be signed in to change notification settings - Fork 180
Closed
Labels
Description
Summary
Add first-class AgentSkills management utilities in the SDK (install/uninstall/list/enable/disable) to complement the existing AgentSkills loader. This would provide the missing “package management” layer for skills directories that follow the AgentSkills spec.
Background
Current state in the SDK:
- AgentSkills format is supported via
SKILL.mdloaders (load_skills_from_dir,load_user_skills,load_public_skills). - Public skills are loaded by cloning
OpenHands/extensionsinto a local cache. - There is no dedicated API to install, uninstall, list, or enable/disable AgentSkills.
- Enable/disable is effectively handled at runtime via
AgentContext(load_user_skills=..., load_public_skills=...)or custom filtering.
Meanwhile, the new installed plugin utilities (#2031) cover plugin install/uninstall/list/update, but do not address AgentSkills packages directly.
Goals
- Provide a management layer for AgentSkills directories that follows the AgentSkills spec.
- Enable CLI workflows like
/skills install ...,/skills list, and allow persistent enable/disable. - Keep AgentSkills separate from plugin installs (no manifest required; skill root =
SKILL.md).
Proposed API (example)
install_skill(source, ref=None, repo_path=None, installed_dir=None, force=False)
uninstall_skill(name, installed_dir=None)
list_installed_skills(installed_dir=None)
get_installed_skill(name, installed_dir=None)
update_skill(name, installed_dir=None)Potential storage:
~/.openhands/skills/installed/+ metadata file (e.g..installed.json)
Non-goals
- Replacing plugin install utilities
- Defining marketplace search UX (should live in CLI/UX layers)
Motivation
This unblocks CLI features (enable/disable global skills, /skills install, slash menu) while keeping the SDK’s skill loading semantics consistent with the AgentSkills spec.
Reactions are currently unavailable