.aider-desk/skills/extension-creator/SKILL.md
Create AiderDesk extensions by setting up extension files, defining metadata, implementing Extension interface methods, and updating documentation. Use when building a new extension, creating extension commands, tools, or event handlers.
npx skillsauth add hotovo/aider-desk extension-creatorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create AiderDesk extensions that extend functionality through events, commands, tools, agents, and modes.
Use this skill when:
Do not use when:
When: Starting extension creation
Then: Check if extension needs npm dependencies or multiple files
If: Extension needs dependencies or multiple files
Then: Create folder extension in packages/extensions/extensions/my-extension/
If: Extension is simple with no dependencies
Then: Create single-file extension in packages/extensions/extensions/my-extension.ts
When: Creating extension file
Then: Implement required methods from Extension interface
Must: Export metadata object with name, version, description, author, capabilities
Must: Export class as default
Never: Use @/ imports in extension files
When: Extension needs to display UI elements
Then: Implement getUIComponents() method
Must: Return array of UIComponentDefinition objects with id, placement, jsx
Must: Define components as JSX strings or load from .jsx files
If: Component needs data, set loadData: true and implement getUIExtensionData()
If: Component triggers actions, implement executeUIExtensionAction()
When: Extension file created
Then: Add entry to packages/extensions/extensions.json
Must: Include id, name, description, file or folder path, type, capabilities
Must: Set hasDependencies: true for folder extensions
When: Extension is complete
Then: Add entry to docs-site/docs/extensions/examples.md table
Must: Include extension name, description, capabilities, and type
When: Creating folder extension
Then: Include tsconfig.json with module: ES2020+
Must: Include package.json with name, version, main, dependencies
When: Extension needs persistent config
Then: Store config files in extension directory
Never: Store config outside extension directory
Between steps 3 and 4:
Before using this skill, verify:
If any precondition fails:
After completing this skill, verify:
@/ imports usedSuccess metrics:
Situation: Extension needs to handle events
Pattern:
Situation: Extension needs to register commands
Pattern:
Situation: Extension needs to add UI components
Pattern:
Situation: Extension needs config storage
Pattern:
development
Write unit tests, component tests, and integration tests for AiderDesk using Vitest and React Testing Library. Use when creating new tests, adding test coverage, configuring mocks, setting up test files, or debugging failing tests.
development
Create new AiderDesk UI themes by defining SCSS color variables, registering theme types, and adding i18n display names. Use when adding a theme, creating a color scheme, customizing appearance, or implementing dark mode and light mode variants.
development
Create AiderDesk Agent Skills by writing SKILL.md files, defining frontmatter metadata, structuring references, and organizing skill directories. Use when building a new skill, creating a SKILL.md, planning skill architecture, or writing skill content.
tools
Create and configure AiderDesk agent profiles by defining tool groups, approval rules, subagent settings, and provider/model selection. Use when setting up a new agent, creating a profile, or configuring agent tools and permissions.