file-sender

👤 whyhit2005 📦 v1.0.0 ⭐ 4.6 ⬇️ 580 下载
🤖 AI-Agent 免费 🔑 需 API Key

📖 技能介绍

File Sender

Packages workspace files into a ZIP, generates a companion description file, and notifies the Manager to deliver them to the user. Files are persisted locally to .file-outbox/ first — even if notification fails, the files are safe.

All required environment variables are injected automatically by the Manager at instance creation. No manual configuration needed.

Core Workflow

Step 1: Compose a Description

Before running the script, write a concise description of what you generated. This description will be saved as a .txt file alongside the ZIP in .file-outbox/, serving as a human-readable summary for the user.

The description should include:

  • What files/project were generated
  • The main purpose of the files
  • How to use them (brief instructions)

Good example:

Snake game project (snake_game)
Contains: index.html, style.css, game.js
Usage: Open index.html in a browser to play the game

Bad example:

files

Step 2: Package and Send

Pass the source path and the description text to the script:

bash scripts/send-files.sh \
  "/home/node/workspace/snake_game" \
  "Snake game project with index.html, style.css, game.js. Open index.html in browser to play."

The script will:

  1. Validate the path — Only allows files under /home/node/workspace/, blocks symlink traversal
  2. Create a ZIP — Single file zip, directory zip -r, 500MB limit
  3. Write description — Saves the description text as {file_id}.txt in .file-outbox/
  4. Persist locally — Both ZIP and TXT are stored in .file-outbox/ (safe on disk)
  5. Notify Manager — Sends a lightweight POST with metadata only (no file body)
  6. Manager pulls — Manager's background task pulls the ZIP from the Agent and forwards it

Core design: After step 4, files are safely on disk. Steps 5-6 failing does NOT lose the files. The Manager retries automatically — the user will always receive the files eventually.

Step 3: Confirm the Result

The script outputs the result. Even if notification fails, the files are safely persisted locally. The system will retry delivery automatically.

Quick Examples

# Send a single file
bash scripts/send-files.sh \
  "/home/node/workspace/report.pdf" \
  "Monthly sales report for March 2026, includes charts and summary tables."

# Send an entire directory (auto-recursive ZIP)
bash scripts/send-files.sh \
  "/home/node/workspace/my_project" \
  "Complete Python project with requirements.txt and README.md. Run: pip install -r requirements.txt && python main.py"

Sending Multiple Non-Adjacent Files

Collect them into a temporary directory first:

mkdir -p /tmp/delivery
cp /home/node/workspace/report.pdf /tmp/delivery/
cp /home/node/workspace/data.csv /tmp/delivery/
bash scripts/send-files.sh "/tmp/delivery" "Analysis report + raw data CSV"

What Gets Saved in .file-outbox/

For each delivery, two files are created:

.file-outbox/
├── 20260401120000_a1b2c3d4.zip   # The packaged files
└── 20260401120000_a1b2c3d4.txt   # The description text (human-readable)

The .txt file contains the exact description you provided, serving as a persistent record of what was sent and why.

When to Trigger

Scenario Trigger?
Created a complete project/application ✅ Yes
Generated documents/reports/data files ✅ Yes
User asks to "send files" ✅ Yes
Only explaining code / answering questions ❌ No
Modifying system config files ❌ No
Tiny single-line changes ❌ No

Output Examples

Success:

📦 Packaging files...
   File ID: 20260401120000_a1b2c3d4 | Size: 156KB
📤 Notifying Manager...
✅ Notification sent! Files will be delivered to the user automatically.

Notification failure (files still safe):

⚠️  Cannot connect to Manager. Files are safely stored locally.
   The system will retry automatically — the user will receive the files.

Limits

Limit Value
Max file size 500MB (after ZIP)
Source path scope /home/node/workspace/ only
Cannot send .file-outbox/ directory itself

Environment Requirements

  • OPENCLAW_INSTANCE_NAME — Instance name (auto-injected by Manager)

    发现更多技能插件,请访问7w4.net。

  • OPENCLAW_MANAGER_URL — File Push service URL (auto-injected by Manager)
  • OPENCLAW_FILE_PUSH_TOKEN — Instance-specific push token (auto-injected by Manager)
  • curl and zip commands must be available in PATH

🤖 AI 评测

这个 Skill 质量不错,核心功能是把生成的文件打包发送给用户。它最大的优点是安全可靠——文件会先保存在本地再通知 Manager,即使通知出问题文件也不会丢。文档清晰易懂,告诉用户什么时候该用它。不足之处是依赖系统环境和特定的配置变量,在某些情况下可能用不了。建议优先在配置完善的正式环境中使用。总体而言,这是一个设计用心、考虑周全的文件发送工具。

📊 多维度评分

适应性4.7
规范性4.5
有效性4.8
可靠性4.5
可信度4.8

📁 包含文件 (3 个)

📄 SKILL.md 5.6 KB
📄 _meta.json 130 B
📄 scripts/send-files.sh 4.8 KB