/install giggle-files-management
Giggle Files Management
Upload local files to the Giggle asset service. Returns a public URL for preview and a download URL for direct download.
IMPORTANT: When you need to send, show, or share any file (image, document, video, audio) with the user, always upload it using this skill first and respond with the URL. Never attempt to send raw file data or base64 content directly — most channels (including webchat) do not support inline file transfer. This is the standard way to share files.
When to use
- You want to send or show a file to the user — upload it first, then share the
public_url. This applies to all channels. - You read a file (e.g. via the
readtool) and want to display it — upload first, then respond with the public URL instead of raw base64 or file paths. - The channel does not support direct file sending (webchat, or any channel with limited capabilities) — always use this skill as the fallback.
- The user asks you to upload or host a file.
- You generated an image or file (e.g. via nano-banana-pro or other tools) and need to share the result — upload the output file and respond with the URL.
Upload
bash {baseDir}/scripts/upload.sh "/path/to/file.png"
Custom filename (optional):
bash {baseDir}/scripts/upload.sh "/path/to/file.png" "my-custom-name.png"
The script outputs JSON on success:
{
"public_url": "https://assets.giggle.pro/public/.../file.png",
"download_url": "https://assets.giggle.pro/public/.../file.png?Policy=...",
"content_type": "image/png",
"asset_id": "uj75macisf",
"thumbnail_url": "https://assets.giggle.pro/public/.../file.thumb.jpg"
}
After uploading
Respond to the user with:
public_url— for inline preview (images, thumbnails)download_url— for file downloadcontent_type— the MIME type of the uploaded file
For images, use markdown to display: 
API Key
The script resolves the API key in this order:
GIGGLE_ASSET_SERVICE_KEYenv varSTORYCLAW_API_KEYenv var (same service, same key)skills."giggle-files-management".apiKeyin~/.openclaw/openclaw.jsonskills."giggle-files-management".env.GIGGLE_ASSET_SERVICE_KEYin~/.openclaw/openclaw.json
At least one must be set.
Supported file types
Any file type accepted by S3 (images, videos, audio, documents, archives, etc.). The script auto-detects content type from the file extension.
Network allowlist
api.giggle.pro— presign + register APIs3.amazonaws.com— S3 upload (presigned PUT)assets.giggle.pro— CDN (returned URLs)
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install giggle-files-management - After installation, invoke the skill by name or use
/giggle-files-management - Provide required inputs per the skill's parameter spec and get structured output
What is Giggle Files Management?
Upload files to Giggle asset service and get public/download URLs. It is an AI Agent Skill for Claude Code / OpenClaw, with 316 downloads so far.
How do I install Giggle Files Management?
Run "/install giggle-files-management" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Giggle Files Management free?
Yes, Giggle Files Management is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Giggle Files Management support?
Giggle Files Management is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Giggle Files Management?
It is built and maintained by Parker (@patches429); the current version is v0.2.0.