[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XF1SV3XAQND8FPV80CMKYH":3,"skill-same:01M6XF1SV3XAQND8FPV80CMKYH":71},{"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":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":14,"repositoryHtmlUrl":54,"repositoryHomepageUrl":6,"ownerHtmlUrl":55,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":56,"install":57,"resources":70},"01M6XF1SV3XAQND8FPV80CMKYH","box-automation",null,"Automate Box operations including file upload\u002Fdownload, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.","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\u002Fbox-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,44],"box","automation","box automation","queries","2026","unknown","requests","folder","sign","content search","upload","composio","community","operations","management","automate","file","content","search","toolkit","collaboration","2026-11-10 10:12:30",false,"---\nname: box-automation\ndescription: \"Automate Box operations including file upload\u002Fdownload, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.\"\nrisk: unknown\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Box Automation via Rube MCP\n\nAutomate Box operations including file upload\u002Fdownload, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Box connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `box`\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 `box`\n3. If connection is not ACTIVE, follow the returned auth link to complete Box OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Upload and Download Files\n\n**When to use**: User wants to upload files to Box or download files from it\n\n**Tool sequence**:\n1. `BOX_SEARCH_FOR_CONTENT` - Find the target folder if path is unknown [Prerequisite]\n2. `BOX_GET_FOLDER_INFORMATION` - Verify folder exists and get folder_id [Prerequisite]\n3. `BOX_LIST_ITEMS_IN_FOLDER` - Browse folder contents and discover file IDs [Optional]\n4. `BOX_UPLOAD_FILE` - Upload a file to a specific folder [Required for upload]\n5. `BOX_DOWNLOAD_FILE` - Download a file by file_id [Required for download]\n6. `BOX_CREATE_ZIP_DOWNLOAD` - Bundle multiple files\u002Ffolders into a zip [Optional]\n\n**Key parameters**:\n- `parent_id`: Folder ID for upload destination (use `\"0\"` for root folder)\n- `file`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads\n- `file_id`: Unique file identifier for downloads\n- `version`: Optional file version ID for downloading specific versions\n- `fields`: Comma-separated list of attributes to return\n\n**Pitfalls**:\n- Uploading to a folder with existing filenames can trigger conflict behavior; decide overwrite vs rename semantics\n- Files over 50MB should use chunk upload APIs (not available via standard tools)\n- The `attributes` part of upload must come before the `file` part or you get HTTP 400 with `metadata_after_file_contents`\n- File IDs and folder IDs are numeric strings extractable from Box web app URLs (e.g., `https:\u002F\u002F*.app.box.com\u002Ffiles\u002F123` gives file_id `\"123\"`)\n\n### 2. Search and Browse Content\n\n**When to use**: User wants to find files, folders, or web links by name, content, or metadata\n\n**Tool sequence**:\n1. `BOX_SEARCH_FOR_CONTENT` - Full-text search across files, folders, and web links [Required]\n2. `BOX_LIST_ITEMS_IN_FOLDER` - Browse contents of a specific folder [Optional]\n3. `BOX_GET_FILE_INFORMATION` - Get detailed metadata for a specific file [Optional]\n4. `BOX_GET_FOLDER_INFORMATION` - Get detailed metadata for a specific folder [Optional]\n5. `BOX_QUERY_FILES_FOLDERS_BY_METADATA` - Search by metadata template values [Optional]\n6. `BOX_LIST_RECENTLY_ACCESSED_ITEMS` - List recently accessed items [Optional]\n\n**Key parameters**:\n- `query`: Search string supporting operators (`\"\"` exact match, `AND`, `OR`, `NOT` - uppercase only)\n- `type`: Filter by `\"file\"`, `\"folder\"`, or `\"web_link\"`\n- `ancestor_folder_ids`: Limit search to specific folders (comma-separated IDs)\n- `file_extensions`: Filter by file type (comma-separated, no dots)\n- `content_types`: Search in `\"name\"`, `\"description\"`, `\"file_content\"`, `\"comments\"`, `\"tags\"`\n- `created_at_range` \u002F `updated_at_range`: Date filters as comma-separated RFC3339 timestamps\n- `limit`: Results per page (default 30)\n- `offset`: Pagination offset (max 10000)\n- `folder_id`: For `LIST_ITEMS_IN_FOLDER` (use `\"0\"` for root)\n\n**Pitfalls**:\n- Queries with offset > 10000 are rejected with HTTP 400\n- `BOX_SEARCH_FOR_CONTENT` requires either `query` or `mdfilters` parameter\n- Misconfigured filters can silently omit expected items; validate with small test queries first\n- Boolean operators (`AND`, `OR`, `NOT`) must be uppercase\n- `BOX_LIST_ITEMS_IN_FOLDER` requires pagination via `marker` or `offset`\u002F`usemarker`; partial listings are common\n- Standard folders sort items by type first (folders before files before web links)\n\n### 3. Manage Folders\n\n**When to use**: User wants to create, update, move, copy, or delete folders\n\n**Tool sequence**:\n1. `BOX_GET_FOLDER_INFORMATION` - Verify folder exists and check permissions [Prerequisite]\n2. `BOX_CREATE_FOLDER` - Create a new folder [Required for create]\n3. `BOX_UPDATE_FOLDER` - Rename, move, or update folder settings [Required for update]\n4. `BOX_COPY_FOLDER` - Copy a folder to a new location [Optional]\n5. `BOX_DELETE_FOLDER` - Move folder to trash [Required for delete]\n6. `BOX_PERMANENTLY_REMOVE_FOLDER` - Permanently delete a trashed folder [Optional]\n\n**Key parameters**:\n- `name`: Folder name (no `\u002F`, `\\`, trailing spaces, or `.`\u002F`..`)\n- `parent__id`: Parent folder ID (use `\"0\"` for root)\n- `folder_id`: Target folder ID for operations\n- `parent.id`: Destination folder ID for moves via `BOX_UPDATE_FOLDER`\n- `recursive`: Set `true` to delete non-empty folders\n- `shared_link`: Object with `access`, `password`, `permissions` for creating shared links on folders\n- `description`, `tags`: Optional metadata fields\n\n**Pitfalls**:\n- `BOX_DELETE_FOLDER` moves to trash by default; use `BOX_PERMANENTLY_REMOVE_FOLDER` for permanent deletion\n- Non-empty folders require `recursive: true` for deletion\n- Root folder (ID `\"0\"`) cannot be copied or deleted\n- Folder names cannot contain `\u002F`, `\\`, non-printable ASCII, or trailing spaces\n- Moving folders requires setting `parent.id` via `BOX_UPDATE_FOLDER`\n\n### 4. Share Files and Manage Collaborations\n\n**When to use**: User wants to share files, manage access, or handle collaborations\n\n**Tool sequence**:\n1. `BOX_GET_FILE_INFORMATION` - Get file details and current sharing status [Prerequisite]\n2. `BOX_LIST_FILE_COLLABORATIONS` - List who has access to a file [Required]\n3. `BOX_UPDATE_COLLABORATION` - Change access level or accept\u002Freject invitations [Required]\n4. `BOX_GET_COLLABORATION` - Get details of a specific collaboration [Optional]\n5. `BOX_UPDATE_FILE` - Create shared links, lock files, or update permissions [Optional]\n6. `BOX_UPDATE_FOLDER` - Create shared links on folders [Optional]\n\n**Key parameters**:\n- `collaboration_id`: Unique collaboration identifier\n- `role`: Access level (`\"editor\"`, `\"viewer\"`, `\"co-owner\"`, `\"owner\"`, `\"previewer\"`, `\"uploader\"`, `\"viewer uploader\"`, `\"previewer uploader\"`)\n- `status`: `\"accepted\"`, `\"pending\"`, or `\"rejected\"` for collaboration invites\n- `file_id`: File to share or manage\n- `lock__access`: Set to `\"lock\"` to lock a file\n- `permissions__can__download`: `\"company\"` or `\"open\"` for download permissions\n\n**Pitfalls**:\n- Only certain roles can invite collaborators; insufficient permissions cause authorization errors\n- `can_view_path` increases load time for the invitee's \"All Files\" page; limit to 1000 per user\n- Collaboration expiration requires enterprise admin settings to be enabled\n- Nested parameter names use double underscores (e.g., `lock__access`, `parent__id`)\n\n### 5. Box Sign Requests\n\n**When to use**: User wants to manage document signature requests\n\n**Tool sequence**:\n1. `BOX_LIST_BOX_SIGN_REQUESTS` - List all signature requests [Required]\n2. `BOX_GET_BOX_SIGN_REQUEST_BY_ID` - Get details of a specific sign request [Optional]\n3. `BOX_CANCEL_BOX_SIGN_REQUEST` - Cancel a pending sign request [Optional]\n\n**Key parameters**:\n- `sign_request_id`: UUID of the sign request\n- `shared_requests`: Set `true` to include requests where user is a collaborator (not owner)\n- `senders`: Filter by sender emails (requires `shared_requests: true`)\n- `limit` \u002F `marker`: Pagination parameters\n\n**Pitfalls**:\n- Requires Box Sign to be enabled for the enterprise account\n- Deleted sign files or parent folders cause requests to not appear in listings\n- Only the creator can cancel a sign request\n- Sign request statuses include: `converting`, `created`, `sent`, `viewed`, `signed`, `declined`, `cancelled`, `expired`, `error_converting`, `error_sending`\n\n## Common Patterns\n\n### ID Resolution\nBox uses numeric string IDs for all entities:\n- **Root folder**: Always ID `\"0\"`\n- **File ID from URL**: `https:\u002F\u002F*.app.box.com\u002Ffiles\u002F123` gives file_id `\"123\"`\n- **Folder ID from URL**: `https:\u002F\u002F*.app.box.com\u002Ffolder\u002F123` gives folder_id `\"123\"`\n- **Search to ID**: Use `BOX_SEARCH_FOR_CONTENT` to find items, then extract IDs from results\n- **ETag**: Use `if_match` with file's ETag for safe concurrent delete operations\n\n### Pagination\nBox supports two pagination methods:\n- **Offset-based**: Use `offset` + `limit` (max offset 10000)\n- **Marker-based**: Set `usemarker: true` and follow `marker` from responses (preferred for large datasets)\n- Always paginate to completion to avoid partial results\n\n### Nested Parameters\nBox tools use double underscore notation for nested objects:\n- `parent__id` for parent folder reference\n- `lock__access`, `lock__expires__at`, `lock__is__download__prevented` for file locks\n- `permissions__can__download` for download permissions\n\n## Known Pitfalls\n\n### ID Formats\n- All IDs are numeric strings (e.g., `\"123456\"`, not integers)\n- Root folder is always `\"0\"`\n- File and folder IDs can be extracted from Box web app URLs\n\n### Rate Limits\n- Box API has per-endpoint rate limits\n- Search and list operations should use pagination responsibly\n- Bulk operations should include delays between requests\n\n### Parameter Quirks\n- `fields` parameter changes response shape: when specified, only mini representation + requested fields are returned\n- Search requires either `query` or `mdfilters`; both are optional individually but one must be present\n- `BOX_UPDATE_FILE` with `lock` set to `null` removes the lock (raw API only)\n- Metadata query `from` field format: `enterprise_{enterprise_id}.templateKey` or `global.templateKey`\n\n### Permissions\n- Deletions fail without sufficient permissions; always handle error responses\n- Collaboration roles determine what operations are allowed\n- Enterprise settings may restrict certain sharing options\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Search content | `BOX_SEARCH_FOR_CONTENT` | `query`, `type`, `ancestor_folder_ids` |\n| List folder items | `BOX_LIST_ITEMS_IN_FOLDER` | `folder_id`, `limit`, `marker` |\n| Get file info | `BOX_GET_FILE_INFORMATION` | `file_id`, `fields` |\n| Get folder info | `BOX_GET_FOLDER_INFORMATION` | `folder_id`, `fields` |\n| Upload file | `BOX_UPLOAD_FILE` | `file`, `parent_id` |\n| Download file | `BOX_DOWNLOAD_FILE` | `file_id` |\n| Create folder | `BOX_CREATE_FOLDER` | `name`, `parent__id` |\n| Update folder | `BOX_UPDATE_FOLDER` | `folder_id`, `name`, `parent` |\n| Copy folder | `BOX_COPY_FOLDER` | `folder_id`, `parent__id` |\n| Delete folder | `BOX_DELETE_FOLDER` | `folder_id`, `recursive` |\n| Permanently delete folder | `BOX_PERMANENTLY_REMOVE_FOLDER` | folder_id |\n| Update file | `BOX_UPDATE_FILE` | `file_id`, `name`, `parent__id` |\n| Delete file | `BOX_DELETE_FILE` | `file_id`, `if_match` |\n| List collaborations | `BOX_LIST_FILE_COLLABORATIONS` | `file_id` |\n| Update collaboration | `BOX_UPDATE_COLLABORATION` | `collaboration_id`, `role` |\n| Get collaboration | `BOX_GET_COLLABORATION` | `collaboration_id` |\n| Query by metadata | `BOX_QUERY_FILES_FOLDERS_BY_METADATA` | `from`, `ancestor_folder_id`, `query` |\n| List collections | `BOX_LIST_ALL_COLLECTIONS` | (none) |\n| List collection items | `BOX_LIST_COLLECTION_ITEMS` | `collection_id` |\n| List sign requests | `BOX_LIST_BOX_SIGN_REQUESTS` | `limit`, `marker` |\n| Get sign request | `BOX_GET_BOX_SIGN_REQUEST_BY_ID` | `sign_request_id` |\n| Cancel sign request | `BOX_CANCEL_BOX_SIGN_REQUEST` | `sign_request_id` |\n| Recent items | `BOX_LIST_RECENTLY_ACCESSED_ITEMS` | (none) |\n| Create zip download | `BOX_CREATE_ZIP_DOWNLOAD` | item IDs |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Box Automation via Rube MCP\n\nAutomate Box operations including file upload\u002Fdownload, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Box connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `box`\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 `box`\n3. If connection is not ACTIVE, follow the returned auth link to complete Box OAuth\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Upload and Download Files\n\n**When to use**: User wants to upload files to Box or download files from it\n\n**Tool sequence**:\n1. `BOX_SEARCH_FOR_CONTENT` - Find the target folder if path is unknown [Prerequisite]\n2. `BOX_GET_FOLDER_INFORMATION` - Verify folder exists and get folder_id [Prerequisite]\n3. `BOX_LIST_ITEMS_IN_FOLDER` - Browse folder contents and discover file IDs [Optional]\n4. `BOX_UPLOAD_FILE` - Upload a file to a specific folder [Required for upload]\n5. `BOX_DOWNLOAD_FILE` - Download a file by file_id [Required for download]\n6. `BOX_CREATE_ZIP_DOWNLOAD` - Bundle multiple files\u002Ffolders into a zip [Optional]\n\n**Key parameters**:\n- `parent_id`: Folder ID for upload destination (use `\"0\"` for root folder)\n- `file`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads\n- `file_id`: Unique file identifier for downloads\n- `version`: Optional file version ID for downloading specific versions\n- `fields`: Comma-separated list of attributes to return\n\n**Pitfalls**:\n- Uploading to a folder with existing filenames can trigger conflict behavior; decide overwrite vs rename semantics\n- Files over 50MB should use chunk upload APIs (not available via standard tools)\n- The `attributes` part of upload must come before the `file` part or you get HTTP 400 with `metadata_after_file_contents`\n- File IDs and folder IDs are numeric strings extractable from Box web app URLs (e.g., `https:\u002F\u002F*.app.box.com\u002Ffiles\u002F123` gives file_id `\"123\"`)\n\n### 2. Search and Browse Content\n\n**When to use**: User wants to find files, folders, or web links by name, content, or metadata\n\n**Tool sequence**:\n1. `BOX_SEARCH_FOR_CONTENT` - Full-text search across files, folders, and web links [Required]\n2. `BOX_LIST_ITEMS_IN_FOLDER` - Browse contents of a specific folder [Optional]\n3. `BOX_GET_FILE_INFORMATION` - Get detailed metadata for a specific file [Optional]\n4. `BOX_GET_FOLDER_INFORMATION` - Get detailed metadata for a specific folder [Optional]\n5. `BOX_QUERY_FILES_FOLDERS_BY_METADATA` - Search by metadata template values [Optional]\n6. `BOX_LIST_RECENTLY_ACCESSED_ITEMS` - List recently accessed items [Optional]\n\n**Key parameters**:\n- `query`: Search string supporting operators (`\"\"` exact match, `AND`, `OR`, `NOT` - uppercase only)\n- `type`: Filter by `\"file\"`, `\"folder\"`, or `\"web_link\"`\n- `ancestor_folder_ids`: Limit search to specific folders (comma-separated IDs)\n- `file_extensions`: Filter by file type (comma-separated, no dots)\n- `content_types`: Search in `\"name\"`, `\"description\"`, `\"file_content\"`, `\"comments\"`, `\"tags\"`\n- `created_at_range` \u002F `updated_at_range`: Date filters as comma-separated RFC3339 timestamps\n- `limit`: Results per page (default 30)\n- `offset`: Pagination offset (max 10000)\n- `folder_id`: For `LIST_ITEMS_IN_FOLDER` (use `\"0\"` for root)\n\n**Pitfalls**:\n- Queries with offset > 10000 are rejected with HTTP 400\n- `BOX_SEARCH_FOR_CONTENT` requires either `query` or `mdfilters` parameter\n- Misconfigured filters can silently omit expected items; validate with small test queries first\n- Boolean operators (`AND`, `OR`, `NOT`) must be uppercase\n- `BOX_LIST_ITEMS_IN_FOLDER` requires pagination via `marker` or `offset`\u002F`usemarker`; partial listings are common\n- Standard folders sort items by type first (folders before files before web links)\n\n### 3. Manage Folders\n\n**When to use**: User wants to create, update, move, copy, or delete folders\n\n**Tool sequence**:\n1. `BOX_GET_FOLDER_INFORMATION` - Verify folder exists and check permissions [Prerequisite]\n2. `BOX_CREATE_FOLDER` - Create a new folder [Required for create]\n3. `BOX_UPDATE_FOLDER` - Rename, move, or update folder settings [Required for update]\n4. `BOX_COPY_FOLDER` - Copy a folder to a new location [Optional]\n5. `BOX_DELETE_FOLDER` - Move folder to trash [Required for delete]\n6. `BOX_PERMANENTLY_REMOVE_FOLDER` - Permanently delete a trashed folder [Optional]\n\n**Key parameters**:\n- `name`: Folder name (no `\u002F`, `\\`, trailing spaces, or `.`\u002F`..`)\n- `parent__id`: Parent folder ID (use `\"0\"` for root)\n- `folder_id`: Target folder ID for operations\n- `parent.id`: Destination folder ID for moves via `BOX_UPDATE_FOLDER`\n- `recursive`: Set `true` to delete non-empty folders\n- `shared_link`: Object with `access`, `password`, `permissions` for creating shared links on folders\n- `description`, `tags`: Optional metadata fields\n\n**Pitfalls**:\n- `BOX_DELETE_FOLDER` moves to trash by default; use `BOX_PERMANENTLY_REMOVE_FOLDER` for permanent deletion\n- Non-empty folders require `recursive: true` for deletion\n- Root folder (ID `\"0\"`) cannot be copied or deleted\n- Folder names cannot contain `\u002F`, `\\`, non-printable ASCII, or trailing spaces\n- Moving folders requires setting `parent.id` via `BOX_UPDATE_FOLDER`\n\n### 4. Share Files and Manage Collaborations\n\n**When to use**: User wants to share files, manage access, or handle collaborations\n\n**Tool sequence**:\n1. `BOX_GET_FILE_INFORMATION` - Get file details and current sharing status [Prerequisite]\n2. `BOX_LIST_FILE_COLLABORATIONS` - List who has access to a file [Required]\n3. `BOX_UPDATE_COLLABORATION` - Change access level or accept\u002Freject invitations [Required]\n4. `BOX_GET_COLLABORATION` - Get details of a specific collaboration [Optional]\n5. `BOX_UPDATE_FILE` - Create shared links, lock files, or update permissions [Optional]\n6. `BOX_UPDATE_FOLDER` - Create shared links on folders [Optional]\n\n**Key parameters**:\n- `collaboration_id`: Unique collaboration identifier\n- `role`: Access level (`\"editor\"`, `\"viewer\"`, `\"co-owner\"`, `\"owner\"`, `\"previewer\"`, `\"uploader\"`, `\"viewer uploader\"`, `\"previewer uploader\"`)\n- `status`: `\"accepted\"`, `\"pending\"`, or `\"rejected\"` for collaboration invites\n- `file_id`: File to share or manage\n- `lock__access`: Set to `\"lock\"` to lock a file\n- `permissions__can__download`: `\"company\"` or `\"open\"` for download permissions\n\n**Pitfalls**:\n- Only certain roles can invite collaborators; insufficient permissions cause authorization errors\n- `can_view_path` increases load time for the invitee's \"All Files\" page; limit to 1000 per user\n- Collaboration expiration requires enterprise admin settings to be enabled\n- Nested parameter names use double underscores (e.g., `lock__access`, `parent__id`)\n\n### 5. Box Sign Requests\n\n**When to use**: User wants to manage document signature requests\n\n**Tool sequence**:\n1. `BOX_LIST_BOX_SIGN_REQUESTS` - List all signature requests [Required]\n2. `BOX_GET_BOX_SIGN_REQUEST_BY_ID` - Get details of a specific sign request [Optional]\n3. `BOX_CANCEL_BOX_SIGN_REQUEST` - Cancel a pending sign request [Optional]\n\n**Key parameters**:\n- `sign_request_id`: UUID of the sign request\n- `shared_requests`: Set `true` to include requests where user is a collaborator (not owner)\n- `senders`: Filter by sender emails (requires `shared_requests: true`)\n- `limit` \u002F `marker`: Pagination parameters\n\n**Pitfalls**:\n- Requires Box Sign to be enabled for the enterprise account\n- Deleted sign files or parent folders cause requests to not appear in listings\n- Only the creator can cancel a sign request\n- Sign request statuses include: `converting`, `created`, `sent`, `viewed`, `signed`, `declined`, `cancelled`, `expired`, `error_converting`, `error_sending`\n\n## Common Patterns\n\n### ID Resolution\nBox uses numeric string IDs for all entities:\n- **Root folder**: Always ID `\"0\"`\n- **File ID from URL**: `https:\u002F\u002F*.app.box.com\u002Ffiles\u002F123` gives file_id `\"123\"`\n- **Folder ID from URL**: `https:\u002F\u002F*.app.box.com\u002Ffolder\u002F123` gives folder_id `\"123\"`\n- **Search to ID**: Use `BOX_SEARCH_FOR_CONTENT` to find items, then extract IDs from results\n- **ETag**: Use `if_match` with file's ETag for safe concurrent delete operations\n\n### Pagination\nBox supports two pagination methods:\n- **Offset-based**: Use `offset` + `limit` (max offset 10000)\n- **Marker-based**: Set `usemarker: true` and follow `marker` from responses (preferred for large datasets)\n- Always paginate to completion to avoid partial results\n\n### Nested Parameters\nBox tools use double underscore notation for nested objects:\n- `parent__id` for parent folder reference\n- `lock__access`, `lock__expires__at`, `lock__is__download__prevented` for file locks\n- `permissions__can__download` for download permissions\n\n## Known Pitfalls\n\n### ID Formats\n- All IDs are numeric strings (e.g., `\"123456\"`, not integers)\n- Root folder is always `\"0\"`\n- File and folder IDs can be extracted from Box web app URLs\n\n### Rate Limits\n- Box API has per-endpoint rate limits\n- Search and list operations should use pagination responsibly\n- Bulk operations should include delays between requests\n\n### Parameter Quirks\n- `fields` parameter changes response shape: when specified, only mini representation + requested fields are returned\n- Search requires either `query` or `mdfilters`; both are optional individually but one must be present\n- `BOX_UPDATE_FILE` with `lock` set to `null` removes the lock (raw API only)\n- Metadata query `from` field format: `enterprise_{enterprise_id}.templateKey` or `global.templateKey`\n\n### Permissions\n- Deletions fail without sufficient permissions; always handle error responses\n- Collaboration roles determine what operations are allowed\n- Enterprise settings may restrict certain sharing options\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Search content | `BOX_SEARCH_FOR_CONTENT` | `query`, `type`, `ancestor_folder_ids` |\n| List folder items | `BOX_LIST_ITEMS_IN_FOLDER` | `folder_id`, `limit`, `marker` |\n| Get file info | `BOX_GET_FILE_INFORMATION` | `file_id`, `fields` |\n| Get folder info | `BOX_GET_FOLDER_INFORMATION` | `folder_id`, `fields` |\n| Upload file | `BOX_UPLOAD_FILE` | `file`, `parent_id` |\n| Download file | `BOX_DOWNLOAD_FILE` | `file_id` |\n| Create folder | `BOX_CREATE_FOLDER` | `name`, `parent__id` |\n| Update folder | `BOX_UPDATE_FOLDER` | `folder_id`, `name`, `parent` |\n| Copy folder | `BOX_COPY_FOLDER` | `folder_id`, `parent__id` |\n| Delete folder | `BOX_DELETE_FOLDER` | `folder_id`, `recursive` |\n| Permanently delete folder | `BOX_PERMANENTLY_REMOVE_FOLDER` | folder_id |\n| Update file | `BOX_UPDATE_FILE` | `file_id`, `name`, `parent__id` |\n| Delete file | `BOX_DELETE_FILE` | `file_id`, `if_match` |\n| List collaborations | `BOX_LIST_FILE_COLLABORATIONS` | `file_id` |\n| Update collaboration | `BOX_UPDATE_COLLABORATION` | `collaboration_id`, `role` |\n| Get collaboration | `BOX_GET_COLLABORATION` | `collaboration_id` |\n| Query by metadata | `BOX_QUERY_FILES_FOLDERS_BY_METADATA` | `from`, `ancestor_folder_id`, `query` |\n| List collections | `BOX_LIST_ALL_COLLECTIONS` | (none) |\n| List collection items | `BOX_LIST_COLLECTION_ITEMS` | `collection_id` |\n| List sign requests | `BOX_LIST_BOX_SIGN_REQUESTS` | `limit`, `marker` |\n| Get sign request | `BOX_GET_BOX_SIGN_REQUEST_BY_ID` | `sign_request_id` |\n| Cancel sign request | `BOX_CANCEL_BOX_SIGN_REQUEST` | `sign_request_id` |\n| Recent items | `BOX_LIST_RECENTLY_ACCESSED_ITEMS` | (none) |\n| Create zip download | `BOX_CREATE_ZIP_DOWNLOAD` | item IDs |\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":36,"date_added":50,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fcopilot\u002Fbox-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":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill box-automation",{"tool":63,"command":64},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill box-automation",{"tool":66,"command":67},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill box-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fcopilot\u002Fbox-automation\u002FSKILL.md",true,[],[72,95,121,131,144,161],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":83,"publishedAt":45},"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",[78],{"categoryNo":79,"categoryName":80,"taxonomyType":81,"taxonomyTypeDesc":82},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[84,85,42,86,87,88,89,90,91,92,93,94],"wechat search","wechat","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":45},"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",[],[102,103,104,105,106,107,42,108,109,110,111,112,113,114,115,116,117,118,119,120],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":45},"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",[],[128,129,102,113,114,115,116,106,42,118,130,119,120,112,110,109,108,117,107,105],"trend radar","radar","pulse",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":45},"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",[],[138,139,140,141,142,143],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":153,"publishedAt":45},"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",[150],{"categoryNo":151,"categoryName":152,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[146,91,154,155,156,94,113,157,158,159,104,160,117],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":45},"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",[],[163,168,169,170,117,171,158,172,173,174,175,176],"status","play","go","latest","github","discover","control","cmd","volume"]