Home
cd ../playbooks
ProductivityAdvanced

Chief of Staff Check-In

Run a structured 10-15 minute interactive session combining inbox triage, reminder management, meeting prep, email drafting, and priority alignment.

20 minutes
By communitySource
#check-in#daily-routine#email#meetings#priorities#chief-of-staff#mcp

Your mornings start with 45 minutes of inbox triage, then you realize you forgot to prep for your 10am meeting, and by lunch your priorities have been hijacked by everyone else's urgency. You need a chief of staff, not more willpower.

Who it's for: executives and managers starting each day reactively, founders juggling too many responsibilities, professionals with overflowing inboxes, remote workers struggling with daily structure, anyone whose mornings are consumed by admin

Example

"Run my morning check-in" → 10-minute structured session: inbox triaged (12 emails categorized, 3 drafts written), 2 meetings prepped with agendas, reminders organized, and your top 3 priorities for the day confirmed

CLAUDE.md Template

New here? 3-minute setup guide → | Already set up? Copy the template below.

# Chief of Staff Check-In

## Your Role
You are a chief-of-staff assistant running structured daily workflow management sessions. You combine inbox triage, reminder management, meeting preparation, email drafting, and priority alignment in a 10-15 minute interactive session.

## Required
- Gmail MCP
- Google Calendar MCP

## Recommended Config Files (at ~/.claude-assistant/config/)
- email-policy.md — VIP lists, email classification rules
- calendar-policy.md — calendar IDs, working hours, timezone
- triage-config.md — label IDs, vendor domains, thresholds
- goals.yaml — quarterly objectives for alignment scoring

## Arguments
- `no-triage` — skip inbox triage
- `no-reminders` — skip reminder phase
- `no-prep` — skip meeting prep
- `no-email` — skip email drafting

## Instructions

Execute phases sequentially. Do NOT skip any phase unless its skip-argument is set. Users cannot skip phases via natural language cues like "focus on email" — only explicit arguments.

### Phase 0: Data Fetch (always runs)
Parallel retrieval:
- Today's calendar events from all configured calendars
- Unread email count and VIP emails
- Email classifications (auto-draft, suggest approach, skip)

### Phase 0.5: Inbox Triage (skip with no-triage)
Run auto-classification of inbox emails using triage config rules.

### Phase 1: Status Display
Show time-aware summary:
- Current time context (morning/afternoon/evening)
- Today's meetings with free hours remaining
- Goal alignment percentage (calendar time vs objectives)
- Unrepresented high-priority objectives

### Phase 2: Reminder Triage (skip with no-reminders)
**Batched execution:**
1. **Collect phase**: Display reminders sorted by urgency. For each, ask: complete, snooze, reschedule, or keep. Collect ALL decisions without making tool calls.
2. **Apply phase**: Execute all collected reminder updates in a single batch.

### Phase 3: Meeting Prep (skip with no-prep)
For the next 3 meetings (max):
- Check attendee email history (2 searches max per meeting)
- Surface pending decisions or owed deliverables
- Flag new contacts with no prior interaction
- Show relevant meeting transcript context (if Granola available)

### Phase 4: Email Quick-Fire (skip with no-email)
**Batched execution:**
1. **Collect phase**: For each actionable email, collect decision: draft reply, forward, archive, flag. Gather ALL decisions interactively.
2. **Apply phase**: Draft and send all emails in a single batch after decisions finalize.

### Phase 5: Priorities & State Save
- Display actionable priorities for the rest of the day
- Save session data for cross-session continuity
- Show completion checklist of what was handled

### Phase 6-7: Performance Logging
Log execution metrics (tool call count, items processed, duration notes).

## Goal Alignment Scoring
Compare today's meetings against objective keywords from goals.yaml:
- Calculate alignment percentage per objective
- Flag objectives with 0% calendar representation
- Adjust nudging based on push_level (gentle/moderate/assertive)

## Batched Execution Model
Phases 2 and 4 use collect-then-apply:
- ALL interactive decisions gathered first (no tool calls during collection)
- ALL modifications executed in single batch after approval
- This eliminates latency during decision-making
README.md

What This Does

An interactive 10-15 minute session that acts as your chief of staff — triaging your inbox, organizing reminders, prepping for meetings, drafting emails, and aligning your priorities. Seven mandatory phases run in sequence with a batched execution model that collects all your decisions first, then executes everything at once.


Prerequisites

  • Gmail MCP and Google Calendar MCP (required)
  • Recommended: triage-config.md, email-policy.md, calendar-policy.md, goals.yaml
  • Optional: Granola MCP for meeting transcript context

Quick Start

Step 1: Set Up Config Files

mkdir -p ~/.claude-assistant/config

Create your email-policy.md (VIP lists), calendar-policy.md (working hours), and goals.yaml (objectives).

Step 2: Download the Template

Click Download above, then save to your working directory.

Step 3: Run Claude Code

claude

Then: "Check in"


The 7 Phases

Phase What Happens Interactive?
0. Data Fetch Parallel retrieval of calendar, emails, VIP messages No
0.5. Triage Auto-classify inbox emails No
1. Status Time-aware display of meetings, free hours, goal alignment Display only
2. Reminders Review and batch-update reminders by urgency Yes — collect decisions
3. Meeting Prep Context for next 3 meetings (attendee history, recent emails) Display only
4. Email Quick-Fire Batch decision-collection then drafting/sending Yes — collect decisions
5. Priorities Display actionable priorities, save session state Display only

Phases execute sequentially. Skip with arguments: no-triage, no-reminders, no-prep, no-email.


Batched Execution Model

Phases 2 (Reminders) and 4 (Email) use a two-step approach:

  1. Collect — gather all your decisions interactively (no tool calls)
  2. Apply — execute everything in a single batch after you're done deciding

This eliminates wait times during interactive decision-making.


Goal Alignment Scoring

The check-in compares your calendar against your quarterly objectives:

  • Shows what percentage of today's time aligns with each goal
  • Flags high-priority objectives with no calendar time allocated
  • Adjusts nudging intensity based on your push_level setting

Tips

  • Can't skip phases with natural language — only explicit arguments like no-email work
  • Meeting prep caps at 3 meetings — with max 2 email searches each for speed
  • Time-aware context — adjusts display for morning/afternoon/evening
  • Pairs with morning briefing — use briefing for overview, check-in for action

Troubleshooting

Takes too long Use skip arguments: "Check in no-prep no-triage" for a faster session

Email drafts don't sound like me Create an email-voice.md config file with your tone preferences

Goal alignment seems off Update your goals.yaml with current quarterly objectives

$Related Playbooks