Documentation Index
Fetch the complete documentation index at: https://mintlify.com/quitohooded/keel-skills/llms.txt
Use this file to discover all available pages before exploring further.
AGENT_POLICY.md is the configuration file at the root of your project that tells a Keel Skills implementation what is specific to your project — which paths and actions are hot, where the source of truth lives, and what approvals already stand. The skills ship generic; this file is where all your project’s details live. Keep it short and concrete.
Creating your policy
There are two ways to create yourAGENT_POLICY.md:
Generate it with /keel-skills:policy-init
Run
/keel-skills:policy-init inside your project. The command interviews you about your stack, surfaces, and hot zones, then writes a tailored file. See the policy-init command reference for the full question set and options.Copy a policy pack and trim to fit
Browse the policy packs and copy the one closest to your stack to your repo root as
AGENT_POLICY.md. Then replace every angle-bracket placeholder with a real path or real action, and delete the sections that don’t apply.The six sections
AGENT_POLICY.md has six sections. The first three are required; the rest are optional but recommended.
| # | Section | Required | Purpose |
|---|---|---|---|
| 1 | Hot zones | Yes | Concrete paths, surfaces, and actions that need a green light |
| 2 | Source-of-truth files | Yes | Files that need a green light for meaning-changing edits |
| 3 | Where state and decisions get recorded | Yes | Decisions log, project-state file, per-task notes |
| 4 | Model tier overrides | No | Project-specific model assignment overrides |
| 5 | Definitions for this project | No | Pin down undoable, internal, release |
| 6 | Standing approvals | No | Pre-approved actions with explicit scope |
Section 1 — Hot zones
Hot zones are the paths, surfaces, and actions where a mistake is expensive or hard to undo. The agent needs a clear yes — a green light — before touching anything listed here. The template groups them into four sub-categories:- Client/external-facing surfaces — anything rendered or served to users: routes, components, published copy, public assets, public API routes.
- Production / data / infra — databases, schema and migrations, environment variables and secrets, CI/CD config, deploy configuration, hooks.
- Outward / irreversible actions —
git push, deploy commands, sending email, charging money, deleting data. - Anything else this project treats as hot — add project-specific entries that don’t fit the above.
Section 2 — Source-of-truth files
Source-of-truth files are files that other work depends on. A new decision or any meaning-changing edit to one of these files needs a green light. The one exception is following through on an already-approved decision — that runs without a new green light only when all four conditions hold:- No judgment needed — two people applying the same decision produce the same change.
- The decision states the scope — it is not being guessed.
- The change points back to the source decision.
- The decision is still current — nothing later has overridden it.
Section 3 — Where state is recorded
Section 3 tells the context-discipline skill exactly where to write decisions and status — so it records them in the right place instead of guessing. Three fields:- Decisions log — path to the file where decisions are recorded (e.g.
docs/decisions.md). - Project state / status file — path to the current-state file (e.g.
STATUS.md). - Per-task notes — the convention for per-task notes (e.g. a per-task file, a PR description).
Section 4 — Model tier overrides
Section 4 is optional. Themodel-delegation skill ships with defaults (cheapest tier for mechanical work, mid tier for research and synthesis, top tier for planning and architecture). Add entries here only if you have a project-specific reason to override them.
Section 5 — Definitions for this project
Section 5 is optional. Pin down any term the agent might have to guess otherwise — “reversible”, “internal”, “release”. Clear definitions let the agent apply the four-step check accurately without asking about every edge case.Section 6 — Standing approvals
Standing approvals are pre-approved actions — written decisions in the policy file that give a green light in advance for a defined scope. They are the human-readable form of thestanding_allow_commands and standing_allow_paths fields in the machine-readable block.
Each entry uses the format [APPROVED <date>] <action + exact scope>. The scope must be explicit — an entry that does not state its scope is not a valid green light, and the agent must not guess it.
The machine-readable block
AGENT_POLICY.md can contain an optional fenced ```keel-policy block. The prose sections of the file are written for an LLM to reason with; the PreToolUse enforcement hook is deterministic code that needs a concrete, parseable subset. The block provides that subset — in the same file, so the project keeps one source of truth.
See the machine-readable block reference for the full format, all four fields, and how the block interacts with the SPEC §4 defaults.
Template
The canonical template below shows all six sections with their placeholders. Copy it to your project root asAGENT_POLICY.md and fill in the angle-bracket values for your project.
The template comment at the top of the real file contains a bilingual note (English and Spanish). The sections are identical in both languages — the format does not change.