Skip to content
cccskills
FreePublished on GitHub

check-inbox

Check Outlook inbox and update daily note with message summary

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md4.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Skill: Check Inbox

Command: /check-inbox Model: Haiku (coordinator) / any (note creation) Agent: main

Description

Check Outlook inbox for unread messages using Playwright. Extracts sender, subject, time, and flags from the DOM, then optionally updates the daily note with an inbox summary.

Prerequisites

  • Playwright installed (@playwright/test in devDependencies)
  • Microsoft Edge installed
  • Authenticated session (run npm run inbox:check without --headless once to authenticate)

Usage

/check-inbox                    # Check unread messages (default)
/check-inbox flagged            # Check flagged messages
/check-inbox all                # Check all messages (no filter)
/check-inbox to-me              # Messages addressed directly to me
/check-inbox --no-daily         # Don't update daily note

Workflow

Step 1: Capture inbox data

Run the inbox check script:

node .claude/scripts/outlook-inbox.js --headless

For other filters:

node .claude/scripts/outlook-inbox.js --headless --filter flagged
node .claude/scripts/outlook-inbox.js --headless --filter all
node .claude/scripts/outlook-inbox.js --headless --filter to-me

This outputs:

  • JSON message data at .claude/logs/inbox-messages-{filter}-{timestamp}.json
  • Screenshot at .claude/logs/inbox-screenshot-{filter}-{timestamp}.png

If the script fails with "Session expired", re-run without --headless:

node .claude/scripts/outlook-inbox.js

Step 2: Read and present results

  1. Find the most recent inbox JSON file:
    .claude/logs/inbox-messages-unread-*.json
    
  2. Read the JSON and screenshot
  3. Present to the user as a summary table:
Inbox — 3 unread messages (10:56 AM)

| Sender               | Subject                       | Time     | Flags   |
|----------------------|-------------------------------|----------|---------|
| Alex Johnson  | Accepted: What is AlertHub   | 10:05 AM | MEETING |
| Chris Taylor      | Re: Pen re-test               | 9:57 AM  |         |
| Udemy Business       | New courses are waiting...    | 10:30 AM |         |

Step 3: Match senders to vault

For each message, search for matching Person notes:

  • Search People/*.md files for sender name matches
  • If found, link to the Person note in the summary
  • If not found, note the sender as unlinked

Step 4: Update daily note (unless --no-daily)

Add or update an ## Inbox section in today's daily note (Daily/YYYY/YYYY-MM-DD.md):

## Inbox

**3 unread** at 10:56 AM

- **Accepted: What is AlertHub** — [[Alex Johnson|Alex Johnson]] (10:05 AM) [MEETING]
- **Re: Pen re-test** — Chris Taylor (9:57 AM)
- **New courses are waiting for you!** — Udemy Business (10:30 AM)

Rules for the daily note update:

  • If an ## Inbox section already exists, replace it with the latest data
  • Place it after ## Meetings and before ## Notes
  • Link senders to Person notes where they exist
  • Include flags in brackets: [MEETING], [ATTACH], [FLAG]

Step 5: Suggest actions (optional)

If the user asks, suggest actions for each message:

  • Meeting acceptances → link to the meeting note if it exists
  • External emails (CAUTION banner) → flag for attention
  • Flagged messages → create Task notes if needed

Available Filters

FilterCLI FlagDescription
unread--filter unreadUnread messages only (default)
flagged--filter flaggedFlagged messages only
to-me--filter to-meMessages addressed directly to me
has-files--filter has-filesMessages with attachments
mentions-me--filter mentions-meMessages where I'm @mentioned
calendar-invites--filter calendar-invitesMeeting invites only
all--filter allAll messages (no filter)

Scheduling

Inbox checks run automatically via launchd at 9:00, 12:00, and 15:00 on weekdays.

  • Job: com.vault.inbox-check
  • Script: .claude/scripts/outlook-inbox.js --headless
  • Logs: .claude/logs/inbox-check.log

The JSON output accumulates in .claude/logs/ — the skill always reads the most recent file.

Authentication

Same persistent browser context as calendar sync (.claude/browser-data/, gitignored). If the session expires during a scheduled run, the next interactive /check-inbox will prompt for re-authentication.

Related Skills

  • [[.claude/skills/sync-calendar/SKILL.md|/sync-calendar]] — Calendar sync (same Playwright approach)
  • [[.claude/skills/daily/SKILL.md|/daily]] — Daily note creation
  • [[.claude/skills/email/SKILL.md|/email]] — Process individual emails into vault notes

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Batch populate summary fields using content analysis

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB54Updated Mar 2, 2026

Batch auto-tag untagged notes using content analysis

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB54Updated Mar 2, 2026

Generate C4 architecture diagrams from system notes

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB54Updated Mar 2, 2026

canvas

Free

Create and edit Obsidian Canvas files for architecture visualization

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB54Updated Mar 2, 2026

commit

Free

Stage and commit vault changes with UK English conventional commit messages

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB54Updated Mar 2, 2026

Evaluate an architecture artifact (ADR, HLD, LLD) against the vault's established architecture principles

The English summary is being prepared. Showing the original description.

DavidROliverBA/ArchitectKB54Updated Mar 2, 2026

See all skills by DavidROliverBA

Report a problem with this skill