File Operations
OrcBot provides cross-platform file system skills for reading, writing, and managing files. All file operations are sandboxed to the agent’s workspace to prevent accidental modification of system files.Workspace Sandboxing
File paths are resolved relative to the build workspace:- Default workspace:
~/.orcbot/workspace/ - Configured workspace: Set via
buildWorkspacePathin config - Restricted paths:
node_modulesand.gitare blocked
Path Resolution Rules
- Absolute paths: Resolved as-is (subject to restriction checks)
- Relative paths: Resolved relative to workspace root
- Empty path (for
list_directory): Defaults to workspace root
read_file
Read the contents of a file with optional line range support.Parameters
string
required
File path (absolute or relative to workspace)
number
1-based starting line number (inclusive)
number
1-based ending line number (inclusive)
Return Value
string
File contents. Truncated to 20,000 chars with instructions to use line ranges for larger files.
Limits
- Max content: 20,000 characters per response
- Line ranges: Use
start_lineandend_lineto page through large files
Example Usage
Read entire file:Response Examples
Small file:Error Handling
File not found:Metadata
- isDeep:
true- Counts as substantive progress - isParallelSafe:
true- Safe to run in parallel workers
write_file
Write or append content to a file.Parameters
string
required
File path (absolute or relative to workspace)
string
required
Content to write
boolean
default:"false"
Append to existing file instead of overwriting
Return Value
string
Confirmation message with absolute file path
Limits
- Max content size: 10 MB per write operation
- Auto-creates parent directories: No need to create directories first
Example Usage
Create new file:Response Examples
Success:Error Handling
Content too large:Metadata
- isDeep:
true - isParallelSafe:
false(concurrent writes to same file are unsafe)
list_directory
List files and subdirectories in a directory.Parameters
string
Directory path. Defaults to workspace root if omitted.
Return Value
string
Formatted list with emoji indicators:
- 📁 for directories
- 📄 for files
Example Usage
List workspace root:Response Example
Error Handling
Directory not found:Metadata
- isDeep:
true - isParallelSafe:
true
create_directory
Create a directory and all parent directories.Parameters
string
required
Directory path to create
Return Value
string
Confirmation message or “already exists” if directory exists
Example Usage
Response Examples
Success:Metadata
- isDeep:
true - isParallelSafe:
false(concurrent directory creation can race)
create_directory uses recursive: true, so it creates all missing parent directories automatically. No need to create intermediate paths.analyze_media
Use AI to analyze an image, audio, or document file.Parameters
string
required
Absolute path to the file
string
Question or instruction. Defaults to “Describe the content of this file.”
Return Value
string
AI-generated description or analysis
Supported Formats
- Images: JPEG, PNG, GIF, WebP, SVG
- Audio: MP3, WAV, OGG (transcription)
- Documents: PDF (OCR + text extraction)
Example Usage
Analyze image:Response Example
Metadata
- isDeep:
false
Common Workflows
Download and Process
download_file- Download from webanalyze_mediaorread_file- Extract contentwrite_file- Save processed results
Generate and Deliver
generate_imageortext_to_speech- Create mediasend_file- Deliver to user
Read, Modify, Write
read_file- Load existing file- Process content (using LLM or code execution)
write_file- Save updated version
Best Practices
Related Skills
Web Search
Download files from the web
Shell Execution
Execute file processing scripts