Project Pull Request
swimmwatch/cloakbrowser-mcp
Create, update, prepare, or review a cloakbrowser-mcp GitHub Pull Request only when the user explicitly requests PR work.
Build, install, and hot-reload Nimbalyst extensions using MCP tools.
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nimbalyst/nimbalyst extension-development --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development .claude/skills/extension-development && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "extension-development" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development into .claude/skills/extension-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-development", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-developmentType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nimbalyst/nimbalyst extension-development --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development .agents/skills/extension-development && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "extension-development" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development into .agents/skills/extension-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-development", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nimbalyst/nimbalyst extension-development --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development .cursor/skills/extension-development && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "extension-development" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development into .cursor/skills/extension-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-development", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nimbalyst/nimbalyst.git --path packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nimbalyst/nimbalyst extension-development --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development .gemini/skills/extension-development && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "extension-development" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development into .gemini/skills/extension-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-development", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nimbalyst/nimbalyst extension-developmentInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development .github/skills/extension-development && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "extension-development" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development into .github/skills/extension-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-development", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nimbalyst/nimbalyst --skill extension-development -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nimbalyst/nimbalyst extension-development --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nimbalyst/nimbalyst.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development .opencode/skills/extension-development && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "extension-development" agent skill from https://github.com/nimbalyst/nimbalyst/tree/main/packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development into .opencode/skills/extension-development/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "extension-development", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
extension-developmentBuild, install, and hot-reload Nimbalyst extensions using MCP tools.
Extension Development is an agent skill from nimbalyst/nimbalyst. Build, install, and hot-reload Nimbalyst extensions using MCP tools. Use when developing, testing, or iterating on Nimbalyst extensions.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Browser extensions and MCP servers. It works with Playwright. The repository describes itself as: 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… The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a3dbdb4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Extension Development loads about 1.5k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 655 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nimbalyst/nimbalyst at commit a3dbdb4, republished under its MIT licence (© nimbalyst). 655 words, ~1,539 tokens.
.claude/skills/extension-development/SKILL.md (or your agent's skills folder).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_buildRuns npm run build (vite build) on an extension project.
Parameters:
path: Absolute path to the extension project root (directory containing package.json and manifest.json)Returns: Build output including any errors or warnings.
mcp__nimbalyst-extension-dev__extension_installInstalls a built extension into the running Nimbalyst instance. The extension must be built first.
Parameters:
path: Absolute path to the extension project rootReturns: Installation status and any validation warnings.
mcp__nimbalyst-extension-dev__extension_reloadRebuilds and reinstalls an extension in one step. This is the most common tool for iterating on extension development.
Parameters:
extensionId: The extension ID from manifest.json (e.g., "com.nimbalyst.my-extension")path: Absolute path to the extension project rootReturns: Build and reload status.
mcp__nimbalyst-extension-dev__extension_uninstallRemoves an installed extension from the running Nimbalyst instance.
Parameters:
extensionId: The extension ID to uninstallmcp__nimbalyst-extension-dev__extension_get_statusGets the current status of an installed extension, including whether it loaded successfully and what it contributes.
Parameters:
extensionId: The extension ID to querymcp__nimbalyst-extension-dev__restart_nimbalystRestarts the entire Nimbalyst application. Only use when explicitly requested by the user.
mcp__nimbalyst-extension-dev__extension_test_runExecute Playwright scripts against the running Nimbalyst instance via CDP. Supports inline scripts or .spec.ts file paths.
Parameters:
script: Inline Playwright code (runs inside an async test with page connected to Nimbalyst)testFile: Absolute path to a .spec.ts filetimeout: Max execution time in ms (default: 30000)Provide either script or testFile, not both.
mcp__nimbalyst-extension-dev__extension_test_open_fileOpens a file in Nimbalyst and waits for the editor to mount. Use before running tests that need a specific file open.
Parameters:
filePath: Absolute path to the file to openwaitForExtension: Extension ID to wait for (waits until the extension's editor container renders)timeout: Max wait time in ms (default: 5000)mcp__nimbalyst-extension-dev__extension_test_ai_toolExecute an extension's AI tool handler directly and return the result. Bypasses full MCP routing.
Parameters:
extensionId: The extension IDtoolName: Tool name without extension prefix (e.g., "get_elements")args: Arguments object to pass to the handlerfilePath: For editor-scoped tools: file path for context/new-extension <path> <name> [file-patterns]extension_buildextension_installextension_reload to rebuild and reinstallextension_get_status to verify it loadedextension_test_open_file to open a sample fileextension_test_run with Playwright scripts to verify behaviorcapture_editor_screenshot for visual verificationget_renderer_debug_logs for runtime errorsInline 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" })extension_get_statusmcp__nimbalyst-extension-dev__get_main_process_logs (filter by component: "EXTENSION")mcp__nimbalyst-extension-dev__get_renderer_debug_logsextension_install requires a pre-built extensionextension_reload for iteration - It combines build + reinstall in one steprestart_nimbalyst when the user explicitly asksdist/index.jsnpm install was run in the extension directoryextension_get_status to check if it's loaded© nimbalyst, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development of nimbalyst/nimbalyst.
Open the folder on GitHubat commit a3dbdb4
Extension Development next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Extension Development this skillnimbalyst/nimbalyst | 1.8k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Project Pull Requestswimmwatch/cloakbrowser-mcp | 161 | — | ~1k | Automated safety check: Pass | MIT | |
| Project Docs Maintainerswimmwatch/cloakbrowser-mcp | 161 | — | ~569 | Automated safety check: Pass | MIT | |
| Browser DebuggingMadAppGang/claude-code | 283 | — | ~4.3k | Automated safety check: Pass | MIT | |
| Project Releaseswimmwatch/cloakbrowser-mcp | 161 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Michel UI Demo RecorderPackmindHub/packmind | 317 | — | ~6.4k | Automated safety check: Pass | Apache-2.0 |
swimmwatch/cloakbrowser-mcp
Create, update, prepare, or review a cloakbrowser-mcp GitHub Pull Request only when the user explicitly requests PR work.
swimmwatch/cloakbrowser-mcp
Maintain, organize, consolidate, or audit the cloakbrowser-mcp documentation set only when the user explicitly requests project documentation maintenance or an authorized public change requires it.
MadAppGang/claude-code
Systematically tests UI functionality, validates design fidelity with AI visual analysis, monitors console output, tracks network requests, and provides debugging reports using Chrome Extension MCP…
swimmwatch/cloakbrowser-mcp
Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.
PackmindHub/packmind
Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.
hmislk/hmis
Identify and name Chrome instances connected to the Claude-in-Chrome extension under the current Claude account, and persist a stable deviceId - name mapping to a local file outside the repo.
nimbalyst/nimbalyst
Write a project's knowledge pages in Nimbalyst Pages -- record what people said and decided in the page it affects, keep typed pages for the things the team tracks (its own types, such as modules…
nimbalyst/nimbalyst
Set up or check a project's knowledge pages in Nimbalyst Pages -- install the editable "How we write this wiki" guide page, define the team's own page types (and subtypes) and the named relations…
nimbalyst/nimbalyst
Author Nimbalyst Project Canvas boards (.canvas files) — an infinite canvas whose cards are live editors for real workspace files and shared documents, arranged spatially and wired with edges.
nimbalyst/nimbalyst
Create visual data models for database schemas using Nimbalyst's DataModelLM editor.
nimbalyst/nimbalyst
Create diagrams and visual drawings using Excalidraw (.excalidraw files).
nimbalyst/nimbalyst
Create git commits using Nimbalyst's interactive commit proposal widget.
Works with
Categories
Build, install, and hot-reload Nimbalyst extensions using MCP tools. Extension Development is an agent skill from nimbalyst/nimbalyst. Build, install, and hot-reload Nimbalyst extensions using MCP tools.
Extension Development fits situations like: iterating on Nimbalyst extensions; tasks that involve Browser extensions; tasks that involve MCP servers.
Run `npx skills add nimbalyst/nimbalyst --skill extension-development -a claude-code`. Or copy the skill folder (packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development in nimbalyst/nimbalyst) into .claude/skills/extension-development in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nimbalyst/nimbalyst --skill extension-development -a codex`. Or copy the skill folder (packages/extensions/extension-dev-kit/claude-plugin/skills/extension-development in nimbalyst/nimbalyst) into .agents/skills/extension-development in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nimbalyst/nimbalyst --skill extension-development -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/extension-development, .gemini/skills/extension-development, .github/skills/extension-development and .opencode/skills/extension-development in your project.
Going by SKILL.md and its folder, Extension Development needs the command-line tools its instructions call (npm). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Extension Development is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Extension Development: Project Pull Request (swimmwatch/cloakbrowser-mcp, 161 stars), Project Docs Maintainer (swimmwatch/cloakbrowser-mcp, 161 stars), Browser Debugging (MadAppGang/claude-code, 283 stars) and Project Release (swimmwatch/cloakbrowser-mcp, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nimbalyst (a GitHub organization) maintains it in nimbalyst/nimbalyst, which has 1,847 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 5, 2026.
Source: nimbalyst/nimbalyst on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.