Define agentd spec format

t-320.1·WorkTask·
·
·
·Omni/Agentd.hs
Parent:t-320·Created1 month ago·Updated1 month ago

Dependencies

Description

Edit

Summary

Document the agentd spec format in Omni/Agentd/SPEC.md.

Spec Format

Markdown with YAML frontmatter. Body is the task passed to agent.

---
toolchain: haskell
workspace: ./src
model: claude-sonnet-4
provider: claude-code
max_cost_cents: 100
max_iterations: 50
---

The task goes here.

Frontmatter Fields

| Field | Type | Required | Default | Description | |-------|------|----------|---------|-------------| | toolchain | string | yes | - | OCI image: base, git, haskell | | workspace | string | yes | - | Host path to mount at /workspace (writable) | | model | string | no | claude-sonnet-4 | Model to use | | provider | string | no | claude-code | Auth provider | | max_cost_cents | int | no | 100 | Cost limit | | max_iterations | int | no | 50 | Iteration limit |

Note: No skills field. Skills are just files the agent reads on demand.

Mounting

agentd automatically mounts:

  • <workspace>/workspace (rw)
  • <repo-root>/repo (ro) - for AGENTS.md, skills, etc.
  • ~/.config/agent//root/.config/agent/ (ro) - auth

Body

Everything after the frontmatter closing --- is the task.

If stdin is provided, it's appended to the task:

<task body>

---
Input:
<stdin content>

Skill Loading

The agent reads /repo/AGENTS.md which contains the skill index. It can then read any skill file via read_file (e.g., /repo/Omni/Ide/Coder.md).

No special skill injection - the agent decides what to load.

Deliverables

  • [ ] Omni/Agentd/SPEC.md - Full specification
  • [ ] Example specs in Omni/Agentd/Examples/

Timeline (2)

🔄[human]Open → InProgress1 month ago
🔄[human]InProgress → Done1 month ago