animation
Author animated technical explainer diagrams as .anim.json files for Nimbalyst's Animation editor. Use when the user wants to…
Build, install, and hot-reload Nimbalyst extensions using MCP tools. Use when developing, testing, or iterating on Nimbalyst extensions.
Claude Code
$ npx -y skills add nimbalyst/nimbalyst --skill extension-development --agent claude-code
Codex
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a codex -y
Cursor
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a cursor -y
Gemini CLI
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a gemini-cli -y
GitHub Copilot
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a github-copilot -y
OpenCode
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a opencode -y
Windsurf
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a windsurf -y
name: extension-development description: Build, install, and hot-reload Nimbalyst extensions using MCP tools. Use when developing, testing, or iterating on Nimbalyst extensions.
Nimbalyst provides MCP tools for building, installing, and hot-reloading extensions directly from within the running app. This enables rapid iteration on extension development without manually running build commands.
The recommended in-app scaffold flow uses `File > New Extension Project`, `Developer > New Extension Project`, or the Extension Developer Kit's `/new-extension` command. Enable Extension Dev Tools in Settings > Advanced before using the build/install workflow.
mcp__nimbalyst-extension-dev__extension_build
Runs the project's `build` script (usually vite build) with pnpm if the project uses pnpm, npm otherwise.
**Parameters:**
**Returns:** Build output including any errors or warnings.
mcp__nimbalyst-extension-dev__extension_install
Installs a built extension into the running Nimbalyst instance. The extension must be built first.
**Parameters:**
**Returns:** Installation status and any validation warnings.
mcp__nimbalyst-extension-dev__extension_reload
Rebuilds and reinstalls an extension in one step. This is the most common tool for iterating on extension development.
**Parameters:**
**Returns:** Build and reload status.
mcp__nimbalyst-extension-dev__extension_uninstall
Removes an installed extension from the running Nimbalyst instance.
**Parameters:**
mcp__nimbalyst-extension-dev__extension_get_status
Gets the current status of an installed extension, including whether it loaded successfully and what it contributes.
**Parameters:**
mcp__nimbalyst-extension-dev__restart_nimbalyst
Restarts the entire Nimbalyst application. **Only use when explicitly requested by the user.**
mcp__nimbalyst-extension-dev__extension_test_run
Execute Playwright scripts against the running Nimbalyst instance via CDP. Supports inline scripts or `.spec.ts` file paths.
**Parameters:**
Provide either `script` or `testFile`, not both.
mcp__nimbalyst-extension-dev__extension_test_open_file
Opens a file in Nimbalyst and waits for the editor to mount. Use before running tests that need a specific file open.
**Parameters:**
mcp__nimbalyst-extension-dev__extension_test_ai_tool
Execute an extension's AI tool handler directly and return the result. Bypasses full MCP routing.
**Parameters:**
1. Create extension project with `/new-extension <path> <name> [file-patterns]` 2. Implement the extension code 3. Build with `extension_build` 4. Install with `extension_install` 5. Test in Nimbalyst
1. Make code changes 2. Run `extension_reload` to rebuild and reinstall 3. Run `extension_get_status` to verify it loaded 4. Run `extension_test_open_file` to open a sample file 5. Run `extension_test_run` with Playwright scripts to verify behavior 6. Use `capture_editor_screenshot` for visual verification 7. Check `get_renderer_debug_logs` for runtime errors 8. Fix issues and repeat from step 1
**Inline test example:**
extension_test_run({
script: `
const editor = page.locator('[data-extension-id="com.nimbalyst.my-ext"]');
await expect(editor).toBeVisible();
await editor.locator('.save-btn').click();
await expect(editor.locator('.status')).toHaveText('Saved');
`
})**Test file example:**
extension_test_run({ testFile: "/path/to/extension/tests/basics.spec.ts" })1. Check extension status with `extension_get_status` 2. Read logs with `mcp__nimbalyst-extension-dev__get_main_process_logs` (filter by component: "EXTENSION") 3. Check renderer logs with `mcp__nimbalyst-extension-dev__get_renderer_debug_logs`
Nimbalyst - The open-source visual workspace for Claude Code, Codex, and OpenCode. Run multiple coding agents in parallel, edit their work visually in markdown, mockups, and diagrams, and track tasks. Free, MIT-licensed desktop app for macOS, Windows, Linux, with mobile companion for iOS and Android.
Author animated technical explainer diagrams as .anim.json files for Nimbalyst's Animation editor. Use when the user wants to…
Author Nimbalyst Project Canvas boards (.canvas files) — an infinite canvas whose cards are live editors for real workspace files…
Create visual data models for database schemas using Nimbalyst's DataModelLM editor. Use when the user wants to design a data…
Create git commits using Nimbalyst's interactive commit proposal widget. ONLY use when the user explicitly clicks "Commit with…
Create diagrams and visual drawings using Excalidraw (.excalidraw files). Use when the user wants flowcharts, architecture…
Help the user file a bug report or feature request for Nimbalyst. Activates when the user opens the in-app feedback flow or runs…
Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…
Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…