Skip to main content

hookify

Warn about or block unwanted agent behaviour with simple Markdown rules (.navin/hookify.<name>.local.md), created from an instruction or from the conversation, checked natively on every action.

Reference​

FieldValue
Namehookify
Version1.0.0
CategoryProductivity
LicenceNot declared
Sourcecatalog/navin/builtin_plugins/hookify/plugin.json
READMEcatalog/navin/builtin_plugins/hookify/README.md
Digestsha256:35024c860a60855bf52a07167b479dd480051b76356763508016e6677969317c
plugin.jsonagents, category, commands, description, name, skills, steps, version

Commands​

NameArgumentsDescription
/hookify[behaviour to prevent]Create hookify rules that warn about or block unwanted agent behaviour, from your instructions or from the conversation
/hookify-list-List the hookify rules of this project and of your personal folder, with their state
/hookify-configure-Switch existing hookify rules on or off through a choice card
/hookify-help-Explain how hookify rules work and how to create, list and configure them

Agents​

NameToolsModelDescription
conversation-analyzerread_file, grep, find_filesinheritReads conversation excerpts and finds the agent behaviours the user wants to prevent (corrections, frustration, repeated mistakes), then turns each one into a ready-to-use hookify rule with event, regex pattern and severity. Use when /hookify runs without arguments, or when the user asks to review the conversation and create rules for the mistakes that were made.

Skills​

NameDescription
hookify-rulesExplains how to write hookify rules, the Markdown files in .navin/hookify.<name>.local.md that warn about or block agent actions (shell commands, file edits, stopping, user prompts) by matching regex patterns.
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.

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 rule from an instruction or the conversation/hookify
find the behaviours the user correctedagent:conversation-analyzer
list the rules and their state/hookify-list
switch rules on or off/hookify-configure
explain how rules work/hookify-help
write or fix a rule by handskill:hookify-rules
write a full shell hook instead of a ruleskill:hook-development

Enable it in a project​

Activating hookify creates 8 activations in the project: the plugin itself, 2 skills, 4 commands and 1 agent. 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": "hookify"}'

<project>: id or slug of the project. <token>: API key with the editor role on the project.

client.navin_library.activate("<project>", "plugin", "hookify")