New to Claude Skills? Learn how to install them →

Ppaperclipai on GitHub

Paperclip Plugin Creator

Free

Efficiently scaffold and develop plugins for Paperclip.

Get this skill

Free · Opens the source repo

What Paperclip Plugin Creator does

The Paperclip Plugin Creator skill is designed for developers looking to create and manage plugins for the Paperclip platform. This skill utilizes a CLI-first workflow that allows users to scaffold new plugins outside the core Paperclip repository, ensuring that plugin development remains modular and organized. By using the command paperclipai plugin init, developers can quickly set up a new plugin project in a designated directory, specifying various options such as output location and template type. This approach streamlines the initial setup process, allowing developers to focus on building functionality rather than configuration.

Once the plugin is scaffolded, developers can easily iterate on their code in an external directory. The Paperclip Plugin Creator skill supports a local development workflow where changes can be made and viewed in real-time. By running commands like pnpm dev, developers can watch for changes and automatically rebuild their plugin, making it easy to test modifications without needing to reinstall the plugin after every change. This rapid feedback loop is essential for efficient plugin development, particularly during the early stages of building new features.

The skill also emphasizes best practices for plugin development, guiding users through verification steps to ensure that their plugins adhere to the expected structure and functionality. This includes checking for proper capability declarations, ensuring that UI components are self-contained, and running tests to validate the plugin's behavior. By following these guidelines, developers can create robust plugins that integrate seamlessly with the Paperclip ecosystem.

Overall, the Paperclip Plugin Creator skill is ideal for developers who are actively working on or planning to develop plugins for Paperclip. Its focus on a CLI-first approach and local development workflows makes it a practical choice for those looking to enhance the functionality of the Paperclip platform.

When to use it

Use this skill when you need to create, scaffold, or iterate on a Paperclip plugin in a local development environment.

When not to use it

This skill may not be suitable if you require a fully integrated example plugin within the Paperclip core or if you need to modify the Paperclip core itself.

What you can build with it

Scaffolding a New Plugin

Quickly scaffold a new Paperclip plugin using the CLI command, setting up the necessary directory structure.

Iterating on Plugin Development

Make changes to your plugin code and see the results in real-time without needing to reinstall after every edit.

Verifying Plugin Structure

Run verification commands to ensure your plugin adheres to best practices before deployment.

How to install Paperclip Plugin Creator

View source

1. Install with the skills CLI

npx skills add paperclipai/paperclip/paperclip-create-plugin --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by paperclipai

Create and develop a Paperclip plugin

Use this skill when the task is to create, scaffold, or iterate on a Paperclip plugin against a local Paperclip instance.

1. Default: build the plugin OUTSIDE Paperclip core

Plugins are their own packages. Unless the task explicitly asks for a bundled in-repo example, do not add plugin source under packages/plugins/ in this repo.

  • Scaffold the plugin into a directory outside the Paperclip checkout (e.g. ~/dev/paperclip-plugins/<name>).
  • Install it into the running Paperclip instance by local absolute path.
  • Edit code in the external package; let Paperclip pick up rebuilt output.

Only edit Paperclip core itself when the user asks to surface a plugin as a bundled example (server/src/routes/plugins.ts, in-repo example lists, docs).

2. Ground rules

Reference docs when you need detail:

  1. doc/plugins/PLUGIN_AUTHORING_GUIDE.md
  2. packages/plugins/sdk/README.md
  3. doc/plugins/PLUGIN_SPEC.md — future-looking context only

Current runtime assumptions:

  • plugin workers are trusted code
  • plugin UI is trusted same-origin host code
  • worker APIs are capability-gated
  • plugin UI is not sandboxed by manifest capabilities
  • no host-provided shared plugin UI component kit yet
  • ctx.assets is not supported in the current runtime

3. CLI-first scaffold workflow

Use paperclipai plugin init. Do not invoke the scaffold package node entrypoint by hand unless the CLI command is unavailable in the environment.

paperclipai plugin init @acme/my-plugin --output ~/dev/paperclip-plugins

Useful flags (all optional):

  • --output <dir> — parent directory; the command creates <dir>/<unscoped-name>/. Defaults to the current directory.
  • --template <default|connector|workspace|environment> — starter template.
  • --category <connector|workspace|automation|ui|environment> — manifest category.
  • --display-name <name>, --description <text>, --author <name> — manifest metadata.
  • --sdk-path <path> — snapshot the local SDK from a Paperclip checkout into .paperclip-sdk/ (useful when developing against an unreleased SDK).

On success the command prints the exact next commands (cd, pnpm install, pnpm dev, paperclipai plugin install <abs-path>). Run them in order.

If paperclipai is not on PATH in your environment, fall back to:

pnpm --filter @paperclipai/create-paperclip-plugin build
node packages/plugins/create-paperclip-plugin/dist/index.js @acme/my-plugin \
  --output /absolute/path \
  --sdk-path /absolute/path/to/paperclip/packages/plugins/sdk

4. Local install + rebuild loop

In the scaffolded plugin folder:

pnpm install
pnpm dev            # esbuild --watch: rebuilds dist/manifest.js, dist/worker.js, dist/ui/
paperclipai plugin install /absolute/path/to/my-plugin

Notes:

  • paperclipai plugin install auto-detects local paths (absolute, ./, ../, ~, or an existing relative folder) and forwards isLocalPath: true to the server. Pass --local to force local mode if the heuristic is ambiguous.
  • Paths are resolved to absolute paths before being sent to the server.
  • The server watches built outputs (dist/) for local-path plugins and restarts the plugin worker on rebuild — you do not need to reinstall after every edit.
  • UI hot reload via the SDK dev server (pnpm dev:ui, port 4177) is optional and template-dependent; only mention it if the template wires devUiUrl and you verified it works end to end.
  • --version only applies to npm package installs. Combining it with a local path is an error.

After install, inspect with:

paperclipai plugin list
paperclipai plugin inspect <plugin-key>

5. After scaffolding, sanity-check the package

Open and confirm:

  • src/manifest.ts — declared capabilities and slots
  • src/worker.ts — worker entry
  • src/ui/index.tsx — UI entry (if applicable)
  • tests/plugin.spec.ts — placeholder test
  • package.jsonpaperclipPlugin block points at dist/manifest.js, dist/worker.js, dist/ui/

Make sure the plugin:

  • declares only supported capabilities
  • does not use ctx.assets
  • does not import host UI component stubs
  • keeps UI self-contained
  • uses routePath only on page slots

6. Verification (run before declaring success)

From the plugin folder:

pnpm typecheck
pnpm test
pnpm build

If the plugin is already running under pnpm dev, you can keep the watcher up and run pnpm typecheck and pnpm test in a separate shell.

If you changed Paperclip SDK/host/plugin runtime code in addition to the plugin, also run the relevant Paperclip workspace checks.

7. Success checklist (report this back)

When you finish a local plugin task, report:

  • Scaffold path — absolute path of the created plugin folder.
  • Commands run — the exact paperclipai plugin init, pnpm install, pnpm dev, paperclipai plugin install <path> invocations (and any verification commands).
  • Install status — output of paperclipai plugin list / plugin inspect (plugin key, version, status). Note if status is anything other than ready and include lastError.
  • Tests / build resultpnpm typecheck, pnpm test, pnpm build pass/fail with the failing output if any.
  • Reload limitations — call out anything that did not hot-reload (e.g. manifest changes required a reinstall, UI dev server was not wired, etc.).

If any item is missing, mark it as such — do not silently skip.

8. When NOT to edit Paperclip core

Do not add the plugin under packages/plugins/ or update bundled-example wiring unless the user explicitly asks for a bundled example. Local-path installs are the supported development model; npm packages are the production deployment path.

If the user does ask for a bundled example, also update:

  • server/src/routes/plugins.ts example list
  • any docs that enumerate in-repo example plugins

9. Documentation expectations

When authoring or updating plugin docs:

  • distinguish current implementation from future spec ideas
  • be explicit about the trusted-code model
  • do not promise host UI components or asset APIs
  • prefer local-path development + npm-package deployment guidance over repo-local workflows

Frequently asked questions about Paperclip Plugin Creator

Similar skills