Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion .claude/skills/build-plugin/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: build-plugin
description: Guides building a SquaredUp low-code plugin for HTTP/REST APIs, from API exploration through deployment. Use when the user wants to integrate a service with SquaredUp, add a new data source, connect to a third-party tool, "pull data from", or "monitor" any service in SquaredUp.
metadata:
author: SquaredUp
version: "1.0.0"
version: "1.1.0"
---

# Building a SquaredUp Low-Code Plugin
Expand Down Expand Up @@ -53,6 +53,7 @@ Create a TaskCreate task for each phase. The flow deploys early and tests as it
- [ ] **Phase 7** — Build OOB default content in a sub-agent (it reads [oob-content.md](references/oob-content.md))
- [ ] **Phase 8** — Write `custom_types.json` → [common-patterns.md](references/common-patterns.md)
- [ ] **Phase 9** — Finalize `docs/README.md`, then final validate and deploy → [readme.md](references/readme.md); invoke the `deploy-plugin` skill; re-index if import definitions changed since the last import
- [ ] **Phase 10 (optional)** — Ask whether to contribute the plugin back; only on a yes, review it for secrets and organisation-specific data, then raise a pull request using the matching template → [contribute.md](references/contribute.md)

---

Expand Down Expand Up @@ -322,3 +323,13 @@ Write `custom_types.json` — for this and other reusable patterns (built-in pro
Then invoke the `deploy-plugin` skill for the final validate, version bump, and deploy.

**Conditional final re-index.** If `indexDefinitions/*.json` or any import stream changed since the last successful import (the Checkpoint B run, or any re-index triggered by the [re-indexing rule](#re-indexing-rule--a-definition-change-leaves-imported-objects-stale)), the deployed tenant's objects are **stale** — they still match the **old** definition and won't pick up the new shape until the next scheduled import, up to `frequencyMinutes` away (default `720` = 12 hours). So after the final deploy lands, trigger + poll one more import (the [Checkpoint B](#checkpoint-b-redeploy--run-the-first-import) trigger/wait steps) so the deployed objects match the shipped definition. Skip only if no import definition or import stream has changed since the last import.

---

## Phase 10 (optional): Contribute the plugin back
Comment thread
clarkd marked this conversation as resolved.

Once the final deploy has landed, **ask the user** with `AskUserQuestion` whether they'd like to contribute the plugin to the community by raising a pull request against `squaredup/plugins`. Always ask — even in autonomous mode, and even if the user waived the Phase 2 approval gate — and never raise a PR without an explicit yes. If they decline, the build is complete.

Ask **once per conversation**. If the user is making a series of small changes (adding a stream, tweaking a tile), deploying each one, don't ask again after every deploy — once they've answered, they can ask for this step themselves when they're ready.

On a yes, follow [contribute.md](references/contribute.md).
Loading
Loading