skills/giggle-generation-music/SKILL.md
Use when the user wants to create, generate, or compose music—whether from text description, custom lyrics, or instrumental background music. After submit, proactively poll task status every ~15–30s and message the user each time until completed/failed/timeout—do not wait for the user to ask for progress. Triggers: generate music, write a song, compose, create music, AI music, background music, instrumental, beats.
npx skillsauth add giggle-official/skills giggle-generation-musicInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Source: giggle-official/skills · API: giggle.pro
Generates AI music via giggle.pro. Supports simplified and custom modes. Submit task → agent proactively polls with --query until done (see Continuous progress updates). No Cron.
API Key: Set system environment variable GIGGLE_API_KEY. Log in to giggle.pro → left sidebar → API Key (API 密钥) to create or copy your key.
Important: Never pass
GIGGLE_API_KEYin exec'senvparameter. 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.
| User input | Mode | Description | |------------|------|-------------| | User provides full lyrics | Custom mode (B) | Must be lyrics, not description | | User requests instrumental/background music | Instrumental mode (C) | No vocals | | Other cases (description, style, vocals, etc.) | Simplified mode (A) | Use user description as prompt; AI composes |
Key rule: If the user does not provide lyrics, always use simplified mode A. Use the user's description exactly as
--prompt; do not add or rewrite. E.g. user says "female voice, 1 min, ancient romance", use--prompt "female voice, 1 min, ancient romance"directly.
Only when the user input is very vague (e.g. "generate music" with no description), ask:
Question: "What type of music would you like to generate?"
Options: AI compose (describe style) / Use my lyrics / Instrumental
Music generation is asynchronous (typically 1–3 minutes). Submit a task to get task_id, then query until the task reaches a terminal state.
Music generation usually takes ~1–3 minutes. The user does not need to ask you to check progress.
task_id, and expect ~1–3 minutes (longer if the service is busy).--query about every 15–30 seconds until terminal—do not wait for the user to ask.processing JSON, paraphrase and say you will keep checking—do not go silent.task_id, and suggest retry or follow-up.task_id, then query only when they ask.First send a message to the user: Music generation is submitted; you will poll on a schedule and report updates—no need to nag. Include task_id from the JSON response.
python3 scripts/giggle_music_api.py --prompt "user description"
python3 scripts/giggle_music_api.py --custom \
--prompt "lyrics content" \
--style "pop, ballad" \
--title "Song Title" \
--vocal-gender female
python3 scripts/giggle_music_api.py --prompt "user description" --instrumental
Response example:
{"status": "started", "task_id": "xxx"}
Store task_id in memory (addMemory):
giggle-generation-music task_id: xxx (submitted: YYYY-MM-DD HH:mm)
After each submit for the current task, repeatedly run (every ~15–30s until terminal or timeout), without waiting for the user to ask:
python3 scripts/giggle_music_api.py --query --task-id <task_id>
Between queries, use sleep in shell or separate invocations with delay—do not go silent; summarize each result to the user.
Output handling:
| stdout pattern | Action |
|----------------|--------|
| Plain text with music links (e.g. ready message) | Forward to user as-is; stop polling |
| Plain text with error | Forward to user as-is; stop polling |
| JSON {"status": "processing", "task_id": "..."} (non-terminal) | Tell user current status + that you will keep checking; continue polling |
If the user asks while you are polling, answer with the latest status (extra --query if needed).
Link return rule: Audio links in stdout must be full signed URLs (with Policy, Key-Pair-Id, Signature query params). Do not strip response-content-disposition=attachment when the API returns it; forward links as-is (script only encodes ~ → %7E).
In-flight task: use proactive polling as above.
When the user asks about previous music (older task_id):
--query --task-id xxx directly. Do not resubmit; poll until done if they want continuous updates on that task.| Parameter | Description |
|-----------|-------------|
| --prompt | Music description or lyrics (required in simplified mode) |
| --custom | Enable custom mode |
| --style | Music style (required in custom mode) |
| --title | Song title (required in custom mode) |
| --instrumental | Generate instrumental |
| --vocal-gender | Vocal gender: male / female (custom mode only) |
| --query | Query task status |
| --task-id | Task ID (use with --query) |
development
Social media publishing and engagement management via X2C Open API. Use when the user needs to publish posts to social media, check linked accounts, manage comments, or upload media. Use cases: (1) Publish text/media posts to TikTok, Instagram, Facebook, YouTube, LinkedIn, Twitter, etc. (2) Schedule posts for future publishing. (3) Manage comments and replies on posts. (4) Upload media files (up to 5GB) and get CDN links. (5) View post history and linked account status. Triggers: post to social media, publish post, social media, schedule post, social publish, upload media, social accounts, comment on post.
tools
Twitter automation core module for trend collection, auto first-reply posting, dashboard updates, comment failure checks, and installation verification.
testing
Use this feature when users want to generate videos, shoot short films, or view available video styles. Triggering keywords: short film, make video, shoot short film, short video, AI video, generate video from story, short drama, narrated video, cinematic video, available video styles.
development
全网热榜聚合 API 服务 — 基于 DailyHotApi 开源项目,本地自动部署,零配置获取 40+ 平台实时热搜数据。覆盖抖音、微博、知乎、B站、百度、今日头条、快手等主流平台。触发词:热点、热搜、趋势、热榜、trending、hot topics。