skills/vvvv-editor-extensions/SKILL.md
Helps create vvvv gamma editor extensions — .HDE.vl file naming, Command node registration with keyboard shortcuts, SkiaWindow/SkiaWindowTopMost window types, docking with WindowFactory, and API access to hovered/selected nodes via VL.Lang Session nodes. Use when building editor plugins, custom tooling windows, or automating editor workflows.
npx skillsauth add tebjan/vvvv-skills vvvv-editor-extensionsInstall 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.
Extensions are standard VL patches saved with a .HDE.vl suffix. They run automatically when open in the editor.
| Context | Required Name |
|---|---|
| Standalone extension | VL.MyExtension.HDE.vl |
| Extension-only NuGet | VL.MyExtension.HDE (package ID) |
| Mixed NuGet main doc | VL.MyPackage.vl |
| Mixed NuGet extension doc | VL.MyPackage.HDE.vl |
Command node, window types, WindowFactorySession categoryRegisters a command in the editor menu:
| Pin | Purpose |
|---|---|
| Label | Menu text |
| Visible | Show/hide the command |
| Shortcut | Keyboard binding |
| Output | Triggers (bang) on activation |
Multiple Command nodes can live in one .HDE.vl document.
Warning: A runtime error in one command may affect all others in the same document.
| Type | Behavior |
|---|---|
| SkiaWindow | Slimmed-down Skia renderer window |
| SkiaWindowTopMost | Always-on-top, no focus steal |
Wrap window with WindowFactory node. Connect WindowContext and Window pins.
Template: VL.HDE/Template.HDE.vl
Access hovered/selected nodes, read/write pins via VL.Lang Session category nodes. Browse available API in the HelpBrowser's API section.
data-ai
Diagnoses and fixes common vvvv gamma errors in C# nodes, SDSL shaders, and runtime behavior. Use when encountering errors, exceptions, crashes, red nodes, shader compilation failures, missing nodes in the browser, performance issues, or unexpected behavior.
development
Set up and run automated tests for vvvv gamma packages and C# nodes -- VL.TestFramework with NUnit for library/package authors (CI-ready), test .vl patches with assertion nodes, and lightweight agent-driven test workflows. Use when writing tests for vvvv packages, setting up test infrastructure, creating test patches, running automated compilation checks, or integrating vvvv tests into CI/CD.
testing
Covers launching vvvv gamma from the command line or programmatically -- normal startup, opening specific .vl patches, command-line arguments, package repositories, and key filesystem paths (install directory, user data, sketches, exports, packages). Use when starting vvvv, configuring launch arguments, setting up package repositories, or finding vvvv's data directories.
development
Helps write code using vvvv gamma's Spread<T> immutable collection type and SpreadBuilder<T>. Use when working with Spreads, SpreadBuilder, collections, arrays, iteration, mapping, filtering, zipping, accumulating, or converting between Span and Spread. Trigger whenever the user writes collection-processing C# code in vvvv — even if they say 'list', 'array', or 'IEnumerable' instead of Spread, this skill likely applies.