The context layer for Claude Code

Give Claude the context
it needs to ship.

A personal Kanban board that connects Granola, your tasks, and Claude Code. Capture commitments from meetings, triage once, then dispatch each card with full context.

Granola
runnrr
Claude Code
the loop

# granola → runnrr → claude code

granolacaptures your meeting

scanrunnrr extracts commitments + decisions

triageaccept or dismiss in one click

dispatchsend to claude code with full context

doneclaude pushes status back to the board

# no manual status updates. no stale boards.

Three moves. That's the whole product.

No built-in AI. No chat. No team features. Just a context layer between Granola, your board, and Claude Code.

1

Granola → Card

Granola captures your meetings. runnrr scans the transcripts and surfaces the commitments you made and decisions that matter — as cards on your board.

// Granola MCP scan extracts your tasks

POST /api/scan/granola

→ [{ title: "Ship auth flow", confidence: 95 }]

2

Card → Claude Code

Each card carries the full context — what was discussed, what was decided, and why. One click sends it to Claude Code with everything it needs.

// Dispatch card to Claude Code

GET /api/tasks/:id/context

→ { claudeCode: "claude \"Task: Ship auth flow..."" }

3

Claude Code → Card

Push tasks back from any Claude Code session. Attach Markdown with deeper context. The board stays in sync — no manual updates.

// Push from Claude Code

"Add this to runnrr"

→ create_task({ title: "...", context: "# Design..." })

Connects to your stack

Claude Code

Native skill — just say what you want

Cowork

MCP plugin for drag-and-drop context

Granola

OAuth + MCP for meeting transcripts

One command to connect Claude Code

Sets env vars, installs the skill, done.

curl -sL runnrr.io/skill.md -o ~/.claude/skills/runnrr/SKILL.md

Stop losing context between tools.

Free and open source. Set up in 3 minutes.

Get started →