Autonomous Hands
Hands are autonomous workflows that the agent executes on a schedule, with their own budget, tools, and approval gates. Think of them as background jobs that the agent runs independently — checking in with you only when approval is needed.
What is a Hand
Section titled “What is a Hand”A Hand is a named, scheduled task with:
- A prompt — what the agent should accomplish
- A schedule — cron expression for when it runs
- Tools — which MCP tools it can use (scoped, not all tools)
- A budget cap — maximum spend per run
- An approval gate — whether to pause for human approval before acting
hands: - name: "linkedin-prospector" schedule: "0 9 * * 1-5" # Weekdays at 9am prompt: "Find LinkedIn prospects matching Cronoss ICP and add to CRM" tools: ["browser_navigate", "browser_extract", "clickup"] budget_cap_usd: 0.50 output_channel: "default" approval_required: true approval_target: "Esteban"Lifecycle
Section titled “Lifecycle”Each Hand run follows a state machine:
pending → planning → awaiting_approval → executing → completed → failed → rejected- Pending — the cron fires, the Hand is queued
- Planning — the agent creates a numbered plan with steps
- Awaiting Approval — if
approval_required: true, the plan is sent to the approval target for review - Executing — approved plan steps execute sequentially
- Completed/Failed — final state, results sent to
output_channel
Before executing, a Hand creates a plan — a numbered list of steps the agent intends to take. Plans provide transparency and control.
Plan: linkedin-prospector (Run #42)1. Search LinkedIn for CTOs at EdTech companies (50-200 employees)2. Extract top 10 profiles with contact info3. Cross-reference with existing CRM contacts4. Add 5 new prospects to ClickUp "Leads" list5. Draft personalized outreach messages
Budget estimate: $0.35 / $0.50 capApprove? [yes/no]Plans support comments — you can add notes before approving, and the agent adjusts its execution accordingly.
Shared Plans
Section titled “Shared Plans”Plans can be shared with team members for collaborative review:
- Share via link (token-based access)
- Recipients can comment but only authorized roles can approve
- Audit trail tracks who approved what
Budget Control
Section titled “Budget Control”Each Hand has an independent budget cap. The agent tracks spend per run and stops if the cap is reached:
hands: - name: "weekly-report" budget_cap_usd: 0.20 # ...Budget enforcement happens at the tool execution layer. If a tool call would exceed the remaining budget, it’s skipped and the Hand reports what it couldn’t complete.
Defining Hands
Section titled “Defining Hands”Via Config
Section titled “Via Config”Add entries to the hands array in config.yaml:
hands: - name: "daily-standup" schedule: "0 9 * * 1-5" prompt: "Summarize yesterday's git commits and today's ClickUp tasks" tools: ["github", "clickup"] budget_cap_usd: 0.10 output_channel: "default" approval_required: falseVia Chat
Section titled “Via Chat”Tell the agent to create a Hand:
> Create a Hand called "weekly-report" that runs every Friday at 5pm, summarizes the week's PRs and tasks, and sends it to WhatsApp. Budget: $0.30. No approval needed.The agent updates config.yaml and registers the new Hand automatically.
Via Portal
Section titled “Via Portal”The web portal provides a CRUD interface for Hands with fields for name, schedule, prompt, tools, budget, and approval settings.
Hand Templates
Section titled “Hand Templates”Pre-built Hand definitions that can be installed with one command:
> Install the "weekly-report" templateTemplates provide tested prompts, tool configurations, and sensible defaults for common workflows. They’re stored in internal/tool/templates/ and installable via the built-in template_install tool.
Monitoring
Section titled “Monitoring”Hand runs are logged in a SQLite table (hand_runs) with:
- Run ID, Hand name, start/end timestamps
- Status (completed, failed, rejected)
- Token usage and cost
- Plan steps and their outcomes
- Approval history
View run history via the web portal or by asking the agent: “Show me the last 5 runs of the linkedin-prospector Hand.”