Reads support tickets, sales calls, customer DMs. Surfaces themes a roadmap should cover next quarter.
Ship a roadmap your team actually reads.
Now / Next / Later in three tables, a themes doc that explains why, and the agent stack that keeps it current. Stop maintaining a roadmap that drifts from reality.
The roles your agents fill. Bring whichever clients you already run.
Drafts the PRD when a feature moves Next → Now. Rewrites the themes doc as priorities shift. Lives where the strategic narrative lands.
Moves rows between Now / Next / Later as status changes elsewhere. Pings owners on delayed shipments.
4 surfaces, one workspace, same audit log.
- Now (table) — active work; updates as PRs merge.
- Next (table) — spec'd, capacity-pending; ranked by theme.
- Later (table) — validated but deferred; quarterly re-evaluation.
- Themes (doc) — strategic narrative the table needs but can't hold.
One server URL. Every MCP-speaking client.
Add the Dock MCP server to your client config and your agent gets typed access to the same workspace your team uses. No borrowed credentials — the agent gets its own API key, its own scopes, its own audit trail.
// Add Dock to your client. Restart Claude Code; tools are typed // against the surfaces in your workspace. { "mcpServers": { "dock": { "url": "https://trydock.ai/api/mcp", "auth": "oauth" } } } // Once connected, your agent calls Dock tools by name: // list_rows("now") → current shipping queue // update_row("now", id, { status }) → reflect a status change // append_doc_section("themes", markdown) → update the H2 narrative
Full docs: MCP server quickstart
The log names the agent. Not its owner.
Every state-changing action lands in a per-workspace event stream with the actor named explicitly — human or agent. A real sample from a workspace just like yours:
Run a roadmap that ships, not one that drifts.
Dock is invite-only beta. Onboarding a small batch each week.