본문으로 건너뛰기
cccskills
무료GitHub에 공개

check-inbox

Check Outlook inbox and update daily note with message summary

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구OutlookPlaywright
설치 방법 보기

포함된 파일(1)

  • SKILL.md4.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Batch populate summary fields using content analysis

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DavidROliverBA/ArchitectKB532026년 3월 2일 업데이트

auto-tag

무료

Batch auto-tag untagged notes using content analysis

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DavidROliverBA/ArchitectKB532026년 3월 2일 업데이트

Generate C4 architecture diagrams from system notes

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DavidROliverBA/ArchitectKB532026년 3월 2일 업데이트

canvas

무료

Create and edit Obsidian Canvas files for architecture visualization

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DavidROliverBA/ArchitectKB532026년 3월 2일 업데이트

commit

무료

Stage and commit vault changes with UK English conventional commit messages

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DavidROliverBA/ArchitectKB532026년 3월 2일 업데이트

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

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

DavidROliverBA/ArchitectKB532026년 3월 2일 업데이트

DavidROliverBA의 스킬 모두 보기

이 스킬의 문제 신고