with one click
duplicate-example
// Create a new iPlug2 plugin project by duplicating an example template
// Create a new iPlug2 plugin project by duplicating an example template
This skill should be used when the user asks to "create a UI", "add controls", "layout controls", "design the interface", "add a knob", "add a slider", "add a button", "add a meter", "add a spectrum analyzer", "style controls", "theme the UI", "use IVStyle", "use ISender", "create a custom control", "add a keyboard", "make a resizable UI", or discusses IGraphics layout, control selection, styling, or visualization in an iPlug2 plugin.
This skill should be used when the user asks to "add a parameter", "define parameters", "create an enum parameter", "add a gain control", "add a frequency parameter", "use parameter groups", "randomize parameters", "reset to defaults", "smooth a parameter", "use LogParamSmooth", "create presets", "serialize state", "handle OnParamChange", "copy parameter values", "use InitDouble", "use InitEnum", "use InitBool", "use parameter shapes", "use ShapePowCurve", "parameter flags", or discusses parameter definition, grouping, batch operations, smoothing, presets, or state serialization in an iPlug2 plugin.
This skill should be used when the user asks to "create a web UI", "add a WebView", "build an HTML interface", "use Svelte", "use p5.js", "use three.js", "use React", "use web components", "send messages to JavaScript", "receive messages from JavaScript", "hot reload the UI", "use IWebViewControl", "embed a WebView", "WebView editor delegate", "use IPlugSendMsg", "web-based plugin UI", "load HTML in plugin", "use Vite", or discusses WebView setup, JS/C++ messaging, or web framework integration in an iPlug2 plugin.
Take a screenshot of the plugin UI using the standalone app CLI for debugging and documentation
Validate iPlug2 plugin builds using format-specific validators (auval, pluginval, vstvalidator, clap-validator) (project)
Build an iPlug2 plugin project using CMake with Ninja, Xcode, or Visual Studio generators
| name | duplicate-example |
| description | Create a new iPlug2 plugin project by duplicating an example template |
Use this skill when the user wants to create a new plugin project from an iPlug2 example.
Ask for project details:
Available templates:
| Template | Description |
|---|---|
| IPlugEffect | Basic audio effect (volume control) - recommended for effects |
| IPlugInstrument | MPE-capable polyphonic synth - recommended for instruments |
| IPlugControls | Widget demonstration |
| IPlugWebUI | HTML/CSS/JS UI via WebView |
| IPlugSwiftUI | SwiftUI for macOS/iOS |
| IPlugSvelteUI | Svelte-based UI |
Run the duplicate script:
cd Examples
./duplicate.py [SourceExample] [NewPluginName] [ManufacturerName]
Customize config.h (offer to user):
PLUG_UNIQUE_ID - Auto-generated 4-char ID (verify it's unique)PLUG_MFR_ID - 4-char manufacturer IDWarn about sensitive settings:
BUNDLE_NAME without updating plist files#include statementscd Examples
./duplicate.py IPlugEffect MyGainPlugin MyCompany
Creates Examples/MyGainPlugin/ with all project files renamed and configured.