.Worker v1
The .Worker viewer
A .Worker file defines an agentic worker: its job, the accounts it acts through, what it may do, what starts it, and where it runs. Paste one here to color it, format it and check it against the spec. New to the format? Read the documentation.
No problems
This file follows the .Worker v1 rules.
Everything runs in your browser. Nothing you paste is uploaded. Press Cmd+S to format, Tab to indent, and Esc then Tab to leave the editor.
Three kinds in one file
A .Worker file holds one or more YAML documents separated by ---. Each one declares a kind.
kind: Worker
The portable definition: job, model, instructions, skills, the connections it needs, policy and triggers.
kind: Assignment
One deployment of a worker for one client: whose accounts fill each connection, who approves, and the budget.
kind: Box
The machine: image, region, size, volume, sleep schedule, and the assignments that run on it.
Lint rules
Every check the viewer runs. Rule ids are stable, so you can refer to them in reviews.
| Rule | Severity | What it checks |
|---|---|---|
| yaml/syntax | error | The file must be valid YAML. |
| doc/api-version | error | Every document declares apiVersion: agenticworkers.com/v1. |
| doc/kind | error | kind is Worker, Assignment or Box. |
| doc/id | error | id is required, lowercase, and unique in the file. It never changes when the name does. |
| doc/unknown-key | warning | Top-level keys must be known for the kind. Close misspellings get a suggestion. |
| job/summary | warning | A Worker states its job in one sentence. |
| model/provider | warning | openai-codex and custom providers are applied as box config, not stored by the platform yet. |
| connection/shape | error | Each connection has an id, a via of composio, mcp or env, and the fields that via needs. |
| connection/allow-list | error | An MCP connection lists the tools it may use. An empty list would expose every tool. |
| connection/enum | error | auth, on_missing and on_expired use the documented values. |
| policy/rule | error | policy.default is allow or deny, and each rule is allow, require_approval, forbid or require. |
| policy/unknown-connection | warning | A dotted tool reference starts with a declared connection id. |
| trigger/shape | error | Each trigger has an id and exactly one of cron, every, event or webhook. |
| trigger/cron | error | cron has five fields; every is a number and a unit (5m, 1h). |
| trigger/deliver | warning | deliver is chat, telegram, chat_and_telegram or none. |
| trigger/event-connection | error | An event trigger names a declared connection. |
| secret/inline | error | Secret values never appear in the file. Use vault://box/NAME. |
| secret/name | error | Secret names are uppercase and avoid reserved prefixes (AGW_, HERMES_, COMPOSIO, GATEWAY_, API_SERVER_, BOX_GATEWAY). |
| secret/agent-scope | warning | vault://agent/ references are not supported by the platform yet. |
| bind/unknown-connection | error | An Assignment binds only connections its Worker declares. |
| bind/missing | error | An Assignment binds every required connection. |
| bind/mixed-owners | error | Composio connections on one worker share one owner: org, or agent and client. The platform uses one Composio account set per agent. |
| bind/invite | error | Client invites need owner client or agent, and expire in 1d, 7d or 30d. |
| box/machine | error | Box cpus are 1, 2, 4, 6 or 8, memory is at most 16Gi, and volumes are at most 100Gi. |
| box/capacity | warning | Worker memory requests on a box fit inside its machine memory. |
| resources/limits | error | A memory limit is at least the memory request. |
| value/todo | warning | TODO values must be filled in before apply. |