Reference
Skills, command & hook
Everything the plugin ships. The skills are model-invoked — they trigger themselves when the situation calls for it. The command is something you run.
Skills#
authorization-protocol#
skill model-invoked
Decides whether the agent may execute or must ask for approval — the three-level model, the four-step test, hot zones, and the mechanical-propagation rule. Triggers before any action that writes, edits, commits, pushes, deploys, sends, publishes, or reconfigures, and whenever a request is a broad mandate (“do whatever is needed”, “fix this”, “handle it”) with no specific scope.
Full write-up: the authorization model.
model-delegation#
skill model-invoked
Picks the cheapest model that still preserves quality and risk control, and keeps delegation shallow — tiers by task type, max subagent depth, no self-escalation, and a cheapest-first tool ladder. Triggers on model selection, “delegate this”, “spawn a subagent”, agent depth, cost control, and tool choice.
Full write-up: model & delegation.
context-discipline#
skill model-invoked
Keeps the session anchored in files rather than chat, and signals when to end a long session and hand off cleanly. Triggers on long sessions, context bloat, “where did we leave off”, source of truth, and session handoff.
Full write-up: context discipline.
Command#
/keel-skills:policy-init#
command you run it
Scaffolds your project's AGENT_POLICY.md by exploring the repo and interviewing you about your hot zones and sources of truth. It checks for an existing policy first (and offers to extend rather than overwrite), asks only what it can't infer, and shows you the result before treating it as authoritative.
Note
Hook#
SessionStart#
hook automatic
If your project has an AGENT_POLICY.md, it's injected into context at the start of every session — so the policy no longer depends on the agent remembering to read it. If there's no policy, the hook is silent and the skills fall back to safe defaults. It runs as a cross-platform Node script, so it works the same on macOS, Linux, and Windows.
Repository layout#
Where each component lives in the plugin:
| Component | Path |
|---|---|
| Skills | plugins/keel-skills/skills/<name>/SKILL.md |
| Command | plugins/keel-skills/commands/policy-init.md |
| Hook | plugins/keel-skills/hooks/hooks.json + inject-policy.cjs |
| Policy template | plugins/keel-skills/templates/AGENT_POLICY.template.md |
| Policy packs | policies/<stack>/AGENT_POLICY.md |