Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.
.claude/skills/box-automation/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | — | — |
| case-08 | ✗→✓ | ▲ Improved | — | — |
| case-17 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-15 | ✗→✓ | ▲ Improved | — | — |
Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.
RUBE_MANAGE_CONNECTIONS with toolkit boxRUBE_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 boxWhen to use: User wants to upload files to Box or download files from it
Tool sequence:
BOX_SEARCH_FOR_CONTENT - Find the target folder if path is unknown Prerequisite]BOX_GET_FOLDER_INFORMATION - Verify folder exists and get folder_id Prerequisite]BOX_LIST_ITEMS_IN_FOLDER - Browse folder contents and discover file IDs Optional]BOX_UPLOAD_FILE - Upload a file to a specific folder Required for upload]BOX_DOWNLOAD_FILE - Download a file by file_id Required for download]BOX_CREATE_ZIP_DOWNLOAD - Bundle multiple files/folders into a zip Optional]Key parameters:
parent_id: Folder ID for upload destination (use "0" for root folder)file: FileUploadable object with s3key, mimetype, and name for uploadsfile_id: Unique file identifier for downloadsversion: Optional file version ID for downloading specific versionsfields: Comma-separated list of attributes to returnPitfalls:
attributes part of upload must come before the file part or you get HTTP 400 with metadata_after_file_contentshttps://*.app.box.com/files/123 gives file_id "123")When to use: User wants to find files, folders, or web links by name, content, or metadata
Tool sequence:
BOX_SEARCH_FOR_CONTENT - Full-text search across files, folders, and web links Required]BOX_LIST_ITEMS_IN_FOLDER - Browse contents of a specific folder Optional]BOX_GET_FILE_INFORMATION - Get detailed metadata for a specific file Optional]BOX_GET_FOLDER_INFORMATION - Get detailed metadata for a specific folder Optional]BOX_QUERY_FILES_FOLDERS_BY_METADATA - Search by metadata template values Optional]BOX_LIST_RECENTLY_ACCESSED_ITEMS - List recently accessed items Optional]Key parameters:
query: Search string supporting operators ("" exact match, AND, OR, NOT - uppercase only)type: Filter by "file", "folder", or "web_link"ancestor_folder_ids: Limit search to specific folders (comma-separated IDs)file_extensions: Filter by file type (comma-separated, no dots)content_types: Search in "name", "description", "file_content", "comments", "tags"created_at_range / updated_at_range: Date filters as comma-separated RFC3339 timestampslimit: Results per page (default 30)offset: Pagination offset (max 10000)folder_id: For LIST_ITEMS_IN_FOLDER (use "0" for root)Pitfalls:
BOX_SEARCH_FOR_CONTENT requires either query or mdfilters parameterAND, OR, NOT) must be uppercaseBOX_LIST_ITEMS_IN_FOLDER requires pagination via marker or offset/usemarker; partial listings are commonWhen to use: User wants to create, update, move, copy, or delete folders
Tool sequence:
BOX_GET_FOLDER_INFORMATION - Verify folder exists and check permissions Prerequisite]BOX_CREATE_FOLDER - Create a new folder Required for create]BOX_UPDATE_FOLDER - Rename, move, or update folder settings Required for update]BOX_COPY_FOLDER - Copy a folder to a new location Optional]BOX_DELETE_FOLDER - Move folder to trash Required for delete]BOX_PERMANENTLY_REMOVE_FOLDER - Permanently delete a trashed folder Optional]Key parameters:
name: Folder name (no /, \, trailing spaces, or ./..)parent__id: Parent folder ID (use "0" for root)folder_id: Target folder ID for operationsparent.id: Destination folder ID for moves via BOX_UPDATE_FOLDERrecursive: Set true to delete non-empty foldersshared_link: Object with access, password, permissions for creating shared links on foldersdescription, tags: Optional metadata fieldsPitfalls:
BOX_DELETE_FOLDER moves to trash by default; use BOX_PERMANENTLY_REMOVE_FOLDER for permanent deletionrecursive: true for deletion"0") cannot be copied or deleted/, \, non-printable ASCII, or trailing spacesparent.id via BOX_UPDATE_FOLDERWhen to use: User wants to share files, manage access, or handle collaborations
Tool sequence:
BOX_GET_FILE_INFORMATION - Get file details and current sharing status Prerequisite]BOX_LIST_FILE_COLLABORATIONS - List who has access to a file Required]BOX_UPDATE_COLLABORATION - Change access level or accept/reject invitations Required]BOX_GET_COLLABORATION - Get details of a specific collaboration Optional]BOX_UPDATE_FILE - Create shared links, lock files, or update permissions Optional]BOX_UPDATE_FOLDER - Create shared links on folders Optional]Key parameters:
collaboration_id: Unique collaboration identifierrole: Access level ("editor", "viewer", "co-owner", "owner", "previewer", "uploader", "viewer uploader", "previewer uploader")status: "accepted", "pending", or "rejected" for collaboration invitesfile_id: File to share or managelock__access: Set to "lock" to lock a filepermissions__can__download: "company" or "open" for download permissionsPitfalls:
can_view_path increases load time for the invitee's "All Files" page; limit to 1000 per userlock__access, parent__id)When to use: User wants to manage document signature requests
Tool sequence:
BOX_LIST_BOX_SIGN_REQUESTS - List all signature requests Required]BOX_GET_BOX_SIGN_REQUEST_BY_ID - Get details of a specific sign request Optional]BOX_CANCEL_BOX_SIGN_REQUEST - Cancel a pending sign request Optional]Key parameters:
sign_request_id: UUID of the sign requestshared_requests: Set true to include requests where user is a collaborator (not owner)senders: Filter by sender emails (requires shared_requests: true)limit / marker: Pagination parametersPitfalls:
converting, created, sent, viewed, signed, declined, cancelled, expired, error_converting, error_sendingBox uses numeric string IDs for all entities:
"0"https://*.app.box.com/files/123 gives file_id "123"https://*.app.box.com/folder/123 gives folder_id "123"BOX_SEARCH_FOR_CONTENT to find items, then extract IDs from resultsif_match with file's ETag for safe concurrent delete operationsBox supports two pagination methods:
offset + limit (max offset 10000)usemarker: true and follow marker from responses (preferred for large datasets)Box tools use double underscore notation for nested objects:
parent__id for parent folder referencelock__access, lock__expires__at, lock__is__download__prevented for file lockspermissions__can__download for download permissions"123456", not integers)"0"fields parameter changes response shape: when specified, only mini representation + requested fields are returnedquery or mdfilters; both are optional individually but one must be presentBOX_UPDATE_FILE with lock set to null removes the lock (raw API only)from field format: enterprise_{enterprise_id}.templateKey or global.templateKey| Task | Tool Slug | Key Params | |------|-----------|------------| | Search content | BOX_SEARCH_FOR_CONTENT | query, type, ancestor_folder_ids | | List folder items | BOX_LIST_ITEMS_IN_FOLDER | folder_id, limit, marker | | Get file info | BOX_GET_FILE_INFORMATION | file_id, fields | | Get folder info | BOX_GET_FOLDER_INFORMATION | folder_id, fields | | Upload file | BOX_UPLOAD_FILE | file, parent_id | | Download file | BOX_DOWNLOAD_FILE | file_id | | Create folder | BOX_CREATE_FOLDER | name, parent__id | | Update folder | BOX_UPDATE_FOLDER | folder_id, name, parent | | Copy folder | BOX_COPY_FOLDER | folder_id, parent__id | | Delete folder | BOX_DELETE_FOLDER | folder_id, recursive | | Permanently delete folder | BOX_PERMANENTLY_REMOVE_FOLDER | folder_id | | Update file | BOX_UPDATE_FILE | file_id, name, parent__id | | Delete file | BOX_DELETE_FILE | file_id, if_match | | List collaborations | BOX_LIST_FILE_COLLABORATIONS | file_id | | Update collaboration | BOX_UPDATE_COLLABORATION | collaboration_id, role | | Get collaboration | BOX_GET_COLLABORATION | collaboration_id | | Query by metadata | BOX_QUERY_FILES_FOLDERS_BY_METADATA | from, ancestor_folder_id, query | | List collections | BOX_LIST_ALL_COLLECTIONS | (none) | | List collection items | BOX_LIST_COLLECTION_ITEMS | collection_id | | List sign requests | BOX_LIST_BOX_SIGN_REQUESTS | limit, marker | | Get sign request | BOX_GET_BOX_SIGN_REQUEST_BY_ID | sign_request_id | | Cancel sign request | BOX_CANCEL_BOX_SIGN_REQUEST | sign_request_id | | Recent items | BOX_LIST_RECENTLY_ACCESSED_ITEMS | (none) | | Create zip download | BOX_CREATE_ZIP_DOWNLOAD | item IDs |
This skill is applicable to execute the workflow or actions described in the overview.
User request:
> Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 18 counted toward the lift figure. The other 4 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +23 percentage points is the difference between those two pass rates over the 18 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.