Build a Stream Dock plugin with an AI agent in one afternoon

silver round coins on white surface

How much of a hardware plugin can an AI coding agent build without you touching the code directly? MiraboxPR ran that experiment with a Stream Dock controller, and the answer is: most of it, including the installer.

The target was deliberately small. A Coin Flip action: one key press flips 1 to 5 coins, the count is configurable in the Property Inspector, heads render as a gold H and tails as a silver T. Small enough to finish in a session, real enough to involve an SDK, device testing, and a packaged release.

Here is exactly how the workflow ran, including the friction points.

️ Step 1: Give the agent a skill, not a spec

The starting point was a skill repo: MiraboxSpace/StreamDock-Plugin-Builder on GitHub. Handing that link to an agent that can install skills and run local commands was enough. The agent handled its own setup.

Prerequisites on your machine: Node.js, npm, the Stream Dock app, and a physical device to test on. One gotcha: if the skill does not appear after the first install, restart the agent session and call the skill by name.

Step 2: Describe the plugin in one paragraph

The first prompt was a single paragraph. Coin Flip plugin, key press flips 1 to 5 coins, configurable in the Property Inspector, default of 1, gold H for heads and silver T for tails per coin. That was enough for a working first draft that included the action list entry, the Property Inspector field, and key rendering.

a group of coins

Step 3: Test on the device, not in the preview

Bind the action, set Coins per press to 2, press the key, confirm two results appear. Then set it to 5 and press again. Rendering bugs surface much faster on the physical device than in the app preview. Do not skip this step.

Step 4: Iterate with feedback, not with code

Once the count worked, the next prompt was: the count works, add a toss animation: coins rise, flip, land, then stay visible. The agent re-ran the dev build. Because the action hot-reloads, the feedback loop was press, test, fix, repeat.

The toss animation runs approximately 0.72 seconds, then the key holds the result of that toss.

Step 5: Package a release build

Once the device behavior was solid, the prompt was simply: ask for a release build. The agent runs the production build so runtime dependencies are bundled into the output.

Step 6: Make it double-clickable

This is where most of the friction lives. The process:

  1. ZIP the built com.local.streamdock.coinflip.sdPlugin folder so the archive root contains exactly one folder.
  2. Confirm that folder contains manifest.json, plugin/, and propertyInspector/.
  3. Enable file extensions in your OS.
  4. Strip only the trailing .zip so the file name matches the folder exactly, including the .sdPlugin extension.

Double-clicking that file on a machine with Stream Dock installed triggers the installer directly.

⚠️ Gotchas worth knowing before you start

  • Action did not appear after first dev install. A full quit and reopen of the Stream Dock app fixed it. If it still does not appear, check the installation folder before assuming the plugin is broken.
  • Changing the coin count did not update the key immediately. The new value applies on the next toss. Make sure the Property Inspector is bound to the same key, then press the key again.
  • The installer opened as a ZIP. That is a file association issue, not a packaging bug. Show file extensions and confirm the name does not still end in .zip.

The bigger point

The Coin Flip itself is not the interesting part. What is interesting is that the entire loop ran through conversation and device testing, with the agent writing the code. Skill install, plugin scaffold, Property Inspector wiring, animation, packaging: all of it via prompts.

For any project with a local SDK and a testable surface, that is a reasonable way to get a first version out in an afternoon.

Stay on top of AI & Automation with BizStack Newsletter
BizStack  —  Entrepreneur’s Business Stack
Logo