[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XG9NEEEHAMKB5YBYCB2MGA":3,"skill-same:01M6XG9NEEEHAMKB5YBYCB2MGA":70},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6XG9NEEEHAMKB5YBYCB2MGA","dropbox-automation",null,"Automate Dropbox file management, sharing, search, uploads, downloads, and folder operations via Rube MCP (Composio). Always search tools first for current schemas.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fdropbox-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,43],"automation","dropbox","dropbox automation","2026","MCP","unknown","for","folder","file management","via","composio","community","uploads","operations","automate","first","Tools","downloads","file","search","2026-11-10 10:12:30",false,"---\nname: dropbox-automation\ndescription: \"Automate Dropbox file management, sharing, search, uploads, downloads, and folder operations via Rube MCP (Composio). Always search tools first for current schemas.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Dropbox Automation via Rube MCP\n\nAutomate Dropbox operations including file upload\u002Fdownload, search, folder management, sharing links, batch operations, and metadata retrieval through Composio's Dropbox toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Dropbox connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `dropbox`\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\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `dropbox`\n3. If connection is not ACTIVE, follow the returned auth link to complete Dropbox OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Search for Files and Folders\n\n**When to use**: User wants to find files or folders by name, content, or type\n\n**Tool sequence**:\n1. `DROPBOX_SEARCH_FILE_OR_FOLDER` - Search by query string with optional path scope and filters [Required]\n2. `DROPBOX_SEARCH_CONTINUE` - Paginate through additional results using cursor [Required if has_more]\n3. `DROPBOX_GET_METADATA` - Validate and get canonical path for a search result [Optional]\n4. `DROPBOX_READ_FILE` - Read file content to verify it is the intended document [Optional]\n\n**Key parameters**:\n- `query`: Search string (case-insensitive, 1+ non-whitespace characters)\n- `options.path`: Scope search to a folder (e.g., `\"\u002FDocuments\"`); empty string for root\n- `options.file_categories`: Filter by type (`\"image\"`, `\"document\"`, `\"pdf\"`, `\"folder\"`, etc.)\n- `options.file_extensions`: Filter by extension (e.g., `[\"jpg\", \"png\"]`)\n- `options.filename_only`: Set `true` to match filenames only (not content)\n- `options.max_results`: Results per page (default 100, max 1000)\n\n**Pitfalls**:\n- Search returns `has_more: true` with a `cursor` when more results exist; MUST continue to avoid silently missing matches\n- Maximum 10,000 matches total across all pages of search + search_continue\n- `DROPBOX_GET_METADATA` returned `path_display` may differ in casing from user input; always use the returned canonical path\n- File content from `DROPBOX_READ_FILE` may be returned as base64-encoded `file_content_bytes`; decode before parsing\n\n### 2. Upload and Download Files\n\n**When to use**: User wants to upload files to Dropbox or download files from it\n\n**Tool sequence**:\n1. `DROPBOX_UPLOAD_FILE` - Upload a file to a specified path [Required for upload]\n2. `DROPBOX_READ_FILE` - Download\u002Fread a file from Dropbox [Required for download]\n3. `DROPBOX_DOWNLOAD_ZIP` - Download an entire folder as a zip file [Optional]\n4. `DROPBOX_SAVE_URL` - Save a file from a public URL directly to Dropbox [Optional]\n5. `DROPBOX_GET_SHARED_LINK_FILE` - Download a file from a shared link URL [Optional]\n6. `DROPBOX_EXPORT_FILE` - Export non-downloadable files like Dropbox Paper to markdown\u002FHTML [Optional]\n\n**Key parameters**:\n- `path`: Dropbox path (must start with `\u002F`, e.g., `\"\u002FDocuments\u002Freport.pdf\"`)\n- `mode`: `\"add\"` (default, fail on conflict) or `\"overwrite\"` for uploads\n- `autorename`: `true` to auto-rename on conflict instead of failing\n- `content`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads\n- `url`: Public URL for `DROPBOX_SAVE_URL`\n- `export_format`: `\"markdown\"`, `\"html\"`, or `\"plain_text\"` for Paper docs\n\n**Pitfalls**:\n- `DROPBOX_SAVE_URL` is asynchronous and may take up to 15 minutes for large files\n- `DROPBOX_DOWNLOAD_ZIP` folder must be under 20 GB with no single file over 4 GB and fewer than 10,000 entries\n- `DROPBOX_READ_FILE` content may be base64-encoded; check response format\n- Shared link downloads via `DROPBOX_GET_SHARED_LINK_FILE` may require `link_password` for protected links\n\n### 3. Share Files and Manage Links\n\n**When to use**: User wants to create sharing links or manage existing shared links\n\n**Tool sequence**:\n1. `DROPBOX_GET_METADATA` - Confirm file\u002Ffolder exists and get canonical path [Prerequisite]\n2. `DROPBOX_LIST_SHARED_LINKS` - Check for existing shared links to avoid duplicates [Prerequisite]\n3. `DROPBOX_CREATE_SHARED_LINK` - Create a new shared link [Required]\n4. `DROPBOX_GET_SHARED_LINK_METADATA` - Resolve a shared link URL to metadata [Optional]\n5. `DROPBOX_LIST_SHARED_FOLDERS` - List all shared folders the user has access to [Optional]\n\n**Key parameters**:\n- `path`: File or folder path for link creation\n- `settings.audience`: `\"public\"`, `\"team\"`, or `\"no_one\"`\n- `settings.access`: `\"viewer\"` or `\"editor\"`\n- `settings.expires`: ISO 8601 expiration date (e.g., `\"2026-12-31T23:59:59Z\"`)\n- `settings.require_password` \u002F `settings.link_password`: Password protection\n- `settings.allow_download`: Boolean for download permission\n- `direct_only`: For `LIST_SHARED_LINKS`, set `true` to only return direct links (not parent folder links)\n\n**Pitfalls**:\n- `DROPBOX_CREATE_SHARED_LINK` fails with 409 Conflict if a shared link already exists for the path; check with `DROPBOX_LIST_SHARED_LINKS` first\n- Always validate path with `DROPBOX_GET_METADATA` before creating links to avoid `path\u002Fnot_found` errors\n- Reuse existing links from `DROPBOX_LIST_SHARED_LINKS` instead of creating duplicates\n- `requested_visibility` is deprecated; use `audience` for newer implementations\n\n### 4. Manage Folders (Create, Move, Delete)\n\n**When to use**: User wants to create, move, rename, or delete files and folders\n\n**Tool sequence**:\n1. `DROPBOX_CREATE_FOLDER` - Create a single folder [Required for create]\n2. `DROPBOX_CREATE_FOLDER_BATCH` - Create multiple folders at once [Optional]\n3. `DROPBOX_MOVE_FILE_OR_FOLDER` - Move or rename a single file\u002Ffolder [Required for move]\n4. `DROPBOX_MOVE_BATCH` - Move multiple items at once [Optional]\n5. `DROPBOX_DELETE_FILE_OR_FOLDER` - Delete a single file or folder [Required for delete]\n6. `DROPBOX_DELETE_BATCH` - Delete multiple items at once [Optional]\n7. `DROPBOX_COPY_FILE_OR_FOLDER` - Copy a file or folder to a new location [Optional]\n8. `DROPBOX_CHECK_MOVE_BATCH` \u002F `DROPBOX_CHECK_FOLDER_BATCH` - Poll async batch job status [Required for batch ops]\n\n**Key parameters**:\n- `path`: Target path (must start with `\u002F`, case-sensitive)\n- `from_path` \u002F `to_path`: Source and destination for move\u002Fcopy operations\n- `autorename`: `true` to auto-rename on conflict\n- `entries`: Array of `{from_path, to_path}` for batch moves; array of paths for batch creates\n- `allow_shared_folder`: Set `true` to allow moving shared folders\n- `allow_ownership_transfer`: Set `true` if move changes ownership\n\n**Pitfalls**:\n- All paths are case-sensitive and must start with `\u002F`\n- Paths must NOT end with `\u002F` or whitespace\n- Batch operations may be asynchronous; poll with `DROPBOX_CHECK_MOVE_BATCH` or `DROPBOX_CHECK_FOLDER_BATCH`\n- `DROPBOX_FILES_MOVE_BATCH` (v1) has \"all or nothing\" behavior - if any entry fails, entire batch fails\n- `DROPBOX_MOVE_BATCH` (v2) is preferred over `DROPBOX_FILES_MOVE_BATCH` (v1)\n- Maximum 1000 entries per batch delete\u002Fmove; 10,000 paths per batch folder create\n- Case-only renaming is not supported in batch move operations\n\n### 5. List Folder Contents\n\n**When to use**: User wants to browse or enumerate files in a Dropbox folder\n\n**Tool sequence**:\n1. `DROPBOX_LIST_FILES_IN_FOLDER` - List contents of a folder [Required]\n2. `DROPBOX_LIST_FOLDERS` - Alternative folder listing with deleted entries support [Optional]\n3. `DROPBOX_GET_METADATA` - Get details for a specific item [Optional]\n\n**Key parameters**:\n- `path`: Folder path (empty string `\"\"` for root)\n- `recursive`: `true` to list all nested contents\n- `limit`: Max results per request (default\u002Fmax 2000)\n- `include_deleted`: `true` to include deleted but recoverable items\n- `include_media_info`: `true` to get photo\u002Fvideo metadata\n\n**Pitfalls**:\n- Use empty string `\"\"` for root folder, not `\"\u002F\"`\n- Recursive listings can be very large; use `limit` to control page size\n- Results may paginate via cursor even with small limits\n- `DROPBOX_LIST_FILES_IN_FOLDER` returns 409 Conflict with `path\u002Fnot_found` for incorrect paths\n\n## Common Patterns\n\n### ID Resolution\n- **Path-based**: Most Dropbox tools use path strings (e.g., `\"\u002FDocuments\u002Ffile.pdf\"`)\n- **ID-based**: Some tools accept `id:...` format (e.g., `\"id:4g0reWVRsAAAAAAAAAAAQ\"`)\n- **Canonical path**: Always use `path_display` or `path_lower` from `DROPBOX_GET_METADATA` responses for subsequent calls\n- **Shared link URL**: Use `DROPBOX_GET_SHARED_LINK_METADATA` to resolve URLs to paths\u002FIDs\n\n### Pagination\nDropbox uses cursor-based pagination across most endpoints:\n- Search: Follow `has_more` + `cursor` with `DROPBOX_SEARCH_CONTINUE` (max 10,000 total matches)\n- Folder listing: Follow cursor from response until no more pages\n- Shared links: Follow `has_more` + `cursor` in `DROPBOX_LIST_SHARED_LINKS`\n- Batch job status: Poll with `DROPBOX_CHECK_MOVE_BATCH` \u002F `DROPBOX_CHECK_FOLDER_BATCH`\n\n### Async Operations\nSeveral Dropbox operations run asynchronously:\n- `DROPBOX_SAVE_URL` - returns job ID; poll or set `wait: true` (up to 120s default)\n- `DROPBOX_MOVE_BATCH` \u002F `DROPBOX_FILES_MOVE_BATCH` - may return job ID\n- `DROPBOX_CREATE_FOLDER_BATCH` - may return job ID\n- `DROPBOX_DELETE_BATCH` - returns job ID\n\n## Known Pitfalls\n\n### Path Formats\n- All paths must start with `\u002F` (except empty string for root in some endpoints)\n- Paths must NOT end with `\u002F` or contain trailing whitespace\n- Paths are case-sensitive for write operations\n- `path_display` from API may differ in casing from user input; always prefer API-returned paths\n\n### Rate Limits\n- Dropbox API has per-endpoint rate limits; batch operations help reduce call count\n- Search is limited to 10,000 total matches across all pagination\n- `DROPBOX_SAVE_URL` has a 15-minute timeout for large files\n\n### File Content\n- `DROPBOX_READ_FILE` may return content as base64-encoded `file_content_bytes`\n- Non-downloadable files (Dropbox Paper, Google Docs) require `DROPBOX_EXPORT_FILE` instead\n- Download URLs from shared links require proper authentication headers\n\n### Sharing\n- Creating a shared link when one already exists returns a 409 Conflict error\n- Always check `DROPBOX_LIST_SHARED_LINKS` before creating new links\n- Shared folder access may not appear in standard path listings; use `DROPBOX_LIST_SHARED_FOLDERS`\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Search files | `DROPBOX_SEARCH_FILE_OR_FOLDER` | `query`, `options.path` |\n| Continue search | `DROPBOX_SEARCH_CONTINUE` | `cursor` |\n| List folder | `DROPBOX_LIST_FILES_IN_FOLDER` | `path`, `recursive`, `limit` |\n| List folders | `DROPBOX_LIST_FOLDERS` | `path`, `recursive` |\n| Get metadata | `DROPBOX_GET_METADATA` | `path` |\n| Read\u002Fdownload file | `DROPBOX_READ_FILE` | `path` |\n| Upload file | `DROPBOX_UPLOAD_FILE` | `path`, `content`, `mode` |\n| Save URL to Dropbox | `DROPBOX_SAVE_URL` | `path`, `url` |\n| Download folder zip | `DROPBOX_DOWNLOAD_ZIP` | `path` |\n| Export Paper doc | `DROPBOX_EXPORT_FILE` | `path`, `export_format` |\n| Download shared link | `DROPBOX_GET_SHARED_LINK_FILE` | `url` |\n| Create shared link | `DROPBOX_CREATE_SHARED_LINK` | `path`, `settings` |\n| List shared links | `DROPBOX_LIST_SHARED_LINKS` | `path`, `direct_only` |\n| Shared link metadata | `DROPBOX_GET_SHARED_LINK_METADATA` | `url` |\n| List shared folders | `DROPBOX_LIST_SHARED_FOLDERS` | `limit` |\n| Create folder | `DROPBOX_CREATE_FOLDER` | `path` |\n| Create folders batch | `DROPBOX_CREATE_FOLDER_BATCH` | `paths` |\n| Move file\u002Ffolder | `DROPBOX_MOVE_FILE_OR_FOLDER` | `from_path`, `to_path` |\n| Move batch | `DROPBOX_MOVE_BATCH` | `entries` |\n| Delete file\u002Ffolder | `DROPBOX_DELETE_FILE_OR_FOLDER` | `path` |\n| Delete batch | `DROPBOX_DELETE_BATCH` | `entries` |\n| Copy file\u002Ffolder | `DROPBOX_COPY_FILE_OR_FOLDER` | `from_path`, `to_path` |\n| Check batch status | `DROPBOX_CHECK_MOVE_BATCH` | `async_job_id` |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Dropbox Automation via Rube MCP\n\nAutomate Dropbox operations including file upload\u002Fdownload, search, folder management, sharing links, batch operations, and metadata retrieval through Composio's Dropbox toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Dropbox connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `dropbox`\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\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `dropbox`\n3. If connection is not ACTIVE, follow the returned auth link to complete Dropbox OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Search for Files and Folders\n\n**When to use**: User wants to find files or folders by name, content, or type\n\n**Tool sequence**:\n1. `DROPBOX_SEARCH_FILE_OR_FOLDER` - Search by query string with optional path scope and filters [Required]\n2. `DROPBOX_SEARCH_CONTINUE` - Paginate through additional results using cursor [Required if has_more]\n3. `DROPBOX_GET_METADATA` - Validate and get canonical path for a search result [Optional]\n4. `DROPBOX_READ_FILE` - Read file content to verify it is the intended document [Optional]\n\n**Key parameters**:\n- `query`: Search string (case-insensitive, 1+ non-whitespace characters)\n- `options.path`: Scope search to a folder (e.g., `\"\u002FDocuments\"`); empty string for root\n- `options.file_categories`: Filter by type (`\"image\"`, `\"document\"`, `\"pdf\"`, `\"folder\"`, etc.)\n- `options.file_extensions`: Filter by extension (e.g., `[\"jpg\", \"png\"]`)\n- `options.filename_only`: Set `true` to match filenames only (not content)\n- `options.max_results`: Results per page (default 100, max 1000)\n\n**Pitfalls**:\n- Search returns `has_more: true` with a `cursor` when more results exist; MUST continue to avoid silently missing matches\n- Maximum 10,000 matches total across all pages of search + search_continue\n- `DROPBOX_GET_METADATA` returned `path_display` may differ in casing from user input; always use the returned canonical path\n- File content from `DROPBOX_READ_FILE` may be returned as base64-encoded `file_content_bytes`; decode before parsing\n\n### 2. Upload and Download Files\n\n**When to use**: User wants to upload files to Dropbox or download files from it\n\n**Tool sequence**:\n1. `DROPBOX_UPLOAD_FILE` - Upload a file to a specified path [Required for upload]\n2. `DROPBOX_READ_FILE` - Download\u002Fread a file from Dropbox [Required for download]\n3. `DROPBOX_DOWNLOAD_ZIP` - Download an entire folder as a zip file [Optional]\n4. `DROPBOX_SAVE_URL` - Save a file from a public URL directly to Dropbox [Optional]\n5. `DROPBOX_GET_SHARED_LINK_FILE` - Download a file from a shared link URL [Optional]\n6. `DROPBOX_EXPORT_FILE` - Export non-downloadable files like Dropbox Paper to markdown\u002FHTML [Optional]\n\n**Key parameters**:\n- `path`: Dropbox path (must start with `\u002F`, e.g., `\"\u002FDocuments\u002Freport.pdf\"`)\n- `mode`: `\"add\"` (default, fail on conflict) or `\"overwrite\"` for uploads\n- `autorename`: `true` to auto-rename on conflict instead of failing\n- `content`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads\n- `url`: Public URL for `DROPBOX_SAVE_URL`\n- `export_format`: `\"markdown\"`, `\"html\"`, or `\"plain_text\"` for Paper docs\n\n**Pitfalls**:\n- `DROPBOX_SAVE_URL` is asynchronous and may take up to 15 minutes for large files\n- `DROPBOX_DOWNLOAD_ZIP` folder must be under 20 GB with no single file over 4 GB and fewer than 10,000 entries\n- `DROPBOX_READ_FILE` content may be base64-encoded; check response format\n- Shared link downloads via `DROPBOX_GET_SHARED_LINK_FILE` may require `link_password` for protected links\n\n### 3. Share Files and Manage Links\n\n**When to use**: User wants to create sharing links or manage existing shared links\n\n**Tool sequence**:\n1. `DROPBOX_GET_METADATA` - Confirm file\u002Ffolder exists and get canonical path [Prerequisite]\n2. `DROPBOX_LIST_SHARED_LINKS` - Check for existing shared links to avoid duplicates [Prerequisite]\n3. `DROPBOX_CREATE_SHARED_LINK` - Create a new shared link [Required]\n4. `DROPBOX_GET_SHARED_LINK_METADATA` - Resolve a shared link URL to metadata [Optional]\n5. `DROPBOX_LIST_SHARED_FOLDERS` - List all shared folders the user has access to [Optional]\n\n**Key parameters**:\n- `path`: File or folder path for link creation\n- `settings.audience`: `\"public\"`, `\"team\"`, or `\"no_one\"`\n- `settings.access`: `\"viewer\"` or `\"editor\"`\n- `settings.expires`: ISO 8601 expiration date (e.g., `\"2026-12-31T23:59:59Z\"`)\n- `settings.require_password` \u002F `settings.link_password`: Password protection\n- `settings.allow_download`: Boolean for download permission\n- `direct_only`: For `LIST_SHARED_LINKS`, set `true` to only return direct links (not parent folder links)\n\n**Pitfalls**:\n- `DROPBOX_CREATE_SHARED_LINK` fails with 409 Conflict if a shared link already exists for the path; check with `DROPBOX_LIST_SHARED_LINKS` first\n- Always validate path with `DROPBOX_GET_METADATA` before creating links to avoid `path\u002Fnot_found` errors\n- Reuse existing links from `DROPBOX_LIST_SHARED_LINKS` instead of creating duplicates\n- `requested_visibility` is deprecated; use `audience` for newer implementations\n\n### 4. Manage Folders (Create, Move, Delete)\n\n**When to use**: User wants to create, move, rename, or delete files and folders\n\n**Tool sequence**:\n1. `DROPBOX_CREATE_FOLDER` - Create a single folder [Required for create]\n2. `DROPBOX_CREATE_FOLDER_BATCH` - Create multiple folders at once [Optional]\n3. `DROPBOX_MOVE_FILE_OR_FOLDER` - Move or rename a single file\u002Ffolder [Required for move]\n4. `DROPBOX_MOVE_BATCH` - Move multiple items at once [Optional]\n5. `DROPBOX_DELETE_FILE_OR_FOLDER` - Delete a single file or folder [Required for delete]\n6. `DROPBOX_DELETE_BATCH` - Delete multiple items at once [Optional]\n7. `DROPBOX_COPY_FILE_OR_FOLDER` - Copy a file or folder to a new location [Optional]\n8. `DROPBOX_CHECK_MOVE_BATCH` \u002F `DROPBOX_CHECK_FOLDER_BATCH` - Poll async batch job status [Required for batch ops]\n\n**Key parameters**:\n- `path`: Target path (must start with `\u002F`, case-sensitive)\n- `from_path` \u002F `to_path`: Source and destination for move\u002Fcopy operations\n- `autorename`: `true` to auto-rename on conflict\n- `entries`: Array of `{from_path, to_path}` for batch moves; array of paths for batch creates\n- `allow_shared_folder`: Set `true` to allow moving shared folders\n- `allow_ownership_transfer`: Set `true` if move changes ownership\n\n**Pitfalls**:\n- All paths are case-sensitive and must start with `\u002F`\n- Paths must NOT end with `\u002F` or whitespace\n- Batch operations may be asynchronous; poll with `DROPBOX_CHECK_MOVE_BATCH` or `DROPBOX_CHECK_FOLDER_BATCH`\n- `DROPBOX_FILES_MOVE_BATCH` (v1) has \"all or nothing\" behavior - if any entry fails, entire batch fails\n- `DROPBOX_MOVE_BATCH` (v2) is preferred over `DROPBOX_FILES_MOVE_BATCH` (v1)\n- Maximum 1000 entries per batch delete\u002Fmove; 10,000 paths per batch folder create\n- Case-only renaming is not supported in batch move operations\n\n### 5. List Folder Contents\n\n**When to use**: User wants to browse or enumerate files in a Dropbox folder\n\n**Tool sequence**:\n1. `DROPBOX_LIST_FILES_IN_FOLDER` - List contents of a folder [Required]\n2. `DROPBOX_LIST_FOLDERS` - Alternative folder listing with deleted entries support [Optional]\n3. `DROPBOX_GET_METADATA` - Get details for a specific item [Optional]\n\n**Key parameters**:\n- `path`: Folder path (empty string `\"\"` for root)\n- `recursive`: `true` to list all nested contents\n- `limit`: Max results per request (default\u002Fmax 2000)\n- `include_deleted`: `true` to include deleted but recoverable items\n- `include_media_info`: `true` to get photo\u002Fvideo metadata\n\n**Pitfalls**:\n- Use empty string `\"\"` for root folder, not `\"\u002F\"`\n- Recursive listings can be very large; use `limit` to control page size\n- Results may paginate via cursor even with small limits\n- `DROPBOX_LIST_FILES_IN_FOLDER` returns 409 Conflict with `path\u002Fnot_found` for incorrect paths\n\n## Common Patterns\n\n### ID Resolution\n- **Path-based**: Most Dropbox tools use path strings (e.g., `\"\u002FDocuments\u002Ffile.pdf\"`)\n- **ID-based**: Some tools accept `id:...` format (e.g., `\"id:4g0reWVRsAAAAAAAAAAAQ\"`)\n- **Canonical path**: Always use `path_display` or `path_lower` from `DROPBOX_GET_METADATA` responses for subsequent calls\n- **Shared link URL**: Use `DROPBOX_GET_SHARED_LINK_METADATA` to resolve URLs to paths\u002FIDs\n\n### Pagination\nDropbox uses cursor-based pagination across most endpoints:\n- Search: Follow `has_more` + `cursor` with `DROPBOX_SEARCH_CONTINUE` (max 10,000 total matches)\n- Folder listing: Follow cursor from response until no more pages\n- Shared links: Follow `has_more` + `cursor` in `DROPBOX_LIST_SHARED_LINKS`\n- Batch job status: Poll with `DROPBOX_CHECK_MOVE_BATCH` \u002F `DROPBOX_CHECK_FOLDER_BATCH`\n\n### Async Operations\nSeveral Dropbox operations run asynchronously:\n- `DROPBOX_SAVE_URL` - returns job ID; poll or set `wait: true` (up to 120s default)\n- `DROPBOX_MOVE_BATCH` \u002F `DROPBOX_FILES_MOVE_BATCH` - may return job ID\n- `DROPBOX_CREATE_FOLDER_BATCH` - may return job ID\n- `DROPBOX_DELETE_BATCH` - returns job ID\n\n## Known Pitfalls\n\n### Path Formats\n- All paths must start with `\u002F` (except empty string for root in some endpoints)\n- Paths must NOT end with `\u002F` or contain trailing whitespace\n- Paths are case-sensitive for write operations\n- `path_display` from API may differ in casing from user input; always prefer API-returned paths\n\n### Rate Limits\n- Dropbox API has per-endpoint rate limits; batch operations help reduce call count\n- Search is limited to 10,000 total matches across all pagination\n- `DROPBOX_SAVE_URL` has a 15-minute timeout for large files\n\n### File Content\n- `DROPBOX_READ_FILE` may return content as base64-encoded `file_content_bytes`\n- Non-downloadable files (Dropbox Paper, Google Docs) require `DROPBOX_EXPORT_FILE` instead\n- Download URLs from shared links require proper authentication headers\n\n### Sharing\n- Creating a shared link when one already exists returns a 409 Conflict error\n- Always check `DROPBOX_LIST_SHARED_LINKS` before creating new links\n- Shared folder access may not appear in standard path listings; use `DROPBOX_LIST_SHARED_FOLDERS`\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Search files | `DROPBOX_SEARCH_FILE_OR_FOLDER` | `query`, `options.path` |\n| Continue search | `DROPBOX_SEARCH_CONTINUE` | `cursor` |\n| List folder | `DROPBOX_LIST_FILES_IN_FOLDER` | `path`, `recursive`, `limit` |\n| List folders | `DROPBOX_LIST_FOLDERS` | `path`, `recursive` |\n| Get metadata | `DROPBOX_GET_METADATA` | `path` |\n| Read\u002Fdownload file | `DROPBOX_READ_FILE` | `path` |\n| Upload file | `DROPBOX_UPLOAD_FILE` | `path`, `content`, `mode` |\n| Save URL to Dropbox | `DROPBOX_SAVE_URL` | `path`, `url` |\n| Download folder zip | `DROPBOX_DOWNLOAD_ZIP` | `path` |\n| Export Paper doc | `DROPBOX_EXPORT_FILE` | `path`, `export_format` |\n| Download shared link | `DROPBOX_GET_SHARED_LINK_FILE` | `url` |\n| Create shared link | `DROPBOX_CREATE_SHARED_LINK` | `path`, `settings` |\n| List shared links | `DROPBOX_LIST_SHARED_LINKS` | `path`, `direct_only` |\n| Shared link metadata | `DROPBOX_GET_SHARED_LINK_METADATA` | `url` |\n| List shared folders | `DROPBOX_LIST_SHARED_FOLDERS` | `limit` |\n| Create folder | `DROPBOX_CREATE_FOLDER` | `path` |\n| Create folders batch | `DROPBOX_CREATE_FOLDER_BATCH` | `paths` |\n| Move file\u002Ffolder | `DROPBOX_MOVE_FILE_OR_FOLDER` | `from_path`, `to_path` |\n| Move batch | `DROPBOX_MOVE_BATCH` | `entries` |\n| Delete file\u002Ffolder | `DROPBOX_DELETE_FILE_OR_FOLDER` | `path` |\n| Delete batch | `DROPBOX_DELETE_BATCH` | `entries` |\n| Copy file\u002Ffolder | `DROPBOX_COPY_FILE_OR_FOLDER` | `from_path`, `to_path` |\n| Check batch status | `DROPBOX_CHECK_MOVE_BATCH` | `async_job_id` |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":29,"source":35,"date_added":49,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fdropbox-automation","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill dropbox-automation",{"tool":62,"command":63},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill dropbox-automation",{"tool":65,"command":66},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill dropbox-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fdropbox-automation\u002FSKILL.md",true,[],[71,94,120,130,143,160],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":44},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[83,84,43,85,86,87,88,89,90,91,92,93],"wechat search","wechat","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":44},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[101,102,103,104,105,106,43,107,108,109,110,111,112,113,114,115,116,117,118,119],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":44},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[127,128,101,112,113,114,115,105,43,117,129,118,119,111,109,108,107,116,106,104],"trend radar","radar","pulse",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":44},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[137,138,139,140,141,142],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":152,"publishedAt":44},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[149],{"categoryNo":150,"categoryName":151,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[145,90,153,154,155,93,112,156,157,158,103,159,116],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":44},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[162,167,168,169,116,170,157,171,172,173,174,175],"status","play","go","latest","github","discover","control","cmd","volume"]