Surface Tools

Cross-domain read views that give your AI instant orientation - session dashboards, entity cards, weekly retros, and stuck lists.

Surfaces are high-level “what’s going on” views that pull together data from tasks, CRM, finance, and feeds into actionable snapshots. They’re designed for AI agents that need to orient quickly without making a dozen separate calls.

What you can do

“Catch me up.”

“What did we ship last week? Turn it into a LinkedIn post.”

“What’s falling through the cracks?”

“Give me the full picture on Acme Corp.”


Tools

ToolWhat it does
get_session_startMorning dashboard with overdue tasks, AI work queue, finance pulse (MTD income/expense), cold customers, unread feed counts, and suggested actions. Call this at the start of every session.
get_entity_cardComplete picture of any customer, contact, transaction, or project - the record itself plus open tasks, recent interactions, and linked records in one call.
get_weekly_retroCompleted tasks grouped by their first tag with completion notes. Set format: 'linkedin' for a ready-to-post draft. Supports week_offset to look back up to 12 weeks.
get_stuck_listSurfaces stuck, stale, and overdue tasks: in-progress tasks untouched for N days, anything blocked, and todo items past their due date. Each row includes a days-stale count and suggested triage action.

Session orientation

The get_session_start tool is the recommended entry point for every conversation. It returns:

  • Overdue tasks and tasks due today
  • AI work queue (tasks assigned to @claude, @gpt, etc.)
  • Blocked tasks with their reasons
  • Finance pulse - month-to-date income, expenses, and net
  • Cold customers - active customers with no interaction in 30+ days
  • Unread feed counts by category
  • Suggested actions based on all of the above

On a fresh install, it detects the empty database and offers a guided walkthrough instead of showing an empty dashboard.


Weekly retro

The get_weekly_retro is great for build-in-public updates and team standups. It groups completed tasks by their first tag and includes completion notes as quotes.

You: "What did we ship last week? Format it for LinkedIn."

AI:   get_weekly_retro({ week_offset: 1, format: "linkedin" })

      This week in the build:

      #sales
      - Closed Acme Corp renewal -- "2-year deal at standard rate"
      - Sent revised SOW to BrightLabs

      #product
      - Shipped entity cards feature
      - Fixed stuck list query performance

      #buildinpublic #founders

Entity cards

Use get_entity_card when you need the complete context on any entity. It bundles:

  • The entity record itself (customer details, contact info, or transaction data)
  • All open tasks linked to that entity
  • Recent interactions (for customers and contacts)
  • Linked transactions (for customers)

This replaces the pattern of calling get_customer + list_entity_tasks + list_interactions separately.


Stuck list

The get_stuck_list surfaces work that needs attention across three categories:

  • Stale - in-progress tasks that haven’t been updated in N days (default: 7)
  • Blocked - tasks with status “blocked”, with or without a blocking dependency
  • Overdue - todo items past their due date

Each item comes with a days_stale count and a suggested_action tailored to the situation (e.g. “Check in with @claude or add a progress note” for stale AI-assigned work).