Source profileQuality 91/100Review permissions

wecode-ai/Wegent/backend/init_data/skills/sandbox/SKILL.md

sandbox

Provides read_file/write_file/exec/list_files/read_file/write_file for running process and managing filesystems in the sandbox. Ideal for code testing, file management, and command execution. The sub_claude_agent tool is available for advanced use cases. You MUST load this skill BEFORE use sandbox tools.

Source repository stars
713
Declared platforms
0
Static risk flags
4
Last source update
2026-08-25
Source checked
2026-08-25

Decision brief

What it does: where it fits

Execute code, commands, and complex tasks securely in isolated Docker containers running AlmaLinux 9.4.

Best for

  • ✅ Execute shell commands or scripts
  • ✅ Run and test code
  • ✅ Read, write, or manage files

Not for

  • Sandbox Creation Failed
  • File Not Found

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/wecode-ai/Wegent --skill "backend/init_data/skills/sandbox"
Safe inspection promptEditorial

Inspect the Agent Skill "sandbox" from https://github.com/wecode-ai/Wegent/blob/aa89ef88ea199e10f364827eaedf8cd7c9bd1157/backend/init_data/skills/sandbox/SKILL.md at commit aa89ef88ea199e10f364827eaedf8cd7c9bd1157. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Usage Examples

    ⚠️ zip is not pre-installed. Always run dnf install -y zip before using it.

    ⚠️ zip is not pre-installed. Always run dnf install -y zip before using it.⚠️ Always use English or pinyin folder names as the ZIP root directory. The zip command does not set the ZIP UTF-8 flag, so Windows decodes Chinese names using CP437, resulting in garbled folders that appear empty.If the user explicitly requires a Chinese folder name, use Python's zipfile module instead — it automatically sets the UTF-8 flag so Windows can decode Chinese names correctly:
  2. 02

    Core Capabilities

    The sandbox environment provides fully isolated execution spaces with:

    Command Execution - Run shell commands, scripts, and programsFile Operations - Read/write files, browse directories, manage filesystemsCode Execution - Safely execute and test code
  3. 03

    When to Use

    Use this skill when you need to:

    ✅ Execute shell commands or scripts✅ Run and test code✅ Read, write, or manage files
  4. 04

    Available Tools

    Execute shell commands in the sandbox environment.

    Run single commands or scriptsDirectory operations (create, delete, move)Install dependencies, run tests
  5. 05

    Command Execution

    Execute shell commands in the sandbox environment.

    Run single commands or scriptsDirectory operations (create, delete, move)Install dependencies, run tests

Permission review

Static risk signals and limitations

Runs scripts

medium · line 10

The documentation asks the agent to run terminal commands or scripts.

**Command Execution** - Run shell commands, scripts, and programs

Runs scripts

medium · line 20

The documentation asks the agent to run terminal commands or scripts.

✅ Execute shell commands or scripts

Reads files

low · line 121

The documentation asks the agent to read local files, directories, or repositories.

Read file contents.

Writes files

medium · line 142

The documentation asks the agent to create, modify, or delete local files.

Write content to a file.

Network access

medium · line 183

The documentation includes network, browsing, or remote request actions.

Upload a file from sandbox to Wegent and get a download URL for users.

Reads files

low · line 189

The documentation asks the agent to read local files, directories, or repositories.

User can not access file directly, you MUST use upload_attachment tool for sending file to user.

Network access

medium · line 223

The documentation includes network, browsing, or remote request actions.

[Click to Download](/api/attachments/123/download)

Writes files

medium · line 267

The documentation asks the agent to create, modify, or delete local files.

| Write files | `write_file` | Auto directory creation, size validation |

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars713SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
wecode-ai/Wegent
Skill path
backend/init_data/skills/sandbox/SKILL.md
Commit
aa89ef88ea199e10f364827eaedf8cd7c9bd1157
License
Apache-2.0
Collected
2026-08-25
Default branch
main
View the original SKILL.md

Sandbox Environment

Execute code, commands, and complex tasks securely in isolated Docker containers running AlmaLinux 9.4.

Core Capabilities

The sandbox environment provides fully isolated execution spaces with:

  1. Command Execution - Run shell commands, scripts, and programs
  2. File Operations - Read/write files, browse directories, manage filesystems
  3. Code Execution - Safely execute and test code
  4. Claude AI Tasks - Available for advanced use cases when explicitly requested by users
  5. Attachment Upload/Download - Upload generated files to Wegent for user download, or download user attachments for processing

When to Use

Use this skill when you need to:

  • ✅ Execute shell commands or scripts
  • ✅ Run and test code
  • ✅ Read, write, or manage files
  • ✅ Perform multi-step programming tasks
  • ✅ Git operations (clone, commit, push, etc.)
  • ✅ Require isolated environment for safety

Note: The sub_claude_agent tool should only be used when the user explicitly requests Claude AI assistance (e.g., "use Claude to generate...", "ask Claude to create...").

Available Tools

Command Execution

exec

Execute shell commands in the sandbox environment.

Use Cases:

  • Run single commands or scripts
  • Directory operations (create, delete, move)
  • Install dependencies, run tests
  • View system information

Parameters:

  • command (required): Shell command to execute
  • working_dir (optional): Working directory path
  • timeout (optional): Timeout in seconds

Example:

{
  "name": "exec",
  "arguments": {
    "command": "python script.py --arg value",
    "working_dir": "/home/user/project"
  }
}

sub_claude_agent

Run Claude AI to execute complex tasks in the sandbox.

⚠️ IMPORTANT: This tool should only be used when the user explicitly requests it. Do not use this tool automatically or as a default option.

Use Cases:

  • When user explicitly asks to use Claude (e.g., "use Claude to generate...", "ask Claude to create...")
  • Generate presentations and Word documents (when specifically requested)
  • Create code projects (when specifically requested)
  • Complex multi-step programming tasks (when specifically requested)

Parameters:

  • prompt (required): Task description for Claude
  • allowed_tools (optional): List of tools Claude can use
  • append_system_prompt (optional): Additional system prompt
  • timeout (optional): Timeout in seconds (minimum: 600 seconds / 10 minutes, default: 1800 seconds / 30 minutes)

Features:

  • ⚡ Real-time streaming output
  • 🔧 Customizable tool sets
  • 📊 WebSocket progress updates

Example:

{
  "name": "sub_claude_agent",
  "arguments": {
    "prompt": "Create a 5-page presentation about the history of artificial intelligence",
    "allowed_tools": "Edit,Write,Bash(*),skills,Read"
  }
}

File Operations

list_files

List files and subdirectories in a directory.

Parameters:

  • path (required): Directory path
  • depth (optional): Recursion depth, default 1

Returns:

  • File metadata including name, size, permissions, modification time

Example:

{
  "name": "list_files",
  "arguments": {
    "path": "/home/user/project",
    "depth": 2
  }
}

read_file

Read file contents.

Parameters:

  • file_path (required): File path to read

Limits:

  • Maximum file size: 1MB (configurable)

Example:

{
  "name": "read_file",
  "arguments": {
    "file_path": "/home/user/config.json"
  }
}

write_file

Write content to a file.

⚠️ IMPORTANT: Both file_path AND content are REQUIRED parameters. You must always provide the content to write.

Parameters:

  • file_path (REQUIRED): File path to write
  • content (REQUIRED): Content to write (MUST be provided, cannot be omitted)
  • format (optional): Content format - 'text' (default) or 'bytes' (base64-encoded)
  • create_dirs (optional): Auto-create parent directories (default: True)

Features:

  • Automatically creates parent directories
  • Maximum file size: 10MB (configurable)

Example - Text file:

{
  "name": "write_file",
  "arguments": {
    "file_path": "/home/user/output.txt",
    "content": "Hello, Sandbox!"
  }
}

Example - HTML file:

{
  "name": "write_file",
  "arguments": {
    "file_path": "/home/user/index.html",
    "content": "<!DOCTYPE html><html><head><title>Test</title></head><body><h1>Hello</h1></body></html>"
  }
}

Attachment Operations

upload_attachment

Upload a file from sandbox to Wegent and get a download URL for users.

Use Cases:

  • Upload generated documents (PDF, Word, etc.) for user download
  • Share files created in the sandbox with users
  • Export results from sandbox to Wegent storage
  • User can not access file directly, you MUST use upload_attachment tool for sending file to user.

Parameters:

  • file_path (required): Path to the file in sandbox to upload
  • timeout_seconds (optional): Upload timeout in seconds (default: 300)

Returns:

  • success: Whether the upload succeeded
  • attachment_id: ID of the uploaded attachment
  • filename: Name of the uploaded file
  • file_size: Size of the file in bytes
  • mime_type: MIME type of the file
  • download_url: Relative URL for downloading (e.g., /api/attachments/123/download)

Limits:

  • Maximum file size: 100MB

Example:

{
  "name": "upload_attachment",
  "arguments": {
    "file_path": "/home/user/documents/report.pdf"
  }
}

After Upload - Presenting to User: After a successful upload, present the download link to the user:

Document generation completed!

📄 **report.pdf**

[Click to Download](/api/attachments/123/download)

download_attachment

Download a file from Wegent attachment URL to sandbox for processing.

Use Cases:

  • Download user-uploaded attachments for processing
  • Retrieve files from Wegent storage into the sandbox

Parameters:

  • attachment_url (required): Wegent attachment URL (e.g., /api/attachments/123/download)
  • timeout_seconds (optional): Download timeout in seconds (default: 300)

The tool resolves the attachment filename and owning subtask from Wegent, then saves it to the canonical task attachment directory: /home/user/{task_id}:executor:attachments/{subtask_id}/{filename}.

Returns:

  • success: Whether the download succeeded
  • file_path: Full path to the downloaded file in sandbox
  • file_size: Size of the downloaded file in bytes

Example:

{
  "name": "download_attachment",
  "arguments": {
    "attachment_url": "/api/attachments/123/download"
  }
}

Tool Selection Guide

Task TypeRecommended ToolReason
Execute commands or scriptsexecFast execution, no overhead
Create/delete directoriesexecUse mkdir -p or rm -rf directly
Read filesread_fileBetter error handling and size validation
Write fileswrite_fileAuto directory creation, size validation
Browse directorieslist_filesStructured output with metadata
Upload files for user downloadupload_attachmentGet download URL for user-facing files
Download attachmentsdownload_attachmentRetrieve Wegent attachments into sandbox
Complex tasks with Claudesub_claude_agentOnly when user explicitly requests

Important: Always prefer exec for standard operations. Only use sub_claude_agent when the user specifically asks for Claude AI assistance.


Usage Examples

Scenario 1: Run Python Script

{
  "name": "exec",
  "arguments": {
    "command": "cd /home/user && python -m pip install requests && python app.py"
  }
}

Scenario 2: Install System Packages (AlmaLinux)

{
  "name": "exec",
  "arguments": {
    "command": "dnf install -y gcc make && gcc --version"
  }
}

Scenario 3: File Management

// 1. List files
{
  "name": "list_files",
  "arguments": {
    "path": "/home/user"
  }
}

// 2. Read file
{
  "name": "read_file",
  "arguments": {
    "file_path": "/home/user/data.json"
  }
}

// 3. Write file
{
  "name": "write_file",
  "arguments": {
    "file_path": "/home/user/result.txt",
    "content": "Processing complete: Success"
  }
}

Scenario 4: Git Operations

{
  "name": "exec",
  "arguments": {
    "command": "git clone https://github.com/user/repo.git && cd repo && git checkout -b feature"
  }
}

Scenario 5: Creating ZIP Files

⚠️ zip is not pre-installed. Always run dnf install -y zip before using it.

⚠️ Always use English or pinyin folder names as the ZIP root directory. The zip command does not set the ZIP UTF-8 flag, so Windows decodes Chinese names using CP437, resulting in garbled folders that appear empty.

// Step 1: Install zip
{
  "name": "exec",
  "arguments": {
    "command": "dnf install -y zip"
  }
}

// Step 2: Create ZIP with English folder name (recommended)
{
  "name": "exec",
  "arguments": {
    "command": "zip -r 'my-skill.zip' 'my-skill/'"
  }
}

If the user explicitly requires a Chinese folder name, use Python's zipfile module instead — it automatically sets the UTF-8 flag so Windows can decode Chinese names correctly:

{
  "name": "exec",
  "arguments": {
    "command": "python3 -c \"\nimport zipfile, os\nfolder = '中文名称'\nwith zipfile.ZipFile(folder + '.zip', 'w', zipfile.ZIP_DEFLATED) as zf:\n    for root, dirs, files in os.walk(folder):\n        for f in files:\n            zf.write(os.path.join(root, f))\n\""
  }
}

Scenario 6: Using Claude (Only When Explicitly Requested)

Example user request: "Please use Claude to generate a presentation about AI"

{
  "name": "sub_claude_agent",
  "arguments": {
    "prompt": "Create a 5-page presentation about the history of artificial intelligence"
  }
}

Note: This scenario should only be used when the user explicitly asks for Claude assistance.


Sandbox Environment

System Environment

  • Operating System: AlmaLinux 9.4 (RHEL 9 compatible)
  • Architecture: x86_64
  • Package Manager: dnf/yum
  • Init System: systemd
  • Python: 3.12+ (pre-installed)
  • Shell: bash

Lifecycle

  • New sandbox created on first tool call
  • Subsequent calls in the same session reuse the sandbox
  • Sandbox persists for 30 minutes by default
  • Files persist within the session
  • Each sandbox runs in an isolated Docker container

Resource Limits

  • Read file limit: 1MB (configurable)
  • Write file limit: 10MB (configurable)
  • Upload file limit: 100MB (configurable)
  • Command timeout: 300 seconds (5 minutes)
  • Claude timeout: 1800 seconds (30 minutes, minimum: 600 seconds / 10 minutes)
  • Total task timeout: 7200 seconds (2 hours)

Security Features

  • ✅ Fully isolated Docker containers (AlmaLinux 9.4)
  • ✅ Network access control
  • ✅ Resource constraints
  • ✅ Automatic cleanup

Configuration Options

Shell Types

  • ClaudeCode (default): For code generation, Git operations, multi-step programming
  • Agno: For team collaboration and multi-agent coordination

Claude Tool Configuration

Control Claude's available tools via the allowed_tools parameter:

{
  "allowed_tools": "Edit,Write,MultiEdit,Bash(*),skills,Read,Glob,Grep,LS"
}
  • Bash(*): Allow all Bash commands
  • Restrict tools as needed for enhanced security or task focus

Best Practices

  1. Clear Task Descriptions - Provide detailed instructions and expected outcomes
  2. Use Absolute Paths - Avoid path ambiguity
  3. Choose the Right Tool - Refer to the tool selection guide
  4. Check Return Results - Verify the success field
  5. Mind Size Limits - File read/write operations have size constraints
  6. Prefer exec - Use for most tasks; only use sub_claude_agent when user explicitly requests Claude assistance
  7. ZIP Encoding - Install zip first with dnf install -y zip; always use English/pinyin folder names for cross-platform compatibility; if Chinese names are required, use Python's zipfile module (it sets the UTF-8 flag correctly, preventing garbled names on Windows)

Troubleshooting

Sandbox Creation Failed

Cause: Executor Manager unavailable Solution: Check service status and configuration

File Not Found

Cause: Incorrect path or file doesn't exist Solution: Use absolute paths, verify with list_files first

Command Timeout

Cause: Task execution takes too long Solution: Increase timeout setting or split into smaller tasks

File Too Large

Cause: Exceeds size limit (1MB read / 10MB write) Solution: Process in chunks or adjust configuration

Permission Denied

Cause: Insufficient file permissions Solution: Check file paths and permission settings

ZIP Folder Appears Empty or Garbled on Windows

Cause: The zip command stores filenames as raw bytes without setting the ZIP UTF-8 flag (bit 11). Windows decodes them using CP437, turning Chinese folder names into garbled text, making contents inaccessible. Solution: Use English/pinyin folder names with the zip command. If Chinese names are required, use Python's zipfile module — it sets the UTF-8 flag automatically:

python3 -c "
import zipfile, os
folder = '中文名称'
with zipfile.ZipFile(folder + '.zip', 'w', zipfile.ZIP_DEFLATED) as zf:
    for root, dirs, files in os.walk(folder):
        for f in files:
            zf.write(os.path.join(root, f))
"

Frequently asked questions

What to verify before installation and use

What does the sandbox source document cover?

Execute code, commands, and complex tasks securely in isolated Docker containers running AlmaLinux 9.4.

How do I install sandbox?

The source record exposes this install command: npx skills add https://github.com/wecode-ai/Wegent --skill "backend/init_data/skills/sandbox". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged exec-script, read-files, write-files, network in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 10029,034

garrytan/gbrain

bulk-ingestion

End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

Computed 10024,921

alirezarezvani/claude-skills

app-store-optimization

App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist

Computed 1005,241

dotnet/skills

migrate-vstest-to-mtp

Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing

Computed 991,257

vipshop/cache-dit

cache-dit-model-integration

High-level guide for integrating a new DiT model into cache-dit: Cache (BlockAdapter/ForwardPattern), Context Parallelism, Tensor Parallelism, Text Encoder Parallelism (TE-P), VAE Parallelism (VAE-P), generate CLI, installation, testing workflow, and detailed references. Use when adding support for a new diffusion transformer model in cache-dit.