Prerequisites

  • NodeJS 18+
  • Yarn

Core Requirements

  1. Language/Environment: JavaScript, executed in NodeJS.
  2. Dependencies: Bundle any required NodeJS packages within the skill folder structure.
  3. Return Value: All functions must return a string.
  4. Required Files (Root Folder):
    • plugin.json: Config file defining plugin metadata.
    • handler.js: Main entry point.
    • README.md (Recommended): Description and usage instructions.
  5. Folder Naming: The parent folder name must match the hubId property defined in plugin.json.

Skill Deployment Directory

Place custom agent skills in <STORAGE_DIR>/plugins/agent-skills/<hubId>/.

Storage Locations by Platform

  • Docker: Located at <STORAGE_LOCATION>/plugins/agent-skills/ (defined by the STORAGE_LOCATION volume mount).
  • Local Development: Located at server/storage/plugins/agent-skills/.
  • Desktop: Located at the system-specific storage directory under plugins/agent-skills/.

File Structure Example

plugins/agent-skills/my-custom-agent-skill/
├── plugin.json
├── handler.js
└── package.json (and other dependency files)

Configuration (plugin.json Example)

{
  "name": "This is my human readable name",
  "hubId": "my-custom-agent-skill"
}

Hot Loading & Lifecycle

  • Code Updates: Changes to code take effect for new sessions. Execute /exit in an active agent session to reload.
  • New Skills: Reload or revisit the UI page to display a newly added skill.