skills/orderly-plugin-create/SKILL.md
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".
npx skillsauth add orderlynetwork/orderly-skills orderly-plugin-createInstall 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.
Scaffold a new plugin package using @orderly.network/cli (the official template).
npx orderly-devkit (preferred if repo depends on CLI) or npx @orderly.network/cliAsk for these if missing. For naming validation rules, see reference.md § Naming conventions:
| Input | Flag | Description |
|-------|------|-------------|
| Plugin name | --name / -n | PascalCase, e.g. BuySellButtons |
| Plugin ID | --id / -i | Optional. Default: kebab-case of name, e.g. buy-sell-buttons |
| Interceptor target | --interceptor | Where the plugin UI appears (see table below) |
| Target directory | --target / -t | Where to create plugin folder. Default: ./<PluginName> |
--interceptor targetsFor the canonical target list, see:
Tip: Use the Inspector tool in your development environment to discover all available interceptor target paths.
npx orderly-devkit create plugin --help
Or:
npx @orderly.network/cli create plugin --help
Show the output to see available flags and current defaults.
After collecting inputs, summarize before running:
Plugin: <Name>
ID: <plugin-id>
Target: <path>
Interceptor: <interceptor-target>
Run from the parent directory (where the plugin folder should be created):
npx orderly-devkit create plugin \
--name "<PluginName>" \
--id "<plugin-id>" \
--interceptor "<InterceptorTarget>" \
--target "<path>"
Or with pnpm:
pnpm orderly-devkit create plugin \
--name "<PluginName>" \
--id "<plugin-id>" \
--interceptor "<InterceptorTarget>" \
--target "<path>"
Plugin created at: <path>/plugins/<plugin-id-kebab>
<plugin-id>/
├── index.tsx # Entry point, exports registration function
├── plugin.tsx # registerXxxPlugin() with interceptors
├── components/ # UI components
├── types/ # TypeScript definitions
├── .orderly-manifest.json # Plugin metadata
└── package.json
.orderly-manifest.json to verify metadata.OrderlyAppProvider.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
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".
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.