CLI
Documentation

Version Latest

Plugins

Install, manage and write CLI plugins that bundle slash commands, sub-agent profiles, skills, hooks and MCP servers into one unit.

A plugin bundles slash commands, sub-agent profiles, skills, hooks and MCP servers into one installable unit, so a team can share a complete workflow with a single command.

Use plugins

neuralinverse plugin install ./tools/ni-release           # a local folder (copied)
neuralinverse plugin install https://github.com/acme/ni-k8s.git#v1.2.0
neuralinverse plugin install npm:@acme/ni-plugin-security
neuralinverse plugin list
neuralinverse plugin info ni-k8s                          # what it contributes, including hooks and MCP servers
neuralinverse plugin disable ni-k8s --project             # off for this repository only
neuralinverse plugin enable ni-k8s
neuralinverse plugin update                               # re-install all from their sources
neuralinverse plugin uninstall ni-k8s

Plugins install to ~/.neuralinverse/plugins/. A plugin is active when it is installed and enabled, unless a project's settings turn it off with "plugins": { "<name>": false }. In a session, /plugins lists active plugins and load problems, and /reload-plugins re-reads them without restarting: commands, agents, skills and hooks are replaced and MCP servers reconnect.

Contributions are namespaced by plugin name:

ContributionAppears as
Command/<plugin>:<command>
Agent profile<plugin>:<agent>
Skill<plugin>:<skill>
MCP server<plugin>-<server>

Plugin hooks run alongside your own.

Plugins run with your permissions. Install only plugins you trust, and review their hooks and MCP servers with plugin info <name> first. Organisation governance and your permission rules still decide every tool call a plugin's command or agent leads to.

Write a plugin

ni-release/
├── ni-plugin.json
├── commands/notes.md          → /ni-release:notes
├── agents/changelog-writer.md → delegate agent "ni-release:changelog-writer"
├── skills/semver/SKILL.md     → skill "ni-release:semver"
└── scripts/check-tag.sh

ni-plugin.json:

{
  "name": "ni-release",
  "version": "1.0.0",
  "description": "Release notes, changelog and tagging helpers",
  "author": "Acme Platform Team",
  "license": "MIT",
  "engines": { "neuralinverse": ">=0.1.0" },
  "hooks": {
    "tool.before": [{ "matcher": "run_shell", "command": "\"${NI_PLUGIN_DIR}/scripts/check-tag.sh\"" }]
  },
  "mcpServers": {
    "changelog": { "type": "stdio", "command": "node", "args": ["${NI_PLUGIN_DIR}/server/index.js"] }
  }
}
FieldRule
namekebab-case
versionsemver
engines.neuralinverseA semver range the CLI version must satisfy
hooksSame format as the hooks setting
mcpServersSame format as the MCP servers setting
  • commands/, agents/ and skills/ use the same formats as project files; see Instructions, commands and skills.
  • ${NI_PLUGIN_DIR} expands to the installed plugin folder in hook commands and MCP server definitions, and NI_PLUGIN_DIR is set in their environment. Quote it: paths may contain spaces.
  • Check a plugin before publishing with neuralinverse plugin validate <dir>.

Plugins installed from npm are unpacked without running install scripts and without installing dependencies. Ship a self-contained plugin and bundle any JavaScript it needs.

Last reviewed 17 October 2026View as Markdown

Plugins · Docs · Neural Inverse