Building plugins with AI
Use the build-plugin skill to build a SquaredUp custom plugin with Claude or another LLM. It explores the target API, plans the plugin with you, scaffolds the files, deploys early so everything is tested against real data, and finishes with out-of-the-box dashboards.
It runs in Claude Code. There are two ways to get it. Pick one, then follow the same guide from What the build-plugin skill does onwards.
Before you start
Before you can dive in and start creating your plugins, there are a few prerequisites to meet and a couple of pieces to set up.
Prerequisites
Check authentication
Run the following to confirm the CLI is authenticated to SquaredUp:
squaredup statusThis prints your tenant name and region. If it says you're not logged in, run:
squaredup login.Choose your development route
Route A is recommended if there's any chance you'll share the plugin or contribute it back to the community. Route B is the quicker path if you're building something private, or want the skill available in a folder you already work in.
Route A: Clone the repo and use the skill locally
git clone https://github.com/squaredup/plugins.git
cd plugins
claudeThen in Claude Code:
/build-pluginThe skill is available under .claude/skills/ as soon as you open Claude Code in the repo root. Your plugin is created at plugins/<YourPlugin>/v1/.
Keep it current. The skill improves regularly. Run git pull origin main before starting a new plugin build.
Route B: Install the skill with npx skills
From any folder:
npx skills add squaredup/pluginsThis pulls the three SquaredUp skills (build-plugin, deploy-plugin and convert-dashboard) and installs them for your agent. You'll be prompted for which skills and which scope. Useful flags:
npx skills add squaredup/plugins --all # install everything, no prompts
npx skills add squaredup/plugins -g # install globally (available in every project)
npx skills list # see what's installed
npx skills update # pull the latest version of the skillsThen open Claude Code wherever you want the plugin to live and run:
/build-pluginTips to get a good result
- Bring proper API documentation:
An OpenAPI/Swagger spec produces a noticeably better plugin than a hand-written docs page. Have it ready before you start. - Use credentials with real data behind them:
Every stream is tested against live responses. An empty or trial account gives the skill nothing to shape columns from, and the plugin will be weaker for it. - Take the Phase 2 approval gate seriously:
Object types, import shape andsourceIdformat are cheap to change in the plan and expensive to change once files are written. Read the plan properly before approving. - Expect it to take a while:
A full build with several object types and a dozen data streams involves real deploys and real imports. - Let the parallel work run:
Phases 5 and 6 spawn sub-agents per stream deliberately — it keeps large API responses out of the main conversation. - Keep the skill up to date:
git pull origin main(Route A) ornpx skills update(Route B).
What the build-plugin skill does
The skill announces itself, checks your prerequisites, then works through nine phases with two hard checkpoints where a real deploy happens. It deploys early and tests as it builds: every data stream runs against your live, authenticated tenant before it's considered finished.
Your active involvement is only needed in three places. The rest runs on its own, though you can interrupt at any point:
- Supplying the API docs
- Approving the plan
- Authenticating the plugin in your tenant at Checkpoint A
The result
Once the process completes, you have a plugin folder that's authenticated and deployed to your tenant, with objects indexed and dashboards ready to use.
my-plugin/
v1/
metadata.json # name, logo, author, object types
ui.json # the config form users fill in
icon.svg
custom_types.json
configValidation.json # validates config when a user adds the data source
docs/
README.md # shown in-product when users add the plugin
indexDefinitions/
default.json # how objects are imported into the graph
dataStreams/
myStream.json
scripts/
myScript.js
defaultContent/
manifest.json
scopes.json
overviewDashboard.dash.jsonContributing your plugin back
Community plugins live in github.com/squaredup/plugins. To contribute to the repo, do one of the following depending on your development route:
- Route A: You're already in a clone. Create a branch, commit your plugin folder, and open a PR.
- Route B: Clone the repo, copy your plugin folder into
plugins/, then branch and open a PR.
Versioning
Every PR that changes plugin files needs a version bump in metadata.json:. See plugin versioning for more details.