swiftlysingh

Outlook Skill

First read the email to get context, then send a reply using the sender's address.

swiftlysingh 3 1 Updated 4mo ago

Resources

1
GitHub

Install

npx skillscat add swiftlysingh/toolbox/outlook

Install via the SkillsCat registry.

SKILL.md

Outlook Skill

You are helping the user interact with Microsoft Outlook using the octl CLI tool.

Prerequisites

Ensure octl is installed and authenticated:

# Check if octl is installed
octl --help

# Check authentication status
octl auth status

If not authenticated, guide the user through:

octl auth login --client-id <their-azure-client-id>

Available Commands

Email Operations

# List recent emails
octl mail list

# List unread emails only
octl mail list --unread

# List emails from specific folder
octl mail list --folder inbox

# Read a specific email
octl mail read <message-id>

# Search emails
octl mail search "search query"

# Send an email
octl mail send --to recipient@example.com --subject "Subject" --body "Body text"

# Send HTML email
octl mail send --to recipient@example.com --subject "Subject" --body "<h1>HTML content</h1>" --html

# Create a draft
octl mail draft --to recipient@example.com --subject "Subject" --body "Draft content"

# List mail folders
octl mail folders

# Move email to folder
octl mail move <message-id> <folder-id>

Calendar Operations

# List upcoming events (next 7 days)
octl calendar list

# List events for specific number of days
octl calendar list --days 14

# Show today's events
octl calendar today

# Show this week's events
octl calendar week

# View event details
octl calendar show <event-id>

# Create an event
octl calendar create --subject "Meeting" --start "2024-01-15T14:00:00" --duration 1h

# Create all-day event
octl calendar create --subject "Conference" --start "2024-01-20" --all-day

# Create online meeting with attendees
octl calendar create \
  --subject "Team Sync" \
  --start "2024-01-15T10:00:00" \
  --duration 30m \
  --online \
  --attendees alice@example.com,bob@example.com

# Respond to meeting invitation
octl calendar respond <event-id> accept
octl calendar respond <event-id> decline --comment "Sorry, conflict"
octl calendar respond <event-id> tentative

# Delete an event
octl calendar delete <event-id>

Output Formats

All commands support different output formats:

# Default table format
octl mail list

# JSON output (for scripting/parsing)
octl mail list --json

# Plain text (tab-separated)
octl mail list --plain

Guidelines

  1. Always check auth status first if a command fails with authentication errors
  2. Use --json flag when you need to parse or process the output programmatically
  3. Use message IDs from octl mail list output for read/move operations
  4. Use event IDs from octl calendar list output for show/respond/delete operations
  5. For dates, use ISO 8601 format: 2024-01-15T14:00:00
  6. For durations, use formats like: 30m, 1h, 1h30m

Common Tasks

Check unread emails and summarize

octl mail list --unread --json

Find emails from a specific sender

octl mail search "from:sender@example.com"

Check today's schedule

octl calendar today

Quick reply to an email

First read the email to get context, then send a reply using the sender's address.