clippy
Microsoft 365 / Outlook CLI for calendar and email. Use when managing Outlook calendar (view, create, update, delete events, find meeting times, respond to invitations), sending/reading emails, or searching for people/rooms in the organization.
Best use case
clippy is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Microsoft 365 / Outlook CLI for calendar and email. Use when managing Outlook calendar (view, create, update, delete events, find meeting times, respond to invitations), sending/reading emails, or searching for people/rooms in the organization.
Teams using clippy should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/clippy/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How clippy Compares
| Feature / Agent | clippy | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Microsoft 365 / Outlook CLI for calendar and email. Use when managing Outlook calendar (view, create, update, delete events, find meeting times, respond to invitations), sending/reading emails, or searching for people/rooms in the organization.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Clippy - Microsoft 365 CLI Source: https://github.com/foeken/clippy Works through the M365 web UI via browser automation (Playwright), not the Graph API. No Azure AD app registration required - just login with your browser. ## Install ```bash git clone https://github.com/foeken/clippy.git cd clippy && bun install bun run src/cli.ts --help ``` Or link globally: `bun link` ## Authentication ```bash # Interactive login (opens browser, establishes session) clippy login --interactive # Check auth status clippy whoami ``` ### Keepalive (recommended) Keep a browser session alive to prevent token expiry: ```bash # Start keepalive (keeps browser open, refreshes every 10min) clippy keepalive --interval 10 ``` For persistent operation, set up as a launchd service (macOS) or systemd (Linux). **Health monitoring:** Keepalive writes to `~/.config/clippy/keepalive-health.txt` on each successful refresh. Check if this file is stale (>15min) to detect failures. ## Calendar ```bash # Today's events clippy calendar # Specific day clippy calendar --day tomorrow clippy calendar --day monday clippy calendar --day 2024-02-15 # Week view clippy calendar --week # With details (description, attendees) clippy calendar --details ``` ### Create Events ```bash clippy create-event "Title" 09:00 10:00 # Full options clippy create-event "Meeting" 14:00 15:00 \ --day tomorrow \ --description "Meeting notes" \ --attendees "alice@company.com,bob@company.com" \ --teams \ --find-room # Recurring clippy create-event "Standup" 09:00 09:15 --repeat daily clippy create-event "Sync" 14:00 15:00 --repeat weekly --days mon,wed,fri ``` ### Update/Delete Events ```bash clippy update-event 1 --title "New Title" clippy update-event 1 --start 10:00 --end 11:00 clippy delete-event 1 clippy delete-event 1 --message "Need to reschedule" ``` ### Respond to Invitations ```bash clippy respond # List pending clippy respond accept --id <eventId> clippy respond decline --id <eventId> --message "Conflict" clippy respond tentative --id <eventId> ``` ### Find Meeting Times ```bash clippy findtime clippy findtime --attendees "alice@company.com,bob@company.com" clippy findtime --duration 60 --days 5 ``` ## Email ```bash # Inbox clippy mail clippy mail --unread clippy mail -n 20 clippy mail --search "invoice" # Other folders clippy mail sent clippy mail drafts clippy mail archive # Read email clippy mail -r <number> # Download attachments clippy mail -d <number> -o ~/Downloads ``` ### Send Email ```bash clippy send \ --to "recipient@example.com" \ --subject "Subject" \ --body "Message body" # With CC, attachments, markdown clippy send \ --to "alice@example.com" \ --cc "manager@example.com" \ --subject "Report" \ --body "**See attached**" \ --markdown \ --attach "report.pdf" ``` ### Reply/Forward ```bash clippy mail --reply <number> --message "Thanks!" clippy mail --reply-all <number> --message "Got it" clippy mail --forward <number> --to-addr "colleague@example.com" ``` ### Email Actions ```bash clippy mail --mark-read <number> clippy mail --flag <number> clippy mail --move <number> --to archive ``` ## People/Room Search ```bash clippy find "john" # People clippy find "conference" --rooms # Rooms ``` ## JSON Output ```bash clippy calendar --json clippy mail --json ``` ## Configuration Profile directory can be overridden: ```bash export CLIPPY_PROFILE_DIR=~/.config/clippy/my-profile ```
Related Skills
paylock
Non-custodial SOL escrow for AI agent deals.
agent-reputation
summary: Cross-platform AI agent reputation checker with trust scoring and PayLock escrow recommendations.
Telecom Agent Skill
Turn your AI Agent into a Telecom Operator. Bulk calling, ChatOps, and Field Monitoring.
OpenClaw-Finnhub
OpenClaw skill for real-time stock quote, and financials via Finnhub API.
```markdown
# OpenClaw-Last.fm
security-operator
Runtime security guardrails for OpenClaw agents.
operator-humanizer
Transform AI-generated text into authentic human writing.
kit-email-operator
**AI-powered email marketing for Kit (ConvertKit)**.
agora
Trade prediction markets on Agora — the prediction market exclusively for AI agents. Register, browse markets, trade YES/NO, create markets, earn reputation via Brier scores.
surf-check
Surf forecast decision engine.
jinko-flight-search
Search flights and discover travel destinations using the Jinko MCP server. Provides two core capabilities: (1) Destination discovery — find where to travel based on criteria like budget, climate, or activities when the user has no specific destination in mind, and (2) Specific flight search — compare flights between two known cities/airports with flexible dates, cabin classes, and budget filters. Use this skill when the user wants to: search for flights, find cheap flights, discover travel destinations, compare flight prices, plan a trip, find deals from a specific city, or explore where to go. Triggers on any flight-booking, travel-planning, or destination-discovery request. Requires the Jinko MCP server connected at https://mcp.gojinko.com.
mlx-whisper
Local speech-to-text with MLX Whisper (Apple Silicon optimized, no API key).