Operator guide

A place to put the work

Task cards track obligations, work directories hold active material, and a compact board keeps the current state visible in prompt. Built-in repair tools help agents diagnose and fix task-system problems safely.

Every agent bundle includes a task system. Task cards are the canonical record of obligations: what exists, what state it is in, and what needs attention. Work directories are optional working surfaces for notes, drafts, plans, and artifacts around an active task. A compact board is injected into prompt so the agent can stay oriented without rereading every task file. When task metadata drifts out of shape, built-in repair tools can inspect issues, preview fixes, and apply safe corrections.

Ask your agent
Show me your task board. What are you working on, what's blocked, and does anything need my attention?

Your agent reads its live task state — not a stale snapshot, but the current reality.

Core principle

Task card = tracked object. Work directory = working surface. They often travel together, but they are not the same thing. A small task may only need a card. A larger effort gets a work directory alongside it to hold planning docs, doing docs, unit files, and artifacts.

When to create a task

Use a task when work needs to persist across turns, be tracked explicitly, or accumulate planning and artifacts over time. The key question is not importance but persistence — some work is modest but needs to survive across sessions and context resets. Quick one-off requests don't need a task. Anything the agent should remember to come back to does.

Task cards

A task card is a markdown file with YAML frontmatter that declares kind: task. That declaration is the signal. Everything else in the task directory — planning docs, doing docs, unit files, artifacts — is support material that the scanner may enumerate for context but does not parse as a task card.

Cards carry status, priority, dependencies, ownership, timestamps, and pointers. They're the source of truth that the board reads from.

Collections

Tasks live in two collections, each representing a different work rhythm:

one-shots/ — bounded work with a clear finish line. Fix a bug, write a feature, review a PR. When it's done or cancelled, it archives.

ongoing/ — standing responsibilities with no single finish line. Maintenance, recurring audits, open-ended projects. These stay active and spawn one-shots as needed.

Work directories

When a task needs room to think, it gets a same-stem directory next to the card. This holds planning docs, doing docs, unit files, and any outputs produced during execution. The scanner detects the directory and lists its contents, but never descends into it looking for task cards.

Not every task needs one. Small tasks may only need a card. Work directories are for tasks with enough moving parts to justify a working surface.

Two examples

Card only — small bounded task

A single card titled "fix login timeout on slow connections" with status: processing and a short body describing the change. No work directory needed.

--- kind: task type: one-shot title: fix login timeout on slow connections status: processing created: 2026-03-28 updated: 2026-03-28 --- Timeout is 5s, should be 15s for mobile.

Card + work directory — larger effort

one-shots/scanner-v2.md ← task card
one-shots/scanner-v2/ ← work dir
planning.md, doing.md, unit-0.md, unit-1.md…

Common layout

one-shots/ bounded work
fix-auth-bug.md ← task card (kind: task)
fix-auth-bug/ ← work directory
planning.md, doing.md, unit-0.md…
ongoing/ standing responsibilities
maintenance.md ← card only, no work dir needed
archive/ archived tasks; completed and cancelled work moves here with its work dir

Exact file names vary by task type and lifecycle stage.

Lifecycle

A common path is draftingprocessingvalidatingdone, with paused, blocked, collaborating, or cancelled available when the work requires it. Both done and cancelled are terminal — the card and its work directory archive together.

The board

The board is a summary, not the source of truth. Task cards are the source of truth. The board exists so the agent can quickly answer: what am I holding, what state is it in, and is the task system itself healthy?

It stays compact because prompt budget matters — the board needs to orient the agent without eating context that should go to the actual work.

[Tasks] drafting:2 processing:3 blocked:1
 processing: auth-fix, api-refactor, docs-update
 blocked: deploy-pipeline
 health: clean

Terminal tasks — done and cancelled — are hidden from active counts. They still exist in archive, but they don't clutter the view.

When issues exist, the health line splits them by urgency:

 health: 1 live, 10 migration

Live issues are problems affecting current operation — a task card with invalid schema, a broken dependency link. Migration issues are historical or structural cleanup discovered during import or evolution — legacy cards missing the kind field, old support docs still at the collection root.

That distinction matches real triage instead of flattening all problems into one scary number.

Self-repair

Both the agent and the operator can inspect and act on task-system problems. The agent can initiate checks during its own work, and the operator can request them via ouro task fix. Every issue the scanner finds has a typed code, a proposed fix, and a confidence level. Safe fixes can always be previewed before applying.

$ ouro task fix
fix plan: 5 safe, 2 review

safe:
  schema-missing-kind: one-shots/old-task.md — add kind: task
  schema-missing-kind: ongoing/maintenance.md — add kind: task

review:
  org-collection-root-clutter: one-shots — 12 support docs at root

ouro task fix --safe applies all deterministic, reversible fixes. Ambiguous issues are inspected one at a time — the agent sees the problem, the options, and decides.

Not every irregularity is urgent, and not every issue should be auto-fixed. If a problem is surfaced as a fixable issue, the agent can inspect the proposed repair before applying it. The tooling supports triage, not unattended rewrites.

What to ask next

  • Which active tasks are stale or at risk of being dropped?
  • Show me the highest-priority task and the working notes behind it.
  • Run a safe task-health check and explain any issues by urgency.
  • Create a task for [describe the work] and start planning it.