outlook-email

Pull Outlook inbox messages into a local Markdown/YAML cache via Microsoft Graph.

Updated Jan 16, 2026
One-click install
npx skills add https://github.com/mikesmullin/outlook --skill outlook-email
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: outlook-email
Source: https://github.com/mikesmullin/outlook/tree/main
Command: npx skills add https://github.com/mikesmullin/outlook --skill outlook-email

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It solves the problem of spending too much time manually triaging and handling Outlook inbox messages by letting you reliably ingest emails once and then work with them quickly offline.

Core Features & Use Cases

  • Online ingestion (sync Outlook → local cache): Pulls unread emails from Office 365 using Microsoft Graph, deduplicates them by SHA1 of the Outlook message ID, stores each email as a Markdown file, and can mark/move processed messages in Outlook.
  • Offline analysis and interaction: Lists cached emails, views full YAML/HTML bodies, and marks emails as read/unread purely in the local database for agent workflows.
  • Offline-to-online change application: Queues changes (read/unread/delete/move) offline, previews them with a plan, then applies them back to Outlook with explicit confirmation.

Quick Start

Ask the system to pull 1 email from yesterday and then list it for review using the command: outlook-email pull --since yesterday --limit 1.

Frequently Asked Questions about outlook-email

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pull Outlook emails into a local offline cache for triage?

You can pull Outlook emails into a local offline cache by ingesting unread messages from Office 365 via Microsoft Graph and storing them as deduplicated Markdown and YAML files using SHA1-based filenames.

What permissions do I need to read and move Outlook emails offline?

Reading and moving Outlook emails offline requires Microsoft Graph access tokens with Mail.Read permissions, while queuing state changes like moving or deleting messages additionally needs Mail.ReadWrite permissions.

How do I queue offline email changes and sync them back to Outlook?

You queue offline email changes like read, unread, delete, or move status updates, preview them with a plan, and then apply them back to Outlook with explicit confirmation synchronization.

Does Microsoft Graph work with offline email processing and search workflows?

Microsoft Graph supports offline email processing by pulling inbox messages into a Git-friendly local cache, enabling offline list, view, and search workflows before synchronizing queued changes back online.

Can I store Outlook emails as Markdown files for Git-friendly version control?

Outlook emails are stored as Git-friendly Markdown files with YAML frontmatter, using SHA1 hashes of Outlook message IDs as filenames to ensure deduplication and version control compatibility.

Why are my Outlook email ingestion duplicates appearing in the local cache?

Duplicate Outlook emails in the local cache are prevented through SHA1-based deduplication of the Outlook message ID during ingestion, ensuring each email is only stored once.