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
| Tool | What it does |
|---|---|
get_session_start | Morning 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_card | Complete picture of any customer, contact, transaction, or project - the record itself plus open tasks, recent interactions, and linked records in one call. |
get_weekly_retro | Completed 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_list | Surfaces 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. |
checkpoint | End-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_history | Chronological, 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. |
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.
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" })
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.