plugins/all-skills/skills/outlook-automation/SKILL.md
Automate Outlook tasks via Rube MCP (Composio): emails, calendar, contacts, folders, attachments. Always search tools first for current schemas.
npx skillsauth add davepoon/buildwithclaude outlook-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate Microsoft Outlook operations through Composio's Outlook toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/outlook
RUBE_MANAGE_CONNECTIONS with toolkit outlookRUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit outlookWhen to use: User wants to find specific emails across their mailbox
Tool sequence:
OUTLOOK_SEARCH_MESSAGES - Search with KQL syntax across all folders [Required]OUTLOOK_GET_MESSAGE - Get full message details [Optional]OUTLOOK_LIST_OUTLOOK_ATTACHMENTS - List message attachments [Optional]OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT - Download attachment [Optional]Key parameters:
query: KQL search string (from:, to:, subject:, received:, hasattachment:)from_index: Pagination start (0-based)size: Results per page (max 25)message_id: Message ID (use hitId from search results)Pitfalls:
When to use: User wants to list emails in a specific folder with OData filters
Tool sequence:
OUTLOOK_LIST_MAIL_FOLDERS - List mail folders to get folder IDs [Prerequisite]OUTLOOK_QUERY_EMAILS - Query emails with structured filters [Required]Key parameters:
folder: Folder name ('inbox', 'sentitems', 'drafts') or folder IDfilter: OData filter (e.g., isRead eq false and importance eq 'high')top: Max results (1-1000)orderby: Sort field and directionselect: Array of fields to returnPitfalls:
When to use: User wants to list, search, or inspect calendar events
Tool sequence:
OUTLOOK_LIST_EVENTS - List events with filters [Optional]OUTLOOK_GET_CALENDAR_VIEW - Get events in a time window [Optional]OUTLOOK_GET_EVENT - Get specific event details [Optional]OUTLOOK_LIST_CALENDARS - List available calendars [Optional]OUTLOOK_GET_SCHEDULE - Get free/busy info [Optional]Key parameters:
filter: OData filter (use start/dateTime, NOT receivedDateTime)start_datetime/end_datetime: ISO 8601 for calendar viewtimezone: IANA timezone (e.g., 'America/New_York')calendar_id: Optional non-primary calendar IDselect: Fields to returnPitfalls:
expand_recurring_events=true to see individual occurrencesWhen to use: User wants to list, create, or organize contacts
Tool sequence:
OUTLOOK_LIST_CONTACTS - List contacts [Optional]OUTLOOK_CREATE_CONTACT - Create a new contact [Optional]OUTLOOK_GET_CONTACT_FOLDERS - List contact folders [Optional]OUTLOOK_CREATE_CONTACT_FOLDER - Create contact folder [Optional]Key parameters:
givenName/surname: Contact nameemailAddresses: Array of email objectsdisplayName: Full display namecontact_folder_id: Optional folder for contactsPitfalls:
When to use: User wants to organize mail folders
Tool sequence:
OUTLOOK_LIST_MAIL_FOLDERS - List top-level folders [Required]OUTLOOK_LIST_CHILD_MAIL_FOLDERS - List subfolders [Optional]OUTLOOK_CREATE_MAIL_FOLDER - Create a new folder [Optional]Key parameters:
parent_folder_id: Well-known name or folder IDdisplayName: New folder nameinclude_hidden_folders: Show hidden foldersPitfalls:
Property filters:
from:[email protected] - From senderto:[email protected] - To recipientsubject:invoice - Subject containsreceived>=2025-01-01 - Date filterhasattachment:yes - Has attachmentsCombinators:
AND - Both conditionsOR - Either conditionEmail filters:
isRead eq false - Unread emailsimportance eq 'high' - High importancehasAttachments eq true - Has attachmentsreceivedDateTime ge 2025-01-01T00:00:00Z - Date filterCalendar filters:
start/dateTime ge '2025-01-01T00:00:00Z' - Events after datecontains(subject, 'Meeting') - Subject contains textAccount Types:
Field Confusion:
| Task | Tool Slug | Key Params | |------|-----------|------------| | Search emails | OUTLOOK_SEARCH_MESSAGES | query, from_index, size | | Query folder | OUTLOOK_QUERY_EMAILS | folder, filter, top | | Get message | OUTLOOK_GET_MESSAGE | message_id | | List attachments | OUTLOOK_LIST_OUTLOOK_ATTACHMENTS | message_id | | Download attachment | OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT | message_id, attachment_id | | List folders | OUTLOOK_LIST_MAIL_FOLDERS | (none) | | Child folders | OUTLOOK_LIST_CHILD_MAIL_FOLDERS | parent_folder_id | | List events | OUTLOOK_LIST_EVENTS | filter, timezone | | Calendar view | OUTLOOK_GET_CALENDAR_VIEW | start_datetime, end_datetime | | Get event | OUTLOOK_GET_EVENT | event_id | | List calendars | OUTLOOK_LIST_CALENDARS | (none) | | Free/busy | OUTLOOK_GET_SCHEDULE | schedules, times | | List contacts | OUTLOOK_LIST_CONTACTS | top, filter | | Create contact | OUTLOOK_CREATE_CONTACT | givenName, emailAddresses | | Contact folders | OUTLOOK_GET_CONTACT_FOLDERS | (none) |
Powered by Composio
development
Show drill-me learning progress — topics studied, cards due for review, weakest concepts, and what to study next. Use when the user asks what's due, how their learning is going, or for their drill-me status.
development
Teach the user a topic as an adaptive tutor — retrieval practice, spaced repetition with decay, and persistent memory in ~/.drill-me/. Use when the user wants to learn or be drilled on something, says "drill me on X", "teach me X", or wants to study a topic, a codebase, or a document.
development
Turn any codebase into evidence-grounded Markdown docs plus a machine-readable index.json. Every claim cites its source; never invents deployment steps.
tools
Assesses the current state of the startup project and recommends what to focus on next. Use when there is a need or a question from the user to understand what the next steps are or what to focus on next.