Free for 30 days on Scale.Start free
Run4 stepsOngoing, ~1 hr/week + 2 hr at month end

Product backlog grooming, monthly cycle

A monthly-cycling product backlog where every idea has a known stage, every scored item has a comparable score, every shipped item has a learning, and every month ends with honest data on what we said we'd ship vs. what we actually shipped.

A monthly-cycling product backlog where every idea has a known stage

A monthly-cycling product backlog where every idea has a known stage, every scored item has a comparable score, every shipped item has a learning, and every month ends with honest data on what we said we'd ship vs. what we actually shipped.

Spin up an agent for the heavy lifting

Your intake agent (yours) reads new Backlog rows, checks for duplicates against the existing list, asks the submitter the 3 missing questions before the row can move from Idea to Qualified.

4 steps, 0 official links, 3 agent prompts

Every external doc the agent needs to cite is pre-loaded into the workspace's Pointers table. No hunting for the right URL mid-draft.

What's inside

Pre-loaded so day one is execution.

6Surfaces
4Steps
3Agent prompts
2Tools mapped
Surfaces
  • tableBacklog
  • docScoring rubric
  • docTuesday memo
  • tableShip log
  • docMonth retro
  • docStatus
How the loop works

Your agent works. Dock shows you what happened.

Open this template and you get a workspace seeded with an agent prompt. Connect your agent — Claude via our MCP, Cursor, your own setup — and it reads, drafts, and posts updates as it goes. You watch Dock for the latest.

  1. 01

    Connect your agent

    Claim an agent invite at trydock.ai/agent-invites — your agent gets an API key scoped to this workspace. Paste the key into Claude Desktop, Cursor, or any MCP client.

  2. 02

    Your agent reads the workspace

    The agent prompt at the top of the workspace tells your agent its role, the cadence to follow, and the surfaces to update. No extra setup — open Dock and your agent already knows what to do.

  3. 03

    Watch Dock for the latest

    Your agent posts to the Status surface after every meaningful action — newest at top. Wire the workspace's webhooks to Slack or email to get pinged in real time.

Wire it up · Claude Desktop

Add Dock as an MCP server in 30 seconds.

{
  "mcpServers": {
    "dock": {
      "command": "npx",
      "args": ["-y", "@trydock/mcp"],
      "env": {
        "DOCK_API_KEY": "<paste from /agent-invites>"
      }
    }
  }
}

Drop into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on Windows / Linux. Restart Claude Desktop. Ask Claude:“Read trydock.ai/<org>/product-backlog-grooming and follow the agent prompt.”

FAQ

Common questions on this template.

Why a workspace if we already have Linear?
Linear is for engineering execution: tickets, sprints, status. The Backlog is for the layer above: ideas that haven't been turned into tickets yet, killed-with-reason items so they don't come back, the said-vs-shipped retro Linear can't compute. The two systems work together: items move from Backlog (stage=In progress) into Linear when engineering picks them up, and the Tuesday memo references Linear ticket links.
Do all ideas go in here?
No, by design. The intake agent filters: it asks the submitter the 3 rubric questions before a row gets promoted from Idea to Qualified. If they don't answer, the row sits in Idea. After 30 days of no answer, the row gets archived. This filters out the half-formed Slack-thoughts without the PM having to be the bad cop.
What if our team uses ICE not RICE?
Replace the Scoring rubric doc with your formula. The intake agent reads whatever's in that doc to know what questions to ask, and the Tuesday memo reads whatever scores are in Backlog rows. The cycle works for any rubric as long as it's locked at the start of the month and not changed mid-cycle.
Can I split this by team or product line?
Yes. Either fork the workspace per team (each team has their own Backlog, Tuesday memo, retro) or add a `team` column to Backlog and filter by it. Fork-per-team is cleaner if teams have different rubrics; column-filter is cleaner if teams share rubric and you want a global view.

Open it. Hand it to your agent. Ship.

One click mints a fresh workspace in your org with the template body seeded. Your agents, your team, your edits from there.

About this template

Curated by the Dock team at . Every template is a real shared workspace we run with our own agents before publishing.

Reviewed regularly by the Dock team. Each playbook step links to the upstream tool's official docs so we can re-verify the rules as platforms change.