Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Outlook tasks via Rube MCP (Composio): emails, calendar, contacts, folders, attachments. Always search tools first for current schemas.
.claude/skills/sickn33-outlook-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 550% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 167% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 139% | 0% |
Automate Microsoft Outlook operations through Composio's Outlook toolkit via Rube MCP.
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:user@example.com - From senderto:recipient@example.com - 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) |
This skill is applicable to execute the workflow or actions described in the overview.
User request:
> Automate Outlook tasks via Rube MCP (Composio): emails, calendar, contacts, folders, attachments.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-02 | fail→fail | 2,907 | 3,953 | +36% | 1 | 1 | 0% | 490 | 2,314 | +372% | 0 | 0 | — |
case-01 | fail→fail | 6,165 | 4,721 | -23% | 1 | 1 | 0% | 858 | 2,349 | +174% | 0 | 0 | — |
case-03 | fail→fail | 14,883 | 3,337 | -78% | 1 | 1 | 0% | 1,621 | 2,258 | +39% | 0 | 0 | — |
case-04 | pass→fail | 2,626 | 4,495 | +71% | 1 | 1 | 0% | 430 | 2,295 | +434% | 0 | 0 | — |
case-05 | pass→fail | 5,665 | 4,325 | -24% | 1 | 1 | 0% | 1,065 | 2,336 | +119% | 0 | 0 | — |
case-06 | fail→fail | 4,908 | 4,605 | -6% | 1 | 1 | 0% | 825 | 2,292 | +178% | 0 | 0 | — |
case-07 | fail→pass | 10,645 | 1,789 | -83% | 1 | 1 | 0% | 1,957 | 2,388 | +22% | 0 | 0 | — |
case-08 | fail→pass | 2,685 | 3,112 | +16% | 1 | 1 | 0% | 408 | 2,654 | +550% | 0 | 0 | — |
case-09 | pass→pass | 6,083 | 2,881 | -53% | 1 | 1 | 0% | 982 | 2,604 | +165% | 0 | 0 | — |
case-10 | fail→pass | 10,220 | 1,718 | -83% | 1 | 1 | 0% | 1,881 | 2,320 | +23% | 0 | 0 | — |
case-11 | pass→pass | 5,798 | 2,373 | -59% | 1 | 1 | 0% | 1,122 | 2,544 | +127% | 0 | 0 | — |
case-12 | pass→pass | 5,821 | 2,782 | -52% | 1 | 1 | 0% | 1,077 | 2,479 | +130% | 0 | 0 | — |
case-13 | fail→pass | 5,619 | 2,582 | -54% | 1 | 1 | 0% | 934 | 2,498 | +167% | 0 | 0 | — |
case-14 | fail→pass | 6,953 | 4,619 | -34% | 1 | 1 | 0% | 1,241 | 2,969 | +139% | 0 | 0 | — |
case-15 | pass→pass | 11,786 | 2,752 | -77% | 1 | 1 | 0% | 2,526 | 2,621 | +4% | 0 | 0 | — |
case-16 | fail→pass | 5,515 | 1,787 | -68% | 1 | 1 | 0% | 941 | 2,411 | +156% | 0 | 0 | — |
case-17 | pass→pass | 5,455 | 3,010 | -45% | 1 | 1 | 0% | 1,013 | 2,666 | +163% | 0 | 0 | — |
case-18 | pass→pass | 6,573 | 2,831 | -57% | 1 | 1 | 0% | 1,126 | 2,514 | +123% | 0 | 0 | — |
case-19 | pass→pass | 12,116 | 7,295 | -40% | 1 | 1 | 0% | 2,113 | 3,380 | +60% | 0 | 0 | — |
case-20 | pass→pass | 6,554 | 1,233 | -81% | 1 | 1 | 0% | 1,171 | 2,231 | +91% | 0 | 0 | — |
case-21 | fail→pass | 4,991 | 2,052 | -59% | 1 | 1 | 0% | 886 | 2,382 | +169% | 0 | 0 | — |
case-22 | pass→pass | 5,746 | 4,442 | -23% | 1 | 1 | 0% | 1,160 | 2,889 | +149% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 16 counted toward the lift figure. The other 6 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 16 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.