Three ways to set instructions
- Inline string
- Instruction file
- Auto-detection
Set instructions directly on the Agent. Best for simple, static prompts.
Precedence chain
When multiple sources are available, AFK uses this order: The first non-empty source wins. If you set bothinstructions and instruction_file, the inline string takes priority.
Template variables with Jinja2
Use{{ variable }} syntax to inject dynamic values into prompts:
Available template variables
Prompt from file with templates
Templates work in instruction files too:prompts/reviewer.md
Error handling
Design guidelines
- Inline for prototyping, files for production. Switch to instruction files when your prompt exceeds ~5 lines.
- Use templates for anything dynamic. Don’t concatenate strings — use
{{ variable }}and set values incontext. - Be specific in instructions. Tell the agent what to do and what not to do. Include output format expectations.
- Test prompt changes with evals. A small prompt change can dramatically shift behavior. Run your eval suite after any edit.
Next steps
Agent Skills
Reusable knowledge bundles loaded on demand.
Evals
Test prompt changes with behavioral assertions.