Tickets

Tickets coordinate work between agents and across sessions. They're markdown files with dependencies, assignments, and status tracking. When an agent completes a ticket, blocked dependents automatically become available.

Why Use Tickets?

Create a Ticket

ayo ticket create "Process Q1 expense reports"

This creates a ticket and returns its ID (e.g., abc123).

Assign to an Agent

ayo ticket create "Process Q1 expense reports" -a @finance

The -a flag assigns the ticket to a specific agent.

Add Dependencies

Create a ticket that depends on another:

# Create first ticket ayo ticket create "Process expenses" -a @processor # Returns: abc123 # Create dependent ticket ayo ticket create "Review processed expenses" -a @reviewer --deps abc123

The review ticket stays blocked until the processing ticket closes.

Check Ready Tickets

See what's ready to work on:

ayo ticket ready

Filter by agent:

ayo ticket ready -a @reviewer

Ticket Lifecycle

Status Description
open Ready for work (dependencies resolved)
in_progress Currently being worked on
closed Completed

Work on a Ticket

# Start working ayo ticket start abc123 # Complete the work ayo ticket close abc123

When you close a ticket, any tickets depending on it automatically become ready.

Add Notes

Add timestamped notes to track progress:

ayo ticket note abc123 "Processed 47 reports, 3 flagged for review"

List All Tickets

# All tickets ayo ticket list # Filter by status ayo ticket list --status open # Filter by assignee ayo ticket list -a @finance

Example Workflow

A multi-stage document processing workflow:

# Create the workflow ayo ticket create "Extract data from invoices" -a @extractor # Returns: step1 ayo ticket create "Validate extracted data" -a @validator --deps step1 # Returns: step2 ayo ticket create "Import to accounting system" -a @importer --deps step2 # Returns: step3 # Check status ayo ticket list # step1: open (assigned to @extractor) # step2: blocked by step1 # step3: blocked by step2 # As each step completes, the next unblocks automatically

Session vs Global Tickets

By default, tickets are stored per-session. For tickets that should persist across all sessions, use the --global flag:

ayo ticket create "Weekly report" -a @reporter --global

Next Steps