Installation
Run without installing
Section titled “Run without installing”Always pin to an exact version in scripts and hooks — never use @latest:
# Explore (one-off)npx universal-plugin@latest --help
# Scripts and CI (pin to current version)npx universal-plugin@$(npm view universal-plugin version) buildInstall globally
Section titled “Install globally”npm install -g universal-pluginuniversal-plugin buildFast repeated calls: upx
Section titled “Fast repeated calls: upx”npx re-resolves and re-spawns on every call — roughly 1s of overhead each time, even when the
package is already cached. If a skill or script calls a CLI many times, that adds up. upx is a
second bin shipped by this package that finds an already-installed version satisfying a semver
range and runs it directly, about 10× faster, falling back to npx when nothing local matches:
npm i -g universal-plugin # installs the upx bin alongside universal-plugin
upx cyber-skills@^2 audit validateUse a caret range (@^2), not an exact pin — that’s what lets one global install serve every
caller at that major. upx only exists once installed; npx ships with npm by default, so keep
using npx for environments where universal-plugin isn’t installed globally.
Install as a dev dependency
Section titled “Install as a dev dependency”npm install --save-dev universal-plugin# orpnpm add -D universal-pluginThen use it from package.json scripts:
{ "scripts": { "build:plugin": "universal-plugin build", "postinstall": "universal-plugin build" }}Requirements
Section titled “Requirements”- Node.js >= 22
- A
plugin.jsonat the plugin root (see Introduction)