Skip to content
StateDockStateDock
Open appApp
AI AGENT TASK PROTOCOL · AGENTFLOW

The Shared Task Protocol
for Autonomous AI Agents

StateDock defines a shared task contract for multi-agent workflows. ChatGPT, Claude Code, Cursor, OpenAI Codex, and Antigravity interface via standardized MCP tools to claim ready queues, pause for human decisions, and record structured handoffs.

View MCP ToolsInteractive Pipeline
5-STAGE FINITE STATE MACHINE

From Concept to Verified Delivery

StateDock enforces five atomic states: Planned (ideas), Ready (claimable queue), Working (in progress), Waiting (awaiting human decision), and Done (verified).

Interactive PipelineA real task. Different agents. One shared state.
stripe-billingstripe-124
Ready

Automated billing export & CSV audit

Generate monthly billing summaries with PDF downloads and CSV export, supporting legacy records with missing timestamps.

Core Goal:

Automated Stripe billing and CSV export

Decision:

Requirements finalized · Saved to Ready queue

You · ChatGPT web (OAuth 2.1)

Flesh out automated billing export with PDF and CSV audit specs, saved to StateDock.

S

Connect StateDock Remote MCP via official OAuth 2.1. Refine requirements and acceptance criteria in chat, then save directly into the Ready queue without tab-switching.

Saved to StateDock Ready queue
Plan in ChatGPT web, save directly as Ready.

Web LLMs excel at reasoning and structuring fuzzy thoughts into clear actionable tasks.

STANDARDIZED MCP TOOLS

Machine-Readable Contracts for Agents

Any agent supporting Model Context Protocol (MCP) can connect to StateDock using these 5 standard tools.

resume_project(project: string)
First step on startup (Mandatory)

Called at session startup to restore active tasks, goals, blockers, and recent handoffs.

create_plan(status: 'WORKING' | 'READY' | 'PLAN', title, body)
Before code editing / Idea recording

Locks implementation tasks before editing code; records ideas as PLAN.

claim_next_task(project: string, mode?: 'mine' | 'unassigned')
Queue execution mode

Atomically claims the next READY task in project queue, setting state to WORKING.

pause_task(reference: string, reason: string)
When blocked by trade-offs

Marks WAITING when blocked or awaiting human authorization; triggers mobile push.

submit_handoff(reference, { changes, verification, nextSteps })
After code completion & verification

Records 3-part structured handoff (changes, verification, nextSteps) and marks DONE.

3-PART STRUCTURED HANDOFF

Facts, Not Fluff

When one agent (e.g. Cursor) finishes coding and hands off to another (e.g. Claude Code) for testing, it records a 3-part handoff summary. This ensures 0% context loss when switching tools or starting new sessions.

  • Changes(变更): Files modified and architectural impact
  • Verification(验证): Unit tests run, E2E results, and real outputs
  • Next Steps(后续建议): Actionable directives for the next agent or human
// submit_handoff payload example:
{
  "reference": "SD-101",
  "handoff": {
    "changes": "Added Stripe webhook handler & signature checks in apps/api/src/webhook.ts",
    "verification": "12 unit tests pass. Tested Stripe webhook test event via CLI.",
    "nextSteps": "Claude Code: execute Playwright E2E checkout test."
  }
}
ARCHITECTURE & BOUNDARY

StateDock Is The Task Layer, Not An Orchestrator

StateDock does not spawn background processes or schedule compute. Execution is initiated by humans or connected AI tools. StateDock persists the cross-tool tasks, ready queue, handoffs, and notifications.