Surface Tools

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

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.”

“Let’s checkpoint - wrap up this session.”

“What’s happened on the founders-os project lately?”


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.
checkpointEnd-of-session bookend to get_session_start. Returns the ordered wrap-up procedure (summarize, capture repo changes as commit links, store the record, propose follow-up tasks, write the handoff doc), the exact memory call to make, and the previous checkpoint so open items carry forward.
get_project_historyChronological, newest-first timeline of a project’s checkpoints. The “what happened, in order” companion to semantic memory recall; pass kind: 'all' to include every memory, not just checkpoints.
get_last_checkpointPull up your most recent checkpoint to see where you left off, or resume the work from it. Searches across all projects unless one is clear from context.

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).


Session checkpoints

When you wrap up a work session, checkpoint turns it into a durable, per-project record you can read back later. Say “checkpoint” (or “wrap up this session”) and your AI runs the end-of-session procedure: summarize what happened, capture repo changes as commit links, store a structured record, propose follow-up tasks, and write a handoff doc for the next session. Checkpoints ride the existing memory store, so there’s no new database entity and no migration.

get_project_history reads them back as a chronological, newest-first timeline for a project - the “what happened, in order” companion to the semantic memory_recall. Pass kind: 'all' to see every memory for the project, not just checkpoints.

get_last_checkpoint is the quick way back in. Ask “where did I leave off?” and it returns your latest checkpoint, or pass intent: 'resume' to pick the work back up. If it can’t tell which project you mean, it asks instead of guessing.

You: "Checkpoint, please."

AI:   checkpoint({ project: "founders-os" })

      (summarizes the session, stores a checkpoint memory, and writes
       the handoff doc)
      docs/founders-os-session-handoff-2026-07-10-01.md

You: "What's happened on founders-os lately?"

AI:   get_project_history({ project: "founders-os" })

You: "Pick up from my last checkpoint."

AI:   get_last_checkpoint({ intent: "resume" })

Handoff docs are named with a two-digit, per-day sequence (-01, -02, …) that resets each day, so multiple sessions on the same day stay in true chronological order.