[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FSNTHWCGE51BKQXF8MAGPC":3,"skill-same:01M6FSNTHWCGE51BKQXF8MAGPC":74},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":14,"repositoryHtmlUrl":55,"repositoryHomepageUrl":6,"ownerHtmlUrl":56,"ownerBlogUrl":57,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M6FSNTHWCGE51BKQXF8MAGPC","outlook-calendar-automation",null,"Automate Outlook Calendar tasks via Rube MCP (Composio): create events, manage attendees, find meeting times, and handle invitations. Always search tools first for current schemas.","reikiplanet\u002Fdaoskills","reikiplanet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F96377599?v=4","01M6CVWCMD740YHQDK7E9QYBW4","Reiki Planet","01M6CVWCS4KXVA2CWFVJ43EAXK",0,"MIT","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fautomation\u002Foutlook-calendar-automation\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"automation","outlook","outlook calendar","outlook calendar automation","calendar","meeting","MCP","via","events","composio","community","manage","find","automate","first","Tools","search","create","tasks","2026-11-10 10:12:30",false,"---\nname: outlook-calendar-automation\ndescription: \"Automate Outlook Calendar tasks via Rube MCP (Composio): create events, manage attendees, find meeting times, and handle invitations. Always search tools first for current schemas.\"\nrequires:\n  mcp: [rube]\nrisk: unknown\nsource: community\n---\n\n# Outlook Calendar Automation via Rube MCP\n\nAutomate Outlook Calendar operations through Composio's Outlook toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Outlook connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `outlook`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `outlook`\n3. If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create Calendar Events\n\n**When to use**: User wants to schedule a new event on their Outlook calendar\n\n**Tool sequence**:\n1. `OUTLOOK_LIST_CALENDARS` - List available calendars [Optional]\n2. `OUTLOOK_CALENDAR_CREATE_EVENT` - Create the event [Required]\n\n**Key parameters**:\n- `subject`: Event title\n- `start_datetime`: ISO 8601 start time (e.g., '2025-01-03T10:00:00')\n- `end_datetime`: ISO 8601 end time (must be after start)\n- `time_zone`: IANA or Windows timezone (e.g., 'America\u002FNew_York', 'Pacific Standard Time')\n- `attendees_info`: Array of email strings or attendee objects\n- `body`: Event description (plain text or HTML)\n- `is_html`: Set true if body contains HTML\n- `location`: Physical location string\n- `is_online_meeting`: Set true for Teams meeting link\n- `online_meeting_provider`: 'teamsForBusiness' for Teams integration\n- `show_as`: 'free', 'tentative', 'busy', 'oof'\n\n**Pitfalls**:\n- start_datetime must be chronologically before end_datetime\n- time_zone is required and must be a valid IANA or Windows timezone name\n- Adding attendees can trigger invitation emails immediately\n- To generate a Teams meeting link, set BOTH is_online_meeting=true AND online_meeting_provider='teamsForBusiness'\n- user_id defaults to 'me'; use email or UUID for other users' calendars\n\n### 2. List and Search Events\n\n**When to use**: User wants to find events on their calendar\n\n**Tool sequence**:\n1. `OUTLOOK_GET_MAILBOX_SETTINGS` - Get user timezone for accurate queries [Prerequisite]\n2. `OUTLOOK_LIST_EVENTS` - Search events with filters [Required]\n3. `OUTLOOK_GET_EVENT` - Get full details for a specific event [Optional]\n4. `OUTLOOK_GET_CALENDAR_VIEW` - Get events active during a time window [Alternative]\n\n**Key parameters**:\n- `filter`: OData filter string (e.g., \"start\u002FdateTime ge '2024-07-01T00:00:00Z'\")\n- `select`: Array of properties to return\n- `orderby`: Sort criteria (e.g., ['start\u002FdateTime desc'])\n- `top`: Results per page (1-999)\n- `timezone`: Display timezone for results\n- `start_datetime`\u002F`end_datetime`: For CALENDAR_VIEW time window (UTC with Z suffix)\n\n**Pitfalls**:\n- OData filter datetime values require single quotes and Z suffix\n- Use 'start\u002FdateTime' for event start filtering, NOT 'receivedDateTime' (that is for emails)\n- 'createdDateTime' supports orderby\u002Fselect but NOT filtering\n- Pagination: follow @odata.nextLink until all pages are collected\n- CALENDAR_VIEW is better for \"what's on my calendar today\" queries (includes spanning events)\n- LIST_EVENTS is better for keyword\u002Fcategory filtering\n- Response events have start\u002Fend nested as start.dateTime and end.dateTime\n\n### 3. Update Events\n\n**When to use**: User wants to modify an existing calendar event\n\n**Tool sequence**:\n1. `OUTLOOK_LIST_EVENTS` - Find the event to update [Prerequisite]\n2. `OUTLOOK_UPDATE_CALENDAR_EVENT` - Update the event [Required]\n\n**Key parameters**:\n- `event_id`: Unique event identifier (from LIST_EVENTS)\n- `subject`: New event title (optional)\n- `start_datetime`\u002F`end_datetime`: New times (optional)\n- `time_zone`: Timezone for new times\n- `attendees`: Updated attendee list (replaces existing if provided)\n- `body`: Updated description with contentType and content\n- `location`: Updated location\n\n**Pitfalls**:\n- UPDATE merges provided fields with existing event; unspecified fields are preserved\n- Providing attendees replaces the ENTIRE attendee list; include all desired attendees\n- Providing categories replaces the ENTIRE category list\n- Updating times may trigger re-sends to attendees\n- event_id is required; obtain from LIST_EVENTS first\n\n### 4. Delete Events and Decline Invitations\n\n**When to use**: User wants to remove an event or decline a meeting invitation\n\n**Tool sequence**:\n1. `OUTLOOK_DELETE_EVENT` - Delete an event [Optional]\n2. `OUTLOOK_DECLINE_EVENT` - Decline a meeting invitation [Optional]\n\n**Key parameters**:\n- `event_id`: Event to delete or decline\n- `send_notifications`: Send cancellation notices to attendees (default true)\n- `comment`: Reason for declining (for DECLINE_EVENT)\n- `proposedNewTime`: Suggest alternative time when declining\n\n**Pitfalls**:\n- Deletion with send_notifications=true sends cancellation emails\n- Declining supports proposing a new time with start\u002Fend in ISO 8601 format\n- Deleting a recurring event master deletes all occurrences\n- sendResponse in DECLINE_EVENT controls whether the organizer is notified\n\n### 5. Find Available Meeting Times\n\n**When to use**: User wants to find optimal meeting slots across multiple people\n\n**Tool sequence**:\n1. `OUTLOOK_FIND_MEETING_TIMES` - Get meeting time suggestions [Required]\n2. `OUTLOOK_GET_SCHEDULE` - Check free\u002Fbusy for specific people [Alternative]\n\n**Key parameters**:\n- `attendees`: Array of attendee objects with email and type\n- `meetingDuration`: ISO 8601 duration (e.g., 'PT1H' for 1 hour, 'PT30M' for 30 min)\n- `timeConstraint`: Time slots to search within\n- `minimumAttendeePercentage`: Minimum confidence threshold (0-100)\n- `Schedules`: Email array for GET_SCHEDULE\n- `StartTime`\u002F`EndTime`: Time window for schedule lookup (max 62 days)\n\n**Pitfalls**:\n- FIND_MEETING_TIMES searches within work hours by default; use activityDomain='unrestricted' for 24\u002F7\n- Time constraint time slots require dateTime and timeZone for both start and end\n- GET_SCHEDULE period cannot exceed 62 days\n- Meeting suggestions respect attendee availability but may return suboptimal times for complex groups\n\n## Common Patterns\n\n### Event ID Resolution\n\n```\n1. Call OUTLOOK_LIST_EVENTS with time-bound filter\n2. Find target event by subject or other criteria\n3. Extract event id (e.g., 'AAMkAGI2TAAA=')\n4. Use in UPDATE, DELETE, or GET_EVENT calls\n```\n\n### OData Filter Syntax for Calendar\n\n**Time range filter**:\n```\nfilter: \"start\u002FdateTime ge '2024-07-01T00:00:00Z' and start\u002FdateTime le '2024-07-31T23:59:59Z'\"\n```\n\n**Subject contains**:\n```\nfilter: \"contains(subject, 'Project Review')\"\n```\n\n**Combined**:\n```\nfilter: \"contains(subject, 'Review') and categories\u002Fany(c:c eq 'Work')\"\n```\n\n### Timezone Handling\n\n- Get user timezone: `OUTLOOK_GET_MAILBOX_SETTINGS` with select=['timeZone']\n- Use consistent timezone in filter datetime values\n- Calendar View requires UTC timestamps with Z suffix\n- LIST_EVENTS filter accepts timezone in datetime values\n\n### Online Meeting Creation\n\n```\n1. Set is_online_meeting: true\n2. Set online_meeting_provider: 'teamsForBusiness'\n3. Create event with OUTLOOK_CALENDAR_CREATE_EVENT\n4. Teams join link available in response onlineMeeting field\n5. Or retrieve via OUTLOOK_GET_EVENT for the full join URL\n```\n\n## Known Pitfalls\n\n**DateTime Formats**:\n- ISO 8601 format required: '2025-01-03T10:00:00'\n- Calendar View requires UTC with Z: '2025-01-03T10:00:00Z'\n- Filter values need single quotes: \"'2025-01-03T00:00:00Z'\"\n- Timezone mismatches shift event boundaries; always resolve user timezone first\n\n**OData Filter Errors**:\n- 400 Bad Request usually indicates filter syntax issues\n- Not all event properties support filtering (createdDateTime does not)\n- Retry with adjusted syntax\u002Fbounds on 400 errors\n- Valid filter fields: start\u002FdateTime, end\u002FdateTime, subject, categories, isAllDay\n\n**Attendee Management**:\n- Adding attendees triggers invitation emails\n- Updating attendees replaces the full list; include all desired attendees\n- Attendee types: 'required', 'optional', 'resource'\n- Calendar delegation affects which calendars are accessible\n\n**Response Structure**:\n- Events nested at response.data.value\n- Event times at event.start.dateTime and event.end.dateTime\n- Calendar View may nest at data.results[i].response.data.value\n- Parse defensively with fallbacks for different nesting levels\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Create event | OUTLOOK_CALENDAR_CREATE_EVENT | subject, start_datetime, end_datetime, time_zone |\n| List events | OUTLOOK_LIST_EVENTS | filter, select, top, timezone |\n| Get event details | OUTLOOK_GET_EVENT | event_id |\n| Calendar view | OUTLOOK_GET_CALENDAR_VIEW | start_datetime, end_datetime |\n| Update event | OUTLOOK_UPDATE_CALENDAR_EVENT | event_id, subject, start_datetime |\n| Delete event | OUTLOOK_DELETE_EVENT | event_id, send_notifications |\n| Decline event | OUTLOOK_DECLINE_EVENT | event_id, comment |\n| Find meeting times | OUTLOOK_FIND_MEETING_TIMES | attendees, meetingDuration |\n| Get schedule | OUTLOOK_GET_SCHEDULE | Schedules, StartTime, EndTime |\n| List calendars | OUTLOOK_LIST_CALENDARS | user_id |\n| Mailbox settings | OUTLOOK_GET_MAILBOX_SETTINGS | select |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Outlook Calendar Automation via Rube MCP\n\nAutomate Outlook Calendar operations through Composio's Outlook toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Outlook connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `outlook`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `outlook`\n3. If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create Calendar Events\n\n**When to use**: User wants to schedule a new event on their Outlook calendar\n\n**Tool sequence**:\n1. `OUTLOOK_LIST_CALENDARS` - List available calendars [Optional]\n2. `OUTLOOK_CALENDAR_CREATE_EVENT` - Create the event [Required]\n\n**Key parameters**:\n- `subject`: Event title\n- `start_datetime`: ISO 8601 start time (e.g., '2025-01-03T10:00:00')\n- `end_datetime`: ISO 8601 end time (must be after start)\n- `time_zone`: IANA or Windows timezone (e.g., 'America\u002FNew_York', 'Pacific Standard Time')\n- `attendees_info`: Array of email strings or attendee objects\n- `body`: Event description (plain text or HTML)\n- `is_html`: Set true if body contains HTML\n- `location`: Physical location string\n- `is_online_meeting`: Set true for Teams meeting link\n- `online_meeting_provider`: 'teamsForBusiness' for Teams integration\n- `show_as`: 'free', 'tentative', 'busy', 'oof'\n\n**Pitfalls**:\n- start_datetime must be chronologically before end_datetime\n- time_zone is required and must be a valid IANA or Windows timezone name\n- Adding attendees can trigger invitation emails immediately\n- To generate a Teams meeting link, set BOTH is_online_meeting=true AND online_meeting_provider='teamsForBusiness'\n- user_id defaults to 'me'; use email or UUID for other users' calendars\n\n### 2. List and Search Events\n\n**When to use**: User wants to find events on their calendar\n\n**Tool sequence**:\n1. `OUTLOOK_GET_MAILBOX_SETTINGS` - Get user timezone for accurate queries [Prerequisite]\n2. `OUTLOOK_LIST_EVENTS` - Search events with filters [Required]\n3. `OUTLOOK_GET_EVENT` - Get full details for a specific event [Optional]\n4. `OUTLOOK_GET_CALENDAR_VIEW` - Get events active during a time window [Alternative]\n\n**Key parameters**:\n- `filter`: OData filter string (e.g., \"start\u002FdateTime ge '2024-07-01T00:00:00Z'\")\n- `select`: Array of properties to return\n- `orderby`: Sort criteria (e.g., ['start\u002FdateTime desc'])\n- `top`: Results per page (1-999)\n- `timezone`: Display timezone for results\n- `start_datetime`\u002F`end_datetime`: For CALENDAR_VIEW time window (UTC with Z suffix)\n\n**Pitfalls**:\n- OData filter datetime values require single quotes and Z suffix\n- Use 'start\u002FdateTime' for event start filtering, NOT 'receivedDateTime' (that is for emails)\n- 'createdDateTime' supports orderby\u002Fselect but NOT filtering\n- Pagination: follow @odata.nextLink until all pages are collected\n- CALENDAR_VIEW is better for \"what's on my calendar today\" queries (includes spanning events)\n- LIST_EVENTS is better for keyword\u002Fcategory filtering\n- Response events have start\u002Fend nested as start.dateTime and end.dateTime\n\n### 3. Update Events\n\n**When to use**: User wants to modify an existing calendar event\n\n**Tool sequence**:\n1. `OUTLOOK_LIST_EVENTS` - Find the event to update [Prerequisite]\n2. `OUTLOOK_UPDATE_CALENDAR_EVENT` - Update the event [Required]\n\n**Key parameters**:\n- `event_id`: Unique event identifier (from LIST_EVENTS)\n- `subject`: New event title (optional)\n- `start_datetime`\u002F`end_datetime`: New times (optional)\n- `time_zone`: Timezone for new times\n- `attendees`: Updated attendee list (replaces existing if provided)\n- `body`: Updated description with contentType and content\n- `location`: Updated location\n\n**Pitfalls**:\n- UPDATE merges provided fields with existing event; unspecified fields are preserved\n- Providing attendees replaces the ENTIRE attendee list; include all desired attendees\n- Providing categories replaces the ENTIRE category list\n- Updating times may trigger re-sends to attendees\n- event_id is required; obtain from LIST_EVENTS first\n\n### 4. Delete Events and Decline Invitations\n\n**When to use**: User wants to remove an event or decline a meeting invitation\n\n**Tool sequence**:\n1. `OUTLOOK_DELETE_EVENT` - Delete an event [Optional]\n2. `OUTLOOK_DECLINE_EVENT` - Decline a meeting invitation [Optional]\n\n**Key parameters**:\n- `event_id`: Event to delete or decline\n- `send_notifications`: Send cancellation notices to attendees (default true)\n- `comment`: Reason for declining (for DECLINE_EVENT)\n- `proposedNewTime`: Suggest alternative time when declining\n\n**Pitfalls**:\n- Deletion with send_notifications=true sends cancellation emails\n- Declining supports proposing a new time with start\u002Fend in ISO 8601 format\n- Deleting a recurring event master deletes all occurrences\n- sendResponse in DECLINE_EVENT controls whether the organizer is notified\n\n### 5. Find Available Meeting Times\n\n**When to use**: User wants to find optimal meeting slots across multiple people\n\n**Tool sequence**:\n1. `OUTLOOK_FIND_MEETING_TIMES` - Get meeting time suggestions [Required]\n2. `OUTLOOK_GET_SCHEDULE` - Check free\u002Fbusy for specific people [Alternative]\n\n**Key parameters**:\n- `attendees`: Array of attendee objects with email and type\n- `meetingDuration`: ISO 8601 duration (e.g., 'PT1H' for 1 hour, 'PT30M' for 30 min)\n- `timeConstraint`: Time slots to search within\n- `minimumAttendeePercentage`: Minimum confidence threshold (0-100)\n- `Schedules`: Email array for GET_SCHEDULE\n- `StartTime`\u002F`EndTime`: Time window for schedule lookup (max 62 days)\n\n**Pitfalls**:\n- FIND_MEETING_TIMES searches within work hours by default; use activityDomain='unrestricted' for 24\u002F7\n- Time constraint time slots require dateTime and timeZone for both start and end\n- GET_SCHEDULE period cannot exceed 62 days\n- Meeting suggestions respect attendee availability but may return suboptimal times for complex groups\n\n## Common Patterns\n\n### Event ID Resolution\n\n```\n1. Call OUTLOOK_LIST_EVENTS with time-bound filter\n2. Find target event by subject or other criteria\n3. Extract event id (e.g., 'AAMkAGI2TAAA=')\n4. Use in UPDATE, DELETE, or GET_EVENT calls\n```\n\n### OData Filter Syntax for Calendar\n\n**Time range filter**:\n```\nfilter: \"start\u002FdateTime ge '2024-07-01T00:00:00Z' and start\u002FdateTime le '2024-07-31T23:59:59Z'\"\n```\n\n**Subject contains**:\n```\nfilter: \"contains(subject, 'Project Review')\"\n```\n\n**Combined**:\n```\nfilter: \"contains(subject, 'Review') and categories\u002Fany(c:c eq 'Work')\"\n```\n\n### Timezone Handling\n\n- Get user timezone: `OUTLOOK_GET_MAILBOX_SETTINGS` with select=['timeZone']\n- Use consistent timezone in filter datetime values\n- Calendar View requires UTC timestamps with Z suffix\n- LIST_EVENTS filter accepts timezone in datetime values\n\n### Online Meeting Creation\n\n```\n1. Set is_online_meeting: true\n2. Set online_meeting_provider: 'teamsForBusiness'\n3. Create event with OUTLOOK_CALENDAR_CREATE_EVENT\n4. Teams join link available in response onlineMeeting field\n5. Or retrieve via OUTLOOK_GET_EVENT for the full join URL\n```\n\n## Known Pitfalls\n\n**DateTime Formats**:\n- ISO 8601 format required: '2025-01-03T10:00:00'\n- Calendar View requires UTC with Z: '2025-01-03T10:00:00Z'\n- Filter values need single quotes: \"'2025-01-03T00:00:00Z'\"\n- Timezone mismatches shift event boundaries; always resolve user timezone first\n\n**OData Filter Errors**:\n- 400 Bad Request usually indicates filter syntax issues\n- Not all event properties support filtering (createdDateTime does not)\n- Retry with adjusted syntax\u002Fbounds on 400 errors\n- Valid filter fields: start\u002FdateTime, end\u002FdateTime, subject, categories, isAllDay\n\n**Attendee Management**:\n- Adding attendees triggers invitation emails\n- Updating attendees replaces the full list; include all desired attendees\n- Attendee types: 'required', 'optional', 'resource'\n- Calendar delegation affects which calendars are accessible\n\n**Response Structure**:\n- Events nested at response.data.value\n- Event times at event.start.dateTime and event.end.dateTime\n- Calendar View may nest at data.results[i].response.data.value\n- Parse defensively with fallbacks for different nesting levels\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Create event | OUTLOOK_CALENDAR_CREATE_EVENT | subject, start_datetime, end_datetime, time_zone |\n| List events | OUTLOOK_LIST_EVENTS | filter, select, top, timezone |\n| Get event details | OUTLOOK_GET_EVENT | event_id |\n| Calendar view | OUTLOOK_GET_CALENDAR_VIEW | start_datetime, end_datetime |\n| Update event | OUTLOOK_UPDATE_CALENDAR_EVENT | event_id, subject, start_datetime |\n| Delete event | OUTLOOK_DELETE_EVENT | event_id, send_notifications |\n| Decline event | OUTLOOK_DECLINE_EVENT | event_id, comment |\n| Find meeting times | OUTLOOK_FIND_MEETING_TIMES | attendees, meetingDuration |\n| Get schedule | OUTLOOK_GET_SCHEDULE | Schedules, StartTime, EndTime |\n| List calendars | OUTLOOK_LIST_CALENDARS | user_id |\n| Mailbox settings | OUTLOOK_GET_MAILBOX_SETTINGS | select |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":48,"source":34,"requires":49,"description":7},"unknown",{"mcp":50},[51],"rube","master","dff58085da947e81e8418c922055644bf0082b1b","automation\u002Foutlook-calendar-automation","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills","https:\u002F\u002Fgithub.com\u002Freikiplanet","https:\u002F\u002Fwww.reiki-planet.com","Reiki Planet Game","2026-03-29 06:02:29",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add reikiplanet\u002Fdaoskills --skill outlook-calendar-automation",{"tool":66,"command":67},"bunx","bunx skills add reikiplanet\u002Fdaoskills --skill outlook-calendar-automation",{"tool":69,"command":70},"pnpm","pnpm dlx skills add reikiplanet\u002Fdaoskills --skill outlook-calendar-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fautomation\u002Foutlook-calendar-automation\u002FSKILL.md",true,[],[75,101,113,128,148,171],{"skillNo":76,"name":77,"nameZh":6,"description":78,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":43},"01M6G614JTEQJHPT8AKK3YQ18S","web-games","Web browser game development principles. Framework selection, WebGPU, optimization, PWA.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fweb-games\u002FSKILL.md",[],[82,83,84,85,86,87,34,88,89,90,91,92,93,94,95,96,97,98,99,100],"games","web games","web","grep","principles","selection","framework selection","edit","write","read","pwa","game","web browser","game development","Optimization","framework","browser","development","webgpu",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":43},"01M6G611H2YGV0GZFP90D38ZMJ","vr-ar","VR\u002FAR development principles. Comfort, interaction, performance requirements.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fvr-ar\u002FSKILL.md",[],[108,109,99,110,111,34,89,90,91,85,112,86],"ar","vr ar","interaction","requirements","performance",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":43},"01M6G60XNMHAMV1SV0EJ1CX0AY","templates","Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Ftemplates\u002FSKILL.md",[],[115,120,121,122,123,124,34,125,91,126,127,85],"project scaffolding","From Scratch","tech","project","scaffolding","use","projects","applications",{"skillNo":129,"name":130,"nameZh":6,"description":131,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":132,"categories":133,"keywords":134,"publishedAt":43},"01M6G60T0GATMK3Q5H8GDC1Z8S","wcag-audit-patterns","Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing ac...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fwcag-audit-patterns\u002FSKILL.md",[],[135,136,137,138,139,34,140,141,142,143,125,144,145,146,147],"wcag audit patterns","wcag audit","patterns","WCAG","audit","manual","with","automated testing","guidance","remediation","verification","accessibility","testing",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":43},"01M6G60PMCHW1FRZ63F931QK3R","vulnerability-scanner","Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fvulnerability-scanner\u002FSKILL.md",[],[155,156,157,158,159,160,161,162,34,91,85,163,86,164,165,166,167,168,169,170],"scanner","vulnerability scanner","vulnerability","prioritization","2025","mapping","chain","supply chain","Bash","analysis","risk","owasp","supply chain security","security","supply","advanced",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":177,"publishedAt":43},"01M6G60JZBB8DK0W3DSG1WNMZK","threat-modeling-expert","Expert in threat modeling methodologies, security architecture review, and risk assessment. Masters STRIDE, PASTA, attack trees, and security requirement extraction. Use for security architecture r...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fthreat-modeling-expert\u002FSKILL.md",[],[178,179,180,181,182,183,184,185,168,125,186,187,188,34,189,190,191,165,192,193],"modeling","threat modeling expert","threat modeling","expert","threat","risk assessment","architecture review","architecture","security architecture review","trees","security architecture","security requirement extraction","assessment","extraction","review","stride"]