Skip to main content

plugin-dev

Toolkit to build Navin plugins: skills, agents, slash commands, hooks, MCP servers and settings, with guided creation and validation.

Reference​

FieldValue
Nameplugin-dev
Version1.0.0
CategoryDevelopment
LicenceNot declared
Sourcecatalog/navin/builtin_plugins/plugin-dev/plugin.json
READMEcatalog/navin/builtin_plugins/plugin-dev/README.md
Digestsha256:ae8c9bb8139e3469550c9a0a227056c50960af7e4a5cc50b2a49590a143fd533
plugin.jsonagents, category, commands, description, name, skills, steps, version

Commands​

NameArgumentsDescription
/create-plugin[plugin description]Create a Navin plugin end to end with a guided 8-phase workflow

Agents​

NameToolsModelDescription
agent-creatorread_file, write_file, list_dir, find_files, grep, exec, skillinheritUse 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-validatorread_file, list_dir, find_files, grep, exec, skillinheritUse 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-reviewerread_file, list_dir, find_files, grep, exec, skillinheritUse 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​

NameDescription
plugin-structureLay out, scaffold, package and install a Navin plugin (plugin.json manifest, skills/, agents/, commands/, hooks/hooks.json, mcp.json, ${NAVIN_PLUGIN_ROOT}).
skill-developmentWrite, restructure or improve a Navin skill (SKILL.md frontmatter, trigger description, progressive disclosure with references/, examples/, scripts/).
agent-developmentDesign 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-developmentWrite 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-developmentWrite 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-integrationConnect 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-settingsGive 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​

StepUse
create a plugin end to end/create-plugin
lay out a pluginskill:plugin-structure
write a skillskill:skill-development
write an agentagent:agent-creator
write a slash commandskill:command-development
write a hookskill:hook-development
add an MCP serverskill:mcp-integration
add plugin settingsskill:plugin-settings
validate a pluginagent:plugin-validator
review a skillagent: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")