skills/orderly-plugin-add/SKILL.md
Add / integrate / register an Orderly plugin into an Orderly SDK DEX host app. Use when the user wants to install an Orderly plugin, wire a plugin into OrderlyAppProvider, or connect a local plugin package. Triggers on "add Orderly plugin", "install Orderly plugin", "integrate Orderly plugin".
npx skillsauth add orderlynetwork/orderly-skills orderly-plugin-addInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Integrate an existing plugin package into an Orderly DEX / trading application.
The most important step: Find where
OrderlyAppProvideris used in the project, and add the plugin to itspluginsarray. This is the core of the integration; all other steps revolve around this goal.
registerXxxPlugin().@orderly.network/app (or equivalent) with OrderlyAppProvider.@orderly.network/plugin-core (and peers) per its template.@orderly.network/app installedBefore integrating a plugin, you need to find where OrderlyAppProvider is used:
# Search for OrderlyAppProvider usage
grep -r "OrderlyAppProvider" --include="*.tsx" --include="*.ts" src/
Or use the Grep tool:
OrderlyAppProvider
Once found, open that file and confirm the current state of its plugins property.
To integrate a plugin from the Marketplace (not a local/custom plugin), retrieve its metadata first:
orderly-devkit viewdoes not require authentication and can be run directly.
npx orderly-devkit view <pluginId>
Or with pnpm:
pnpm orderly-devkit view <pluginId>
This returns the plugin's complete metadata, including:
npm_package)usagePrompt — Important integration instructions, from the plugin authorPriority: Check
usagePromptfirst — if it exists, read carefully and follow these instructions (includes author's specific guidance for integrating the plugin: dependencies, configuration, interceptor usage, etc.).If no
usagePrompt, check thereadmefield as a fallback.
Choose a pattern (ask the user which fits their repo):
pnpm-workspace.yaml, then in the host's package.json add via "@scope/plugin-name": "workspace:*"."@scope/plugin-name": "file:../path-to-plugin"."@scope/plugin-name": "latest".After editing the manifest, run pnpm install from the workspace root.
import registerMyPlugin from "@orderly.network/your-plugin";
Prioritize using usagePrompt or readme to determine import path. If not available, check the plugin's package.json or orderly-devkit view output (npm_package field).
Open the OrderlyAppProvider file from step 1:
import { OrderlyAppProvider } from "@orderly.network/app";
<OrderlyAppProvider
brokerId="..."
brokerName="..."
plugins={[registerMyPlugin(/* optional config */)]}
>
{children}
</OrderlyAppProvider>
If there are other plugins, merge them:
plugins={[...existingPlugins, registerMyPlugin()]}
# Verify plugin is registered
grep -r "registerMyPlugin" src/
If the host also has OrderlyAppProvider in Storybook, add the same plugins entry for local testing.
tools
Use when the user wants to write / develop Orderly plugin code — including interceptors, hooks, lifecycle hooks, component patterns, and best practices. Triggers on "develop Orderly plugin", "write plugin", "add interceptor", "plugin architecture", "Orderly hooks", "plugin component", "Orderly SDK patterns".
tools
Prepare and submit / publish an Orderly plugin to the Marketplace via `orderly-devkit submit`. Covers README generation (with user consent), required usagePrompt drafting and approval, manifest updates, and API submission. Use when the user wants to publish, release, upload, or submit a plugin to the Orderly Marketplace. Triggers on "submit plugin", "publish plugin", "release plugin", "marketplace", "upload plugin", "usagePrompt", "orderly-devkit submit", "plugin manifest".
tools
Use when the user wants to scaffold / generate a new Orderly plugin project via the official `@orderly.network/cli` or `orderly-devkit` CLI. Triggers on "create Orderly plugin", "new Orderly plugin", "scaffold plugin", "generate plugin", "orderly-devkit create plugin".
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.