← ClaudeAtlas

patcher-plugin-authoringlisted

Write, build, and install Patcher plugins. Use whenever the task is to create a Patcher plugin, extend Patcher itself, or add a Patcher CLI command, agent tool, background service, settings, panel, mention provider, or other Patcher surface via a plugin. Covers the entire backend PatcherPluginApi and the frontend @patcher/plugin-sdk/app contract with working patterns.
laruss/patcher-browser · ★ 0 · API & Backend · score 64
Install: claude install-skill laruss/patcher-browser
# Authoring Patcher plugins A Patcher plugin is a TypeScript package running in-process inside the Patcher server. Its backend entry default-exports a factory that receives the full plugin API (`patcher`); an optional frontend entry registers React UI inside the Patcher app. Plugins are full-trust code: they can read all local Patcher data. Plugins are on by default. Builtin plugins ship with Patcher; a few sit behind their own product gates. `patcher plugin list` shows each plugin's status. This file is the map. Each surface has a reference file next to it — read the one your task needs rather than all of them. ## Quickstart ``` patcher plugin new hello # scaffolds ./patcher-plugin-hello (add --app for a frontend entry) cd patcher-plugin-hello patcher plugin install . # registers the directory in place (--yes to skip the prompt) patcher plugin dev # watch loop: rebuild frontend (if any) + reload on every save ``` The manifest is `package.json`. The required shape: ```json { "name": "patcher-plugin-hello", "version": "0.1.0", "type": "module", "engines": { "patcher": ">=0.9", "patcherPluginSdk": "^1.0.0" }, "patcher": { "name": "Hello", "description": "A friendly example plugin.", "branding": { "icon": "Zap" }, "server": "./server.ts", "app": "./app.tsx", "permissions": [] } } ``` `patcher.permissions` is what the plugin may reach through `patcher.browser` and `patcher.sdk`, and **undeclared me