Validates VST3 plugins (.vst3 bundles) using Steinberg's official validator tool on macOS, Windows, Linux. Guides usage, options, test suites, building from VST3 SDK, and common issues.
npx claudepluginhub iplug3/audio-plugin-dev-skills --plugin audio-plugin-validatorsThis skill uses the workspace's default tool permissions.
The `validator` accepts a direct path, but `validator -list` only scans standard locations.
Validates VST3 (.vst3) and AudioUnit (.component) plugins using pluginval at configurable strictness levels. Activates on 'run pluginval', 'validate plugin', or cross-format testing requests. macOS/Windows/Linux; AudioUnit macOS-only.
Runs pytest-based automated tests validating Claude Code plugin integrity across 14 categories (config, skills, templates, workflow, etc.). Use before PRs, after changes to skills/templates, or to verify health.
Diagnoses validator failures and explains behavior from runtime artifacts like .debug.log, .execution_state, console logs, check outputs, and config.yml. For 'why did validator fail' or 'diagnose logs' queries.
Share bugs, ideas, or general feedback.
The validator accepts a direct path, but validator -list only scans standard locations.
| Platform | User Location | System Location |
|---|---|---|
| macOS | ~/Library/Audio/Plug-Ins/VST3/ | /Library/Audio/Plug-Ins/VST3/ |
| Windows | %LOCALAPPDATA%\Programs\Common\VST3\ | C:\Program Files\Common Files\VST3\ |
| Linux | ~/.vst3/ | /usr/lib/vst3/ or /usr/local/lib/vst3/ |
.vst3 bundle (in your build output directory or one of the standard locations above)validator binary (see Common Binary Locations below)validator /path/to/plugin.vst3-e: validator -e /path/to/plugin.vst3# Validate a VST3 plugin (validator location depends on your VST3 SDK build)
validator /path/to/plugin.vst3
| Platform | Path |
|---|---|
| macOS | <vst3sdk>/build/bin/Release/validator or /usr/local/bin/validator |
| Windows | <vst3sdk>\build\bin\Release\validator.exe |
| Linux | <vst3sdk>/build/bin/Release/validator |
# Run extensive tests (takes longer but more thorough)
validator -e /path/to/plugin.vst3
# Quiet mode - only print errors
validator -q /path/to/plugin.vst3
# Run only a specific test suite
validator -suite "General Tests" /path/to/plugin.vst3
# Test only a specific processor class ID
validator -cid "ABCD1234..." /path/to/plugin.vst3
# Use local instance per test (isolates tests)
validator -l /path/to/plugin.vst3
# List all installed VST3 plugins
validator -list
# List snapshots from all installed plugins
validator -snapshots
| Suite | Description |
|---|---|
| General Tests | Basic plugin loading and info |
| Single Precision | 32-bit audio processing |
| Double Precision | 64-bit audio processing |
| Bus Activation | Bus enable/disable handling |
| Bus Arrangement | Channel configuration |
| Parameters | Parameter handling and automation |
| State | Preset save/restore |
| Editor | UI creation/destruction |
| Process Context | Transport and tempo handling |
Clone the VST3 SDK if you don't have it, then build:
cd <vst3sdk>
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build --target validator
getState/setState are implemented correctlyThe -e flag runs stress tests that may reveal: