Template Reference
Templates are TOML files that define everything about a worker — its identity, model, capabilities, compute mode, and evaluation criteria. The template is the source of truth.
Full example
Section titled “Full example”template_version = "1.0"
[worker]name = "my-worker"
[workstation]model = "claude-sonnet-4-20250514"task = "Analyze the codebase and generate a dependency report."instructions = "Focus on circular dependencies and unused imports."
[workstation.settings]max_tokens = 8192temperature = 0.7
[workstation.capabilities]mcps = ["filesystem", "github"]skills = ["code-analysis"]
[compute]mode = "sandbox"timeout = "2h"
[eval]suite = "analysis-quality"Sections
Section titled “Sections”template_version
Section titled “template_version”Required. Currently "1.0".
template_version = "1.0"[worker]
Section titled “[worker]”Worker identity.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Unique name for this worker type |
[worker]name = "code-reviewer"[workstation]
Section titled “[workstation]”Model configuration and task definition.
| Field | Type | Required | Description |
|---|---|---|---|
model | string | Yes | Model identifier (e.g., claude-sonnet-4-20250514) |
task | string | No | One-shot task description. Worker completes and exits |
instructions | string | No | Ongoing instructions for daemon workers |
Use task for one-shot workers that complete a single job. Use instructions for long-running daemon workers that process multiple episodes.
[workstation]model = "claude-sonnet-4-20250514"task = "Review the latest PR for security issues."[workstation.settings]
Section titled “[workstation.settings]”Model parameters.
| Field | Type | Default | Description |
|---|---|---|---|
max_tokens | integer | Model default | Maximum tokens per response |
temperature | float | Model default | Sampling temperature (0.0 - 1.0) |
[workstation.settings]max_tokens = 4096temperature = 0.3[workstation.capabilities]
Section titled “[workstation.capabilities]”Tools and skills available to the worker.
| Field | Type | Default | Description |
|---|---|---|---|
mcps | string[] | [] | MCP server names (e.g., filesystem, github, slack) |
skills | string[] | [] | Skill names (e.g., code-review, testing) |
Capabilities drive credential inference. When you list mcps = ["github"], arpi’s registry resolves what credentials are needed (GitHub token), provisions them via Infisical, and injects them into the worker’s sandbox.
[workstation.capabilities]mcps = ["filesystem", "github"]skills = ["code-review"][compute]
Section titled “[compute]”Compute environment configuration.
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | "bare" | "sandbox" (isolated container) or "bare" (host process) |
timeout | string | "1h" | Maximum worker lifetime (e.g., "30m", "2h", "24h") |
Sandbox mode provides kernel-level isolation and is required for credential injection. Bare mode runs without isolation — suitable for trusted, low-risk tasks.
[compute]mode = "sandbox"timeout = "2h"[eval]
Section titled “[eval]”Evaluation configuration.
| Field | Type | Required | Description |
|---|---|---|---|
suite | string | No | Name of the eval suite to run against the worker’s output |
Eval suites score worker output using three grader types:
- Code graders — Deterministic checks (regex, assertions, test execution)
- Model graders — LLM-as-judge scoring (rubric-based evaluation)
- Human graders — Manual review queue for subjective quality assessment
[eval]suite = "code-review-quality"