Skip to content
Agentmart
Submit a tool

giggle-files-management

Use when the user wants to upload, share, or host a file.

Skill by giggle-official

IndexedMIT
Write a review

Chalk Labs

Need help deploying giggle-files-management?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/giggle-official-giggle-files-management

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use when the user wants to upload, share, or host a file. Uploads local files to Giggle asset service and returns public/download URLs. Say briefly that upload is starting before the command; share URLs as soon as the script returns. Triggers: upload file, share file, host file, send image, I need to share a file.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Shell scripts

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/giggle-files-management

What's inside

Skill name
giggle-files-management
Description
Use when the user wants to upload, share, or host a file. Uploads local files to Giggle asset service and returns public/download URLs. Say briefly that upload is starting before the command; share URLs as soon as the script returns. Triggers: upload file, share file, host file, send image, I need to share a file.
License
MIT
Instructions
102 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (2)

  • SKILL.md
  • upload.sh · scripts/

SKILL.md (first lines)

# Giggle Files Management

**Source**: [giggle-official/skills](https://github.com/giggle-official/skills) · API: [giggle.pro](https://giggle.pro/)

Upload local files to the Giggle asset service. Returns a **public URL** for preview and a **download URL** for direct download.

**API Key**: Set system environment variable `GIGGLE_API_KEY` (same as other Giggle skills). Get the key at [giggle.pro](https://giggle.pro/) while logged in: **left sidebar** → **API Key** (**API 密钥**).

> **Important**: **Never** pass `GIGGLE_API_KEY` in exec's `env` parameter. API Key is read from system environment variable.

> **No Retry on Error**: If script execution encounters an error, **do not retry**. Report the error to the user directly and stop.

**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.

---

## When to Use

- **You want to send or show a file to the user** — upload it first, then share the `public_url`
- **You read a file** (e.g. via the `read` tool) and want to display it — upload first, then respond with the public URL
- **The channel does not support direct file sending** — use this skill as the fallback
- **The user asks you to upload or host a file**
- **You generated an image or file** and need to share the result — upload the output file and respond with the URL

---

## Execution Flow

Upload is synchronous. Run the script with file path; it returns JSON on success.

## Continuous user feedback (upload is synchronous)

There is **no** task id or `--query` loop. Upload is one shell call.

1. **Before** `upload.sh`, send a short line (e.g. “Uploading…”) for **large** files or slow links; small files can skip if obvious.
2. **Right after** the script returns, send **`public_url` / `download_url`** (or the error JSON) in natural language—**do not** go silent on success or failure.
3. If the user says they **don’t** want an “uploading…” message, skip the preamble and only return URLs/errors.

### Step 1: Run Upload

```bash
bash scripts/upload.sh "/path/to/file.png"
```

With custom filename (optional):

```bash
bash scripts/upload.sh "/path/to/file.png" "my-custom-name.png"
```

### Step 2: Handle Output

**Success** — script outputs JSON (API returns `asset_id`, `name`, `type`, `file_url`):

```json
{
  "asset_id": "string",
  "name": "bufan.mp3",
  "type": "string",
  "file_url": "https://assets.giggle.pro/...",
  "public_url": "https://assets.giggle.pro/...",
  "download_url": "https://assets.giggle.pro/..."
}
```

**Failure** — script outputs `{"error":"..."}`. Report error to user, do not retry.

### Step 3: Respond to User

- `file_url` / `public_url` / `download_url` — use for preview or download
- For images, use markdown: `![description](file_url)`

---

## Parameter Reference

| Parameter | Required | Description |
|-----------|----------|-------------|
| `<file_path>` | yes | Path to local file to upload |
| `[custom_filename]` | no | Optional custom filename in URL; defaults to file basename |

---

## 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.

---

## Link Return Rule

URLs returned to the user must be **full signed URLs** when applicable. Do not strip `response-content-disposition=attachment` or other query params. Keep script output as-is when forwarding.

---

## Network Allowlist

- `giggle.pro` — presign + register API
- `s3.amazonaws.com` — S3 upload (presigned PUT)
- `assets.giggle.pro` — CDN (returned URLs)

From giggle-official/skills, MIT.

More from giggle-official/skills

Signals

Stars
0
Forks
2
Open issues
0
Last commit (this folder)
Mar 25, 2026 (7 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from giggle-official

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get giggle-files-management running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying giggle-files-management?

CallGet help
Cite this page

giggle-files-management skill. Agent Mart. https://agentmart.dev/skills/giggle-official-giggle-files-management (last updated 2026-10-24)