Box Automation via Rube MCP
Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Box connection via
RUBE_MANAGE_CONNECTIONS with toolkit box
- Always call
RUBE_SEARCH_TOOLS first 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_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit box
- If connection is not ACTIVE, follow the returned auth link to complete Box OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Upload and Download Files
When 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 uploads
file_id: Unique file identifier for downloads
version: Optional file version ID for downloading specific versions
fields: Comma-separated list of attributes to return
Pitfalls:
- Uploading to a folder with existing filenames can trigger conflict behavior; decide overwrite vs rename semantics
- Files over 50MB should use chunk upload APIs (not available via standard tools)
- The
attributes part of upload must come before the file part or you get HTTP 400 with metadata_after_file_contents
- File IDs and folder IDs are numeric strings extractable from Box web app URLs (e.g.,
https://*.app.box.com/files/123 gives file_id "123")
2. Search and Browse Content
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 timestamps
limit: Results per page (default 30)
offset: Pagination offset (max 10000)
folder_id: For LIST_ITEMS_IN_FOLDER (use "0" for root)
Pitfalls:
- Queries with offset > 10000 are rejected with HTTP 400
BOX_SEARCH_FOR_CONTENT requires either query or mdfilters parameter
- Misconfigured filters can silently omit expected items; validate with small test queries first
- Boolean operators (
AND, OR, NOT) must be uppercase
BOX_LIST_ITEMS_IN_FOLDER requires pagination via marker or offset/usemarker; partial listings are common
- Standard folders sort items by type first (folders before files before web links)
3. Manage Folders
When 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 operations
parent.id: Destination folder ID for moves via BOX_UPDATE_FOLDER
recursive: Set true to delete non-empty folders
shared_link: Object with access, password, permissions for creating shared links on folders
description, tags: Optional metadata fields
Pitfalls:
BOX_DELETE_FOLDER moves to trash by default; use BOX_PERMANENTLY_REMOVE_FOLDER for permanent deletion
- Non-empty folders require
recursive: true for deletion
- Root folder (ID
"0") cannot be copied or deleted
- Folder names cannot contain
/, \, non-printable ASCII, or trailing spaces
- Moving folders requires setting
parent.id via BOX_UPDATE_FOLDER
4. Share Files and Manage Collaborations
When 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 identifier
role: Access level ("editor", "viewer", "co-owner", "owner", "previewer", "uploader", "viewer uploader", "previewer uploader")
status: "accepted", "pending", or "rejected" for collaboration invites
file_id: File to share or manage
lock__access: Set to "lock" to lock a file
permissions__can__download: "company" or "open" for download permissions
Pitfalls:
- Only certain roles can invite collaborators; insufficient permissions cause authorization errors
can_view_path increases load time for the invitee's "All Files" page; limit to 1000 per user
- Collaboration expiration requires enterprise admin settings to be enabled
- Nested parameter names use double underscores (e.g.,
lock__access, parent__id)
5. Box Sign Requests
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 request
shared_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 parameters
Pitfalls:
- Requires Box Sign to be enabled for the enterprise account
- Deleted sign files or parent folders cause requests to not appear in listings
- Only the creator can cancel a sign request
- Sign request statuses include:
converting, created, sent, viewed, signed, declined, cancelled, expired, error_converting, error_sending
Common Patterns
ID Resolution
Box uses numeric string IDs for all entities:
- Root folder: Always ID
"0"
- File ID from URL:
https://*.app.box.com/files/123 gives file_id "123"
- Folder ID from URL:
https://*.app.box.com/folder/123 gives folder_id "123"
- Search to ID: Use
BOX_SEARCH_FOR_CONTENT to find items, then extract IDs from results
- ETag: Use
if_match with file's ETag for safe concurrent delete operations
Pagination
Box supports two pagination methods:
- Offset-based: Use
offset + limit (max offset 10000)
- Marker-based: Set
usemarker: true and follow marker from responses (preferred for large datasets)
- Always paginate to completion to avoid partial results
Nested Parameters
Box tools use double underscore notation for nested objects:
parent__id for parent folder reference
lock__access, lock__expires__at, lock__is__download__prevented for file locks
permissions__can__download for download permissions
Known Pitfalls
ID Formats
- All IDs are numeric strings (e.g.,
"123456", not integers)
- Root folder is always
"0"
- File and folder IDs can be extracted from Box web app URLs
Rate Limits
- Box API has per-endpoint rate limits
- Search and list operations should use pagination responsibly
- Bulk operations should include delays between requests
Parameter Quirks
fields parameter changes response shape: when specified, only mini representation + requested fields are returned
- Search requires either
query or mdfilters; both are optional individually but one must be present
BOX_UPDATE_FILE with lock set to null removes the lock (raw API only)
- Metadata query
from field format: enterprise_{enterprise_id}.templateKey or global.templateKey
Permissions
- Deletions fail without sufficient permissions; always handle error responses
- Collaboration roles determine what operations are allowed
- Enterprise settings may restrict certain sharing options
Quick Reference
| 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 |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for enprojectnment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
1---2name: box-automation3description: Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.4---56# Box Automation via Rube MCP78Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.910## Prerequisites1112- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)13- Active Box connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `box`14- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1516## Setup1718**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.19201. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds212. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `box`223. If connection is not ACTIVE, follow the returned auth link to complete Box OAuth234. Confirm connection status shows ACTIVE before running any workflows2425## Core Workflows2627### 1. Upload and Download Files2829**When to use**: User wants to upload files to Box or download files from it3031**Tool sequence**:321. `BOX_SEARCH_FOR_CONTENT` - Find the target folder if path is unknown [Prerequisite]332. `BOX_GET_FOLDER_INFORMATION` - Verify folder exists and get folder_id [Prerequisite]343. `BOX_LIST_ITEMS_IN_FOLDER` - Browse folder contents and discover file IDs [Optional]354. `BOX_UPLOAD_FILE` - Upload a file to a specific folder [Required for upload]365. `BOX_DOWNLOAD_FILE` - Download a file by file_id [Required for download]376. `BOX_CREATE_ZIP_DOWNLOAD` - Bundle multiple files/folders into a zip [Optional]3839**Key parameters**:40- `parent_id`: Folder ID for upload destination (use `"0"` for root folder)41- `file`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads42- `file_id`: Unique file identifier for downloads43- `version`: Optional file version ID for downloading specific versions44- `fields`: Comma-separated list of attributes to return4546**Pitfalls**:47- Uploading to a folder with existing filenames can trigger conflict behavior; decide overwrite vs rename semantics48- Files over 50MB should use chunk upload APIs (not available via standard tools)49- The `attributes` part of upload must come before the `file` part or you get HTTP 400 with `metadata_after_file_contents`50- File IDs and folder IDs are numeric strings extractable from Box web app URLs (e.g., `https://*.app.box.com/files/123` gives file_id `"123"`)5152### 2. Search and Browse Content5354**When to use**: User wants to find files, folders, or web links by name, content, or metadata5556**Tool sequence**:571. `BOX_SEARCH_FOR_CONTENT` - Full-text search across files, folders, and web links [Required]582. `BOX_LIST_ITEMS_IN_FOLDER` - Browse contents of a specific folder [Optional]593. `BOX_GET_FILE_INFORMATION` - Get detailed metadata for a specific file [Optional]604. `BOX_GET_FOLDER_INFORMATION` - Get detailed metadata for a specific folder [Optional]615. `BOX_QUERY_FILES_FOLDERS_BY_METADATA` - Search by metadata template values [Optional]626. `BOX_LIST_RECENTLY_ACCESSED_ITEMS` - List recently accessed items [Optional]6364**Key parameters**:65- `query`: Search string supporting operators (`""` exact match, `AND`, `OR`, `NOT` - uppercase only)66- `type`: Filter by `"file"`, `"folder"`, or `"web_link"`67- `ancestor_folder_ids`: Limit search to specific folders (comma-separated IDs)68- `file_extensions`: Filter by file type (comma-separated, no dots)69- `content_types`: Search in `"name"`, `"description"`, `"file_content"`, `"comments"`, `"tags"`70- `created_at_range` / `updated_at_range`: Date filters as comma-separated RFC3339 timestamps71- `limit`: Results per page (default 30)72- `offset`: Pagination offset (max 10000)73- `folder_id`: For `LIST_ITEMS_IN_FOLDER` (use `"0"` for root)7475**Pitfalls**:76- Queries with offset > 10000 are rejected with HTTP 40077- `BOX_SEARCH_FOR_CONTENT` requires either `query` or `mdfilters` parameter78- Misconfigured filters can silently omit expected items; validate with small test queries first79- Boolean operators (`AND`, `OR`, `NOT`) must be uppercase80- `BOX_LIST_ITEMS_IN_FOLDER` requires pagination via `marker` or `offset`/`usemarker`; partial listings are common81- Standard folders sort items by type first (folders before files before web links)8283### 3. Manage Folders8485**When to use**: User wants to create, update, move, copy, or delete folders8687**Tool sequence**:881. `BOX_GET_FOLDER_INFORMATION` - Verify folder exists and check permissions [Prerequisite]892. `BOX_CREATE_FOLDER` - Create a new folder [Required for create]903. `BOX_UPDATE_FOLDER` - Rename, move, or update folder settings [Required for update]914. `BOX_COPY_FOLDER` - Copy a folder to a new location [Optional]925. `BOX_DELETE_FOLDER` - Move folder to trash [Required for delete]936. `BOX_PERMANENTLY_REMOVE_FOLDER` - Permanently delete a trashed folder [Optional]9495**Key parameters**:96- `name`: Folder name (no `/`, `\`, trailing spaces, or `.`/`..`)97- `parent__id`: Parent folder ID (use `"0"` for root)98- `folder_id`: Target folder ID for operations99- `parent.id`: Destination folder ID for moves via `BOX_UPDATE_FOLDER`100- `recursive`: Set `true` to delete non-empty folders101- `shared_link`: Object with `access`, `password`, `permissions` for creating shared links on folders102- `description`, `tags`: Optional metadata fields103104**Pitfalls**:105- `BOX_DELETE_FOLDER` moves to trash by default; use `BOX_PERMANENTLY_REMOVE_FOLDER` for permanent deletion106- Non-empty folders require `recursive: true` for deletion107- Root folder (ID `"0"`) cannot be copied or deleted108- Folder names cannot contain `/`, `\`, non-printable ASCII, or trailing spaces109- Moving folders requires setting `parent.id` via `BOX_UPDATE_FOLDER`110111### 4. Share Files and Manage Collaborations112113**When to use**: User wants to share files, manage access, or handle collaborations114115**Tool sequence**:1161. `BOX_GET_FILE_INFORMATION` - Get file details and current sharing status [Prerequisite]1172. `BOX_LIST_FILE_COLLABORATIONS` - List who has access to a file [Required]1183. `BOX_UPDATE_COLLABORATION` - Change access level or accept/reject invitations [Required]1194. `BOX_GET_COLLABORATION` - Get details of a specific collaboration [Optional]1205. `BOX_UPDATE_FILE` - Create shared links, lock files, or update permissions [Optional]1216. `BOX_UPDATE_FOLDER` - Create shared links on folders [Optional]122123**Key parameters**:124- `collaboration_id`: Unique collaboration identifier125- `role`: Access level (`"editor"`, `"viewer"`, `"co-owner"`, `"owner"`, `"previewer"`, `"uploader"`, `"viewer uploader"`, `"previewer uploader"`)126- `status`: `"accepted"`, `"pending"`, or `"rejected"` for collaboration invites127- `file_id`: File to share or manage128- `lock__access`: Set to `"lock"` to lock a file129- `permissions__can__download`: `"company"` or `"open"` for download permissions130131**Pitfalls**:132- Only certain roles can invite collaborators; insufficient permissions cause authorization errors133- `can_view_path` increases load time for the invitee's "All Files" page; limit to 1000 per user134- Collaboration expiration requires enterprise admin settings to be enabled135- Nested parameter names use double underscores (e.g., `lock__access`, `parent__id`)136137### 5. Box Sign Requests138139**When to use**: User wants to manage document signature requests140141**Tool sequence**:1421. `BOX_LIST_BOX_SIGN_REQUESTS` - List all signature requests [Required]1432. `BOX_GET_BOX_SIGN_REQUEST_BY_ID` - Get details of a specific sign request [Optional]1443. `BOX_CANCEL_BOX_SIGN_REQUEST` - Cancel a pending sign request [Optional]145146**Key parameters**:147- `sign_request_id`: UUID of the sign request148- `shared_requests`: Set `true` to include requests where user is a collaborator (not owner)149- `senders`: Filter by sender emails (requires `shared_requests: true`)150- `limit` / `marker`: Pagination parameters151152**Pitfalls**:153- Requires Box Sign to be enabled for the enterprise account154- Deleted sign files or parent folders cause requests to not appear in listings155- Only the creator can cancel a sign request156- Sign request statuses include: `converting`, `created`, `sent`, `viewed`, `signed`, `declined`, `cancelled`, `expired`, `error_converting`, `error_sending`157158## Common Patterns159160### ID Resolution161Box uses numeric string IDs for all entities:162- **Root folder**: Always ID `"0"`163- **File ID from URL**: `https://*.app.box.com/files/123` gives file_id `"123"`164- **Folder ID from URL**: `https://*.app.box.com/folder/123` gives folder_id `"123"`165- **Search to ID**: Use `BOX_SEARCH_FOR_CONTENT` to find items, then extract IDs from results166- **ETag**: Use `if_match` with file's ETag for safe concurrent delete operations167168### Pagination169Box supports two pagination methods:170- **Offset-based**: Use `offset` + `limit` (max offset 10000)171- **Marker-based**: Set `usemarker: true` and follow `marker` from responses (preferred for large datasets)172- Always paginate to completion to avoid partial results173174### Nested Parameters175Box tools use double underscore notation for nested objects:176- `parent__id` for parent folder reference177- `lock__access`, `lock__expires__at`, `lock__is__download__prevented` for file locks178- `permissions__can__download` for download permissions179180## Known Pitfalls181182### ID Formats183- All IDs are numeric strings (e.g., `"123456"`, not integers)184- Root folder is always `"0"`185- File and folder IDs can be extracted from Box web app URLs186187### Rate Limits188- Box API has per-endpoint rate limits189- Search and list operations should use pagination responsibly190- Bulk operations should include delays between requests191192### Parameter Quirks193- `fields` parameter changes response shape: when specified, only mini representation + requested fields are returned194- Search requires either `query` or `mdfilters`; both are optional individually but one must be present195- `BOX_UPDATE_FILE` with `lock` set to `null` removes the lock (raw API only)196- Metadata query `from` field format: `enterprise_{enterprise_id}.templateKey` or `global.templateKey`197198### Permissions199- Deletions fail without sufficient permissions; always handle error responses200- Collaboration roles determine what operations are allowed201- Enterprise settings may restrict certain sharing options202203## Quick Reference204205| Task | Tool Slug | Key Params |206|------|-----------|------------|207| Search content | `BOX_SEARCH_FOR_CONTENT` | `query`, `type`, `ancestor_folder_ids` |208| List folder items | `BOX_LIST_ITEMS_IN_FOLDER` | `folder_id`, `limit`, `marker` |209| Get file info | `BOX_GET_FILE_INFORMATION` | `file_id`, `fields` |210| Get folder info | `BOX_GET_FOLDER_INFORMATION` | `folder_id`, `fields` |211| Upload file | `BOX_UPLOAD_FILE` | `file`, `parent_id` |212| Download file | `BOX_DOWNLOAD_FILE` | `file_id` |213| Create folder | `BOX_CREATE_FOLDER` | `name`, `parent__id` |214| Update folder | `BOX_UPDATE_FOLDER` | `folder_id`, `name`, `parent` |215| Copy folder | `BOX_COPY_FOLDER` | `folder_id`, `parent__id` |216| Delete folder | `BOX_DELETE_FOLDER` | `folder_id`, `recursive` |217| Permanently delete folder | `BOX_PERMANENTLY_REMOVE_FOLDER` | folder_id |218| Update file | `BOX_UPDATE_FILE` | `file_id`, `name`, `parent__id` |219| Delete file | `BOX_DELETE_FILE` | `file_id`, `if_match` |220| List collaborations | `BOX_LIST_FILE_COLLABORATIONS` | `file_id` |221| Update collaboration | `BOX_UPDATE_COLLABORATION` | `collaboration_id`, `role` |222| Get collaboration | `BOX_GET_COLLABORATION` | `collaboration_id` |223| Query by metadata | `BOX_QUERY_FILES_FOLDERS_BY_METADATA` | `from`, `ancestor_folder_id`, `query` |224| List collections | `BOX_LIST_ALL_COLLECTIONS` | (none) |225| List collection items | `BOX_LIST_COLLECTION_ITEMS` | `collection_id` |226| List sign requests | `BOX_LIST_BOX_SIGN_REQUESTS` | `limit`, `marker` |227| Get sign request | `BOX_GET_BOX_SIGN_REQUEST_BY_ID` | `sign_request_id` |228| Cancel sign request | `BOX_CANCEL_BOX_SIGN_REQUEST` | `sign_request_id` |229| Recent items | `BOX_LIST_RECENTLY_ACCESSED_ITEMS` | (none) |230| Create zip download | `BOX_CREATE_ZIP_DOWNLOAD` | item IDs |231232## When to Use233This skill is applicable to execute the workflow or actions described in the overview.234235## Limitations236- Use this skill only when the task clearly matches the scope described above.237- Do not treat the output as a substitute for enprojectnment-specific validation, testing, or expert review.238- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.