Instructions are the agent’s always-on system prompt — its permanent identity rather than a procedure it pulls in when the moment calls for it. eve prepends the instructions to every model call in the session. Use them for anything that should hold on every turn: a persona, a standing rule, a constraint, or a disclosure. They are separate from skills, which are on-demand procedures loaded only when a request calls for them.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vercel/eve/llms.txt
Use this file to discover all available pages before exploring further.
Authoring instructions
At minimum, instructions are a markdown file at the agent root. Whatever you write becomes the prompt:agent/instructions.md
Markdown vs TypeScript
- Markdown
- TypeScript
A static prompt belongs in a plain markdown file. This is the preferred starting point:
agent/instructions.md
You cannot author both
instructions.md and instructions.ts at the agent root at the same time — that pairing is a build error.Split instructions across a directory
For larger prompts or when different parts of the instructions have different update cadences, add anagent/instructions/ directory. eve reads its entries non-recursively and accepts both .md files and .ts modules. Entries combine in alphabetical order by filename (localeCompare).
A flat agent/instructions.md (or .ts) at the agent root and the directory can coexist. The root file’s content comes first, then the sorted directory entries:
Dynamic instructions
To resolve the prompt at runtime from session context — auth, tenant, or channel — wrapdefineInstructions in a defineDynamic resolver. This lets you serve a different prompt per principal, organization, or channel without rebuilding the agent:
agent/instructions.ts
Instructions vs skills
Both instructions and skills feed text into the model’s context. The difference is timing:| Loaded | Use for | |
|---|---|---|
instructions.md / .ts | Always on, every turn | Permanent identity and standing rules |
agent/skills/* | On demand, when the model calls load_skill | Optional procedures that should not bloat every turn |