plugins/all-skills/skills/one-drive-automation/SKILL.md
Automate OneDrive file management, search, uploads, downloads, sharing, permissions, and folder operations via Rube MCP (Composio). Always search tools first for current schemas.
npx skillsauth add davepoon/buildwithclaude one-drive-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 OneDrive operations including file upload/download, search, folder management, sharing links, permissions management, and drive browsing through Composio's OneDrive toolkit.
Toolkit docs: composio.dev/toolkits/one_drive
RUBE_MANAGE_CONNECTIONS with toolkit one_driveRUBE_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 one_driveWhen to use: User wants to find files or browse folder contents in OneDrive
Tool sequence:
ONE_DRIVE_GET_DRIVE - Verify drive access and get drive details [Prerequisite]ONE_DRIVE_SEARCH_ITEMS - Keyword search across filenames, metadata, and content [Required]ONE_DRIVE_ONEDRIVE_LIST_ITEMS - List all items in the root of a drive [Optional]ONE_DRIVE_GET_ITEM - Get detailed metadata for a specific item, expand children [Optional]ONE_DRIVE_ONEDRIVE_FIND_FILE - Find a specific file by exact name in a folder [Optional]ONE_DRIVE_ONEDRIVE_FIND_FOLDER - Find a specific folder by name [Optional]ONE_DRIVE_LIST_DRIVES - List all accessible drives [Optional]Key parameters:
q: Search query (plain keywords only, NOT KQL syntax)search_scope: "root" (folder hierarchy) or "drive" (includes shared items)top: Max items per page (default 200)skip_token: Pagination token from @odata.nextLinkselect: Comma-separated fields to return (e.g., "id,name,webUrl,size")orderby: Sort order (e.g., "name asc", "name desc")item_id: Item ID for GET_ITEMexpand_relations: Array like ["children"] or ["thumbnails"] for GET_ITEMuser_id: "me" (default) or specific user ID/emailPitfalls:
ONE_DRIVE_SEARCH_ITEMS does NOT support KQL operators (folder:, file:, filetype:, path:); these are treated as literal text*, ?) are NOT supported and are auto-removed; use file extension keywords instead (e.g., "pdf" not "*.pdf")ONE_DRIVE_ONEDRIVE_LIST_ITEMS returns only root-level contents; use recursive ONE_DRIVE_GET_ITEM with expand_relations: ["children"] for deeper levelsskip_token / @odata.nextLink until exhaustedWhen to use: User wants to upload files to OneDrive or download files from it
Tool sequence:
ONE_DRIVE_ONEDRIVE_FIND_FOLDER - Locate the target folder [Prerequisite]ONE_DRIVE_ONEDRIVE_UPLOAD_FILE - Upload a file to a specified folder [Required for upload]ONE_DRIVE_DOWNLOAD_FILE - Download a file by item ID [Required for download]ONE_DRIVE_GET_ITEM - Get file details before download [Optional]Key parameters:
file: FileUploadable object with s3key, mimetype, and name for uploadsfolder: Destination path (e.g., "/Documents/Reports") or folder ID for uploadsitem_id: File's unique identifier for downloadsfile_name: Desired filename with extension for downloadsdrive_id: Specific drive ID (for SharePoint or OneDrive for Business)user_id: "me" (default) or specific user identifierPitfalls:
drive_id overrides user_id when both are provided01... prefix, OneDrive Personal uses HASH!NUMBER formatWhen to use: User wants to share files/folders or manage who has access
Tool sequence:
ONE_DRIVE_ONEDRIVE_FIND_FILE or ONE_DRIVE_ONEDRIVE_FIND_FOLDER - Locate the item [Prerequisite]ONE_DRIVE_GET_ITEM_PERMISSIONS - Check current permissions [Prerequisite]ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM - Grant access to specific users [Required]ONE_DRIVE_CREATE_LINK - Create a shareable link [Optional]ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA - Update item metadata [Optional]Key parameters:
item_id: The file or folder to sharerecipients: Array of objects with email or object_idroles: Array with "read" or "write"send_invitation: true to send notification email, false for silent permission grantrequire_sign_in: true to require authentication to accessmessage: Custom message for invitation (max 2000 characters)expiration_date_time: ISO 8601 date for permission expiryretain_inherited_permissions: true (default) to keep existing inherited permissionsPitfalls:
item_id with INVITE_USER_TO_DRIVE_ITEM changes permissions on unintended items; always verify firstGET_ITEM_PERMISSIONS returns inherited and owner entries; do not assume response only reflects recent changespermissions cannot be expanded via ONE_DRIVE_GET_ITEM; use the separate permissions endpointrequire_sign_in or send_invitation must be trueWhen to use: User wants to create, move, rename, delete, or copy files and folders
Tool sequence:
ONE_DRIVE_ONEDRIVE_FIND_FOLDER - Locate source and destination folders [Prerequisite]ONE_DRIVE_ONEDRIVE_CREATE_FOLDER - Create a new folder [Required for create]ONE_DRIVE_MOVE_ITEM - Move a file or folder to a new location [Required for move]ONE_DRIVE_COPY_ITEM - Copy a file or folder (async operation) [Required for copy]ONE_DRIVE_DELETE_ITEM - Move item to recycle bin [Required for delete]ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA - Rename or update item properties [Optional]Key parameters:
name: Folder name for creation or new name for rename/copyparent_folder: Path (e.g., "/Documents/Reports") or folder ID for creationitemId: Item to moveparentReference: Object with id (destination folder ID) for moves: {"id": "folder_id"}item_id: Item to copy or deleteparent_reference: Object with id and optional driveId for copy destination@microsoft.graph.conflictBehavior: "fail", "replace", or "rename" for copiesif_match: ETag for optimistic concurrency on deletesPitfalls:
ONE_DRIVE_MOVE_ITEM does NOT support cross-drive moves; use ONE_DRIVE_COPY_ITEM for cross-drive transfersparentReference for moves requires folder ID (not folder name); resolve with ONEDRIVE_FIND_FOLDER firstONE_DRIVE_COPY_ITEM is asynchronous; response provides a URL to monitor progressONE_DRIVE_DELETE_ITEM moves to recycle bin, not permanent deletionname or parent_reference (or both) for ONE_DRIVE_COPY_ITEMWhen to use: User wants to monitor changes or get drive/quota information
Tool sequence:
ONE_DRIVE_GET_DRIVE - Get drive properties and metadata [Required]ONE_DRIVE_GET_QUOTA - Check storage quota (total, used, remaining) [Optional]ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA - Track changes in SharePoint site drives [Optional]ONE_DRIVE_GET_ITEM_VERSIONS - Get version history of a file [Optional]Key parameters:
drive_id: Drive identifier (or "me" for personal drive)site_id: SharePoint site identifier for delta trackingtoken: Delta token ("latest" for current state, URL for next page, or timestamp)item_id: File ID for version historyPitfalls:
ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA"latest" returns current delta token without items (useful as starting point)"me" for authenticated user or specific user email/GUIDONE_DRIVE_ONEDRIVE_FIND_FILE or ONE_DRIVE_ONEDRIVE_FIND_FOLDER to get item IDsONE_DRIVE_SEARCH_ITEMS resultsONE_DRIVE_LIST_DRIVES or ONE_DRIVE_GET_DRIVE to discover drivesONE_DRIVE_ONEDRIVE_FIND_FOLDER with path, then extract ID from responseID formats vary by platform:
01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUKD4648F06C91D9D3D!54927OneDrive uses token-based pagination:
@odata.nextLink or skip_token until no more pagestop for page size (varies by endpoint)ONE_DRIVE_ONEDRIVE_LIST_ITEMS auto-handles pagination internallyRetry-After headersMost OneDrive tools accept either paths or IDs:
/ (e.g., "/Documents/Reports"):/path/to/item:/ formatONE_DRIVE_GET_ITEM calls can trigger HTTP 429 Too Many RequestsRetry-After headers and implement throttling"pdf" not "*.pdf")q='*' wildcard-only queries return HTTP 400 invalidRequestdrive_id overrides user_id when both are providedpermissions cannot be expanded via GET_ITEM; use dedicated permissions endpointparentReference, not folder names| Task | Tool Slug | Key Params |
|------|-----------|------------|
| Search files | ONE_DRIVE_SEARCH_ITEMS | q, search_scope, top |
| List root items | ONE_DRIVE_ONEDRIVE_LIST_ITEMS | user_id, select, top |
| Get item details | ONE_DRIVE_GET_ITEM | item_id, expand_relations |
| Find file by name | ONE_DRIVE_ONEDRIVE_FIND_FILE | name, folder |
| Find folder by name | ONE_DRIVE_ONEDRIVE_FIND_FOLDER | name, folder |
| Upload file | ONE_DRIVE_ONEDRIVE_UPLOAD_FILE | file, folder |
| Download file | ONE_DRIVE_DOWNLOAD_FILE | item_id, file_name |
| Create folder | ONE_DRIVE_ONEDRIVE_CREATE_FOLDER | name, parent_folder |
| Move item | ONE_DRIVE_MOVE_ITEM | itemId, parentReference |
| Copy item | ONE_DRIVE_COPY_ITEM | item_id, parent_reference, name |
| Delete item | ONE_DRIVE_DELETE_ITEM | item_id |
| Share with users | ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM | item_id, recipients, roles |
| Create share link | ONE_DRIVE_CREATE_LINK | item_id, link type |
| Get permissions | ONE_DRIVE_GET_ITEM_PERMISSIONS | item_id |
| Update metadata | ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA | item_id, fields |
| Get drive info | ONE_DRIVE_GET_DRIVE | drive_id |
| List drives | ONE_DRIVE_LIST_DRIVES | user/group/site scope |
| Get quota | ONE_DRIVE_GET_QUOTA | (none) |
| Track changes | ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA | site_id, token |
| Version history | ONE_DRIVE_GET_ITEM_VERSIONS | item_id |
Powered by Composio
development
Stop coding agents from shipping generic UI. Use UIZZE's 800,000+ real web and iOS screens to build product-specific interfaces, define a design contract, cover required states, and run a hard finish gate. Use for web or iOS UI design, implementation, redesign, critique, and pre-ship review in Codex, Claude Code, Cursor, Copilot, and other coding agents.
development
Convene an AI executive board of directors (CEO, CFO, COO, CLO, CISO sub-agent personas) to vet a business idea, product concept, new service offering, M&A target, or operational initiative — and deliver an integrated board memo with a Go/No-Go recommendation. Use this skill whenever the user wants an idea vetted, stress-tested, or reviewed from multiple executive perspectives; asks to "present this to the board," "run this by the boardroom," "vet this idea," "poke holes in this plan," or "prep me for a board meeting"; or shares a business plan, pitch, proposal, or initiative document and asks for structured executive feedback. Also trigger when the user asks for a Go/No-Go decision, risk review across finance/legal/security/operations, or preparation for presenting an initiative to real leadership.
data-ai
私人旅行管家 — 从出发地到目的地的完整行程规划+攻略导出。 输入出发地、目的地、天数、预算、风格偏好,自动输出闭环行程, 包含交通推荐、酒店推荐、美食路线、每日预算,并可选生成攻略。 当用户提到「做攻略」「旅行规划」「旅游计划」「行程安排」时使用。
tools
Use Ontoly's deterministic Software Graph and MCP server for codebase architecture, request tracing, dependency analysis, and impact analysis.