plugin-dev
Toolkit to build Navin plugins: skills, agents, slash commands, hooks, MCP servers and settings, with guided creation and validation.
Reference
| Field | Value |
|---|---|
| Name | plugin-dev |
| Version | 1.0.0 |
| Category | Development |
| Licence | Not declared |
| Source | catalog/navin/builtin_plugins/plugin-dev/plugin.json |
| README | catalog/navin/builtin_plugins/plugin-dev/README.md |
| Digest | sha256:ae8c9bb8139e3469550c9a0a227056c50960af7e4a5cc50b2a49590a143fd533 |
| plugin.json | agents, category, commands, description, name, skills, steps, version |
Commands
| Name | Arguments | Description |
|---|---|---|
/create-plugin | [plugin description] | Create a Navin plugin end to end with a guided 8-phase workflow |
Agents
| Name | Tools | Model | Description |
|---|---|---|---|
agent-creator | read_file, write_file, list_dir, find_files, grep, exec, skill | inherit | Use this agent when the user wants a new Navin subagent written from a plain-language description: it designs the role, writes the triggering examples and saves the agent file. Typical requests are "create an agent that reviews migrations", "make me a subagent for release notes" or "add an agent to my plugin". |
plugin-validator | read_file, list_dir, find_files, grep, exec, skill | inherit | Use this agent when a Navin plugin must be checked for structure and quality - after creating or modifying one, before publishing it, or when a plugin component does not load. It validates plugin.json, skills, agents, commands, hooks and MCP servers and returns a report. |
skill-reviewer | read_file, list_dir, find_files, grep, exec, skill | inherit | Use this agent when a Navin skill needs a quality review - after writing or changing a SKILL.md, before shipping it in a plugin, or when a skill does not trigger when it should. It reviews the description, the body, progressive disclosure and bundled files, and returns a rated report with fixes. |
Skills
| Name | Description |
|---|---|
| plugin-structure | Lay out, scaffold, package and install a Navin plugin (plugin.json manifest, skills/, agents/, commands/, hooks/hooks.json, mcp.json, ${NAVIN_PLUGIN_ROOT}). |
| skill-development | Write, restructure or improve a Navin skill (SKILL.md frontmatter, trigger description, progressive disclosure with references/, examples/, scripts/). |
| agent-development | Design and write Navin subagents (agents/<name>.md with name, description and examples, tools, model, color, and a system prompt body), and test that Navin delegates to them. |
| command-development | Write Navin slash commands as Markdown prompt files (frontmatter, $ARGUMENTS, $1..$9, ${1:-default}, @file inlining, !cmd shell output, allowed-tools, namespaces, plugin commands with ${NAVIN_PLUGIN_ROOT}). |
| hook-development | Write Navin lifecycle hooks (hooks.json, PreToolUse, PostToolUse, UserPromptSubmit, SessionStart, Stop, SubagentStop) as shell commands that read the event JSON on stdin and block, warn or add context through exit codes and JSON output. |
| mcp-integration | Connect MCP servers to Navin and ship them in plugins (mcp.json, stdio, sse, streamableHttp, env and headers, ${NAVIN_PLUGIN_ROOT}, enabledTools, toolTimeout, mcp_<server>_<tool> names). |
| plugin-settings | Give a Navin plugin per-project settings stored in .navin/<plugin>.local.md (YAML frontmatter for values, Markdown body for free text) and read them from hooks, commands and agents. |
Hooks, MCP servers and settings
plugin.json declares no hook, no MCP server and no setting: the plugin is made of the components above only.
Workflow
| Step | Use |
|---|---|
| create a plugin end to end | /create-plugin |
| lay out a plugin | skill:plugin-structure |
| write a skill | skill:skill-development |
| write an agent | agent:agent-creator |
| write a slash command | skill:command-development |
| write a hook | skill:hook-development |
| add an MCP server | skill:mcp-integration |
| add plugin settings | skill:plugin-settings |
| validate a plugin | agent:plugin-validator |
| review a skill | agent:skill-reviewer |
Enable it in a project
Activating plugin-dev creates 12 activations in the project: the plugin itself, 7 skills, 1 command and 3 agents. Removing the plugin activation removes them all.
curl -X POST <control-plane-url>/v1/projects/<project>/navin-library/activations \
-H "Authorization: Bearer <token>" -H "Content-Type: application/json" \
-d '{"kind": "plugin", "name": "plugin-dev"}'
<project>: id or slug of the project. <token>: API key with the editor role on the project.
client.navin_library.activate("<project>", "plugin", "plugin-dev")