davepoon/buildwithclaude/plugins/all-skills/skills/one-drive-automation/SKILL.md
one-drive-automation
Automate OneDrive file management, search, uploads, downloads, sharing, permissions, and folder operations via Rube MCP (Composio). Always search tools first for current schemas.
- Source repository stars
- 3,359
- Declared platforms
- 0
- Static risk flags
- 1
- Last source update
- 2026-08-24
- Source checked
- 2026-08-26
Decision brief
What it does: where it fits
Automate OneDrive operations including file upload/download, search, folder management, sharing links, permissions management, and drive browsing through Composio's OneDrive toolkit.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/davepoon/buildwithclaude --skill "plugins/all-skills/skills/one-drive-automation"Inspect the Agent Skill "one-drive-automation" from https://github.com/davepoon/buildwithclaude/blob/ebd20fe1d82fa74e9a2f94abfeff88090f6c758c/plugins/all-skills/skills/one-drive-automation/SKILL.md at commit ebd20fe1d82fa74e9a2f94abfeff88090f6c758c. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Setup
Get 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.
Verify Rube MCP is available by confirming RUBESEARCHTOOLS respondsCall RUBEMANAGECONNECTIONS with toolkit onedriveIf connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth - 02
Prerequisites
Rube MCP must be connected (RUBESEARCHTOOLS available)
Rube MCP must be connected (RUBESEARCHTOOLS available)Active OneDrive connection via RUBEMANAGECONNECTIONS with toolkit onedriveAlways call RUBESEARCHTOOLS first to get current tool schemas - 03
Core Workflows
When to use: User wants to find files or browse folder contents in OneDrive
ONEDRIVEGETDRIVE - Verify drive access and get drive details [Prerequisite]ONEDRIVESEARCHITEMS - Keyword search across filenames, metadata, and content [Required]ONEDRIVEONEDRIVELISTITEMS - List all items in the root of a drive [Optional] - 04
1. Search and Browse Files
When to use: User wants to find files or browse folder contents in OneDrive
ONEDRIVEGETDRIVE - Verify drive access and get drive details [Prerequisite]ONEDRIVESEARCHITEMS - Keyword search across filenames, metadata, and content [Required]ONEDRIVEONEDRIVELISTITEMS - List all items in the root of a drive [Optional] - 05
2. Upload and Download Files
When to use: User wants to upload files to OneDrive or download files from it
ONEDRIVEONEDRIVEFINDFOLDER - Locate the target folder [Prerequisite]ONEDRIVEONEDRIVEUPLOADFILE - Upload a file to a specified folder [Required for upload]ONEDRIVEDOWNLOADFILE - Download a file by item ID [Required for download]
Permission review
Static risk signals and limitations
Writes files
The documentation asks the agent to create, modify, or delete local files.
`ONE_DRIVE_ONEDRIVE_CREATE_FOLDER` - Create a new folder [Required for create]Writes files
The documentation asks the agent to create, modify, or delete local files.
| Create folder | `ONE_DRIVE_ONEDRIVE_CREATE_FOLDER` | `name`, `parent_folder` |Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 92/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 3,359 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- davepoon/buildwithclaude
- Skill path
- plugins/all-skills/skills/one-drive-automation/SKILL.md
- Commit
- ebd20fe1d82fa74e9a2f94abfeff88090f6c758c
- License
- MIT
- Collected
- 2026-08-26
- Default branch
- main
View the original SKILL.md
OneDrive Automation via Rube MCP
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
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active OneDrive connection via
RUBE_MANAGE_CONNECTIONSwith toolkitone_drive - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get 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.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitone_drive - If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Search and Browse Files
When 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 forGET_ITEMexpand_relations: Array like["children"]or["thumbnails"]forGET_ITEMuser_id:"me"(default) or specific user ID/email
Pitfalls:
ONE_DRIVE_SEARCH_ITEMSdoes NOT support KQL operators (folder:,file:,filetype:,path:); these are treated as literal text- Wildcard characters (
*,?) are NOT supported and are auto-removed; use file extension keywords instead (e.g.,"pdf"not"*.pdf") ONE_DRIVE_ONEDRIVE_LIST_ITEMSreturns only root-level contents; use recursiveONE_DRIVE_GET_ITEMwithexpand_relations: ["children"]for deeper levels- Large folders paginate; always follow
skip_token/@odata.nextLinkuntil exhausted - Some drive ID formats may return "ObjectHandle is Invalid" errors due to Microsoft Graph API limitations
2. Upload and Download Files
When 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 withs3key,mimetype, andnamefor 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 identifier
Pitfalls:
- Upload automatically renames on conflict (no overwrite option by default)
- Large files are automatically handled via chunking
drive_idoverridesuser_idwhen both are provided- Item IDs vary by platform: OneDrive for Business uses
01...prefix, OneDrive Personal usesHASH!NUMBERformat - Item IDs are case-sensitive; use exactly as returned from API
3. Share Files and Manage Permissions
When to use: User wants to share files/folders or manage who has access
Tool sequence:
ONE_DRIVE_ONEDRIVE_FIND_FILEorONE_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 withemailorobject_idroles: Array with"read"or"write"send_invitation:trueto send notification email,falsefor silent permission grantrequire_sign_in:trueto 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 permissions
Pitfalls:
- Using wrong
item_idwithINVITE_USER_TO_DRIVE_ITEMchanges permissions on unintended items; always verify first - Write or higher roles are impactful; get explicit user confirmation before granting
GET_ITEM_PERMISSIONSreturns inherited and owner entries; do not assume response only reflects recent changespermissionscannot be expanded viaONE_DRIVE_GET_ITEM; use the separate permissions endpoint- At least one of
require_sign_inorsend_invitationmust betrue
4. Manage Folders (Create, Move, Delete, Copy)
When 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 withid(destination folder ID) for moves:{"id": "folder_id"}item_id: Item to copy or deleteparent_reference: Object withidand optionaldriveIdfor copy destination@microsoft.graph.conflictBehavior:"fail","replace", or"rename"for copiesif_match: ETag for optimistic concurrency on deletes
Pitfalls:
ONE_DRIVE_MOVE_ITEMdoes NOT support cross-drive moves; useONE_DRIVE_COPY_ITEMfor cross-drive transfersparentReferencefor moves requires folder ID (not folder name); resolve withONEDRIVE_FIND_FOLDERfirstONE_DRIVE_COPY_ITEMis asynchronous; response provides a URL to monitor progressONE_DRIVE_DELETE_ITEMmoves to recycle bin, not permanent deletion- Folder creation auto-renames on conflict (e.g., "New Folder" becomes "New Folder 1")
- Provide either
nameorparent_reference(or both) forONE_DRIVE_COPY_ITEM
5. Track Changes and Drive Information
When 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 history
Pitfalls:
- Delta queries are only available for SharePoint site drives via
ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA - Token
"latest"returns current delta token without items (useful as starting point) - Deep or large drives can take several minutes to crawl; use batching and resume logic
Common Patterns
ID Resolution
- User: Use
"me"for authenticated user or specific user email/GUID - Item ID from find: Use
ONE_DRIVE_ONEDRIVE_FIND_FILEorONE_DRIVE_ONEDRIVE_FIND_FOLDERto get item IDs - Item ID from search: Extract from
ONE_DRIVE_SEARCH_ITEMSresults - Drive ID: Use
ONE_DRIVE_LIST_DRIVESorONE_DRIVE_GET_DRIVEto discover drives - Folder path to ID: Use
ONE_DRIVE_ONEDRIVE_FIND_FOLDERwith path, then extract ID from response
ID formats vary by platform:
- OneDrive for Business/SharePoint:
01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUK - OneDrive Personal:
D4648F06C91D9D3D!54927
Pagination
OneDrive uses token-based pagination:
- Follow
@odata.nextLinkorskip_tokenuntil no more pages - Set
topfor page size (varies by endpoint) ONE_DRIVE_ONEDRIVE_LIST_ITEMSauto-handles pagination internally- Aggressive parallel requests can trigger HTTP 429; honor
Retry-Afterheaders
Path vs ID
Most OneDrive tools accept either paths or IDs:
- Paths: Start with
/(e.g.,"/Documents/Reports") - IDs: Use unique item identifiers from API responses
- Item paths for permissions: Use
:/path/to/item:/format
Known Pitfalls
ID Formats
- Item IDs are case-sensitive and platform-specific
- Never use web URLs, sharing links, or manually constructed identifiers as item IDs
- Always use IDs exactly as returned from Microsoft Graph API
Rate Limits
- Aggressive parallel
ONE_DRIVE_GET_ITEMcalls can trigger HTTP 429 Too Many Requests - Honor
Retry-Afterheaders and implement throttling - Deep drive crawls should use batching with delays
Search Limitations
- No KQL support; use plain keywords only
- No wildcard characters; use extension keywords (e.g.,
"pdf"not"*.pdf") - No path-based filtering in search; use folder listing instead
q='*'wildcard-only queries return HTTP 400 invalidRequest
Parameter Quirks
drive_idoverridesuser_idwhen both are providedpermissionscannot be expanded viaGET_ITEM; use dedicated permissions endpoint- Move operations require folder IDs in
parentReference, not folder names - Copy operations are asynchronous; response provides monitoring URL
Quick Reference
| 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
Frequently asked questions
What to verify before installation and use
What does the one-drive-automation source document cover?
Automate OneDrive operations including file upload/download, search, folder management, sharing links, permissions management, and drive browsing through Composio's OneDrive toolkit.
How do I install one-drive-automation?
The source record exposes this install command: npx skills add https://github.com/davepoon/buildwithclaude --skill "plugins/all-skills/skills/one-drive-automation". Inspect the command and pinned source before running it.
Which permission-related actions were detected?
Static rules flagged write-files in the source; the page lists the matching lines and excerpts.
Alternatives
Compare before choosing
oaustegard/claude-skills
featuring
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre
dancingteeth/unified-code-review
unified-code-review
Risk-first code review for PRs and branch audits: blast-radius triage, agent-authored discipline (tests first, intent evidence), call-graph pincer for integration defects between modules, then structural code-judo bar. Use when reviewing PRs, auditing agent-written diffs, catching rubber-stamp green CI, or wiring bugs single-file review misses. Prefer over structure-only thermo-nuclear review alone. Do not use for unrelated coding tasks or as an always-on rule.
Postpartum-genushyacinthus29/dotnet-skills
dotnet-worker-services
Build long-running .NET background services with `BackgroundService`, Generic Host, graceful shutdown, configuration, logging, and deployment patterns suited to workers and daemons.
PaulRBerg/agent-skills
skill-writing
Create/scaffold/init a project-local agent skill under `.agents/skills` in an ordinary repository; defer to repository instructions that define a source catalog and lifecycle.