the language
agent
Delegate. An autonomous loop, on a leash you can read. One of the four verbs. A verb is a distinct native execution model, and every task speaks exactly one. default-deny tools · max_turns + max_tokens_total, never an unleashed loop.
- 9block keysthe contract
- 1requiredprompt
- 4check gatestyped findings
- 1skeletonsspeak this verb
the shape
a complete workflowSchema-valid whole: this exact text passes nika check (the on-page YAML gate re-validates it on every test run).
nika: v1workflow: id: delegatemodel: ollama/llama3.2:3btasks: audit: agent: prompt: "Find every dead link in ./docs" tools: [ "nika:read", "nika:fetch" ]inside agent:
9 keys · 1 requiredThe block's vocabulary comes from the served contract itself (workflow.schema.json). Each key opens its register row.
- max_tokens_total
integer | stringthe agent’s total spend bound across all turns- max_turns
integer | stringthe agent’s loop bound; the worst case is finite- model
string- prompt*
stringthe model job, in words: interpolate ${{ }} references, never paste secrets- schema
objectJSON Schema · validate the agent's final message as structured output.- skills
arrayAgent Skill (SKILL.md) file paths · agentskills.io shape · explicit static paths only (no globs · no templates) · loaded at compose time and injected into the system context.- system
stringthe standing instruction: who the model is for this task- temperature
number | string- tools
arrayWhitelist · DEFAULT-DENY (no tools if absent) · gitignore-style globs · `!` negation.
cross-references
skeletons that speak it
the check gates
where it lives
errors of this verb
The verbs are locked forever: four, never five (fetch is a builtin, not a verb; ordering is the DAG's job, not a word's). The grammar lives in spec 02 · verbs; every other key is in the keyword register. Read the spec →