file-share ยท diff

git:20260313.837fc11 to git:20261009.8eb2fa0

5 added, 5 removed. Audit A to A.

---
name: file-share
- description: Upload files to temporary sharing services and get download links. Use this skill only when the `message` tool cannot send files directly.
+ description: Upload files to a user-approved temporary public sharing service when the user explicitly requests a public download link.
---
# file-share
Upload local files to temporary file sharing services to get public download links.
## Important
- Always prefer using the channel's native file sending capability via the `message` tool first - this provides the best user experience. Only use this as a fallback when native file sending is unavailable or fails.
+ Prefer the channel's native attachment delivery when available. A failed send is not permission to upload the file to a third party. Before uploading, obtain explicit user approval for the selected public service and file; do not upload sensitive information. A background task returns its artifact path to the main Agent and does not send channel messages itself.
## Available Services
### tmpfiles.org (Recommended, 1 hour expiry, 100MB)
```bash
curl -s -F "file=@<file_path>" https://tmpfiles.org/api/v1/upload
# Returns: {"status":"success","data":{"url":"http://tmpfiles.org/12345/file.pdf"}}
# Note: Add /dl to URL for direct download: http://tmpfiles.org/dl/12345/file.pdf
```
### uguu.se (48 hours expiry, 128MB)
```bash
curl -s -F "files[]=@<file_path>" https://uguu.se/upload.php
# Returns: {"success":true,"files":[{"url":"https://d.uguu.se/xxxxx.pdf",...}]}
```
## Workflow
- 1. Generate/process file and save to `data/` directory
- 2. Upload using one of the commands above
+ 1. Generate/process the file in the assigned workspace (task outputs stay in that task directory)
+ 2. Confirm explicit user approval of the file and public service, then upload using the selected command
3. Extract the download URL from response
- 4. Send the download link to the user
+ 4. Return the link to the main Agent for channel delivery, or use the channel tool only if this role actually provides it
## Notes
- Do not upload sensitive information (public links)
- Verify the file exists before uploading
- For tmpfiles.org, add `/dl` to URL for direct download
## Unavailable Services (Do NOT use)
The following services are blocked or unreliable:
- transfer.sh - timeout
- x0.at - timeout
- litterbox.catbox.moe - timeout
- catbox.moe - timeout
- 0x0.st - blocks automated uploads
- file.io - unreliable