To Img
rtadewald/skills
Gera imagens em paralelo via OpenRouter a partir de um pedido simples ou de um batch com prompts e filenames definidos.
Generate atmospheric sound-design / SFX (NOT speech, NOT the front-of-blog BGM) via OpenRouter using Google Lyria 3 Pro.
$ npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install QinghongLin/data2story-skill openrouter-text2music --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/data2story-pro/designer/scripts/openrouter-text2music .claude/skills/openrouter-text2music && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "openrouter-text2music" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/designer/scripts/openrouter-text2music into .claude/skills/openrouter-text2music/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openrouter-text2music", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/designer/scripts/openrouter-text2musicType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install QinghongLin/data2story-skill openrouter-text2music --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/data2story-pro/designer/scripts/openrouter-text2music .agents/skills/openrouter-text2music && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "openrouter-text2music" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/designer/scripts/openrouter-text2music into .agents/skills/openrouter-text2music/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openrouter-text2music", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install QinghongLin/data2story-skill openrouter-text2music --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/data2story-pro/designer/scripts/openrouter-text2music .cursor/skills/openrouter-text2music && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "openrouter-text2music" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/designer/scripts/openrouter-text2music into .cursor/skills/openrouter-text2music/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openrouter-text2music", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/QinghongLin/data2story-skill.git --path skills/data2story-pro/designer/scripts/openrouter-text2music--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install QinghongLin/data2story-skill openrouter-text2music --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/data2story-pro/designer/scripts/openrouter-text2music .gemini/skills/openrouter-text2music && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "openrouter-text2music" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/designer/scripts/openrouter-text2music into .gemini/skills/openrouter-text2music/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openrouter-text2music", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install QinghongLin/data2story-skill openrouter-text2musicInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/data2story-pro/designer/scripts/openrouter-text2music .github/skills/openrouter-text2music && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "openrouter-text2music" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/designer/scripts/openrouter-text2music into .github/skills/openrouter-text2music/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openrouter-text2music", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install QinghongLin/data2story-skill openrouter-text2music --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/data2story-pro/designer/scripts/openrouter-text2music .opencode/skills/openrouter-text2music && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "openrouter-text2music" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/designer/scripts/openrouter-text2music into .opencode/skills/openrouter-text2music/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "openrouter-text2music", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
openrouter-text2musicGenerate atmospheric sound-design / SFX (NOT speech, NOT the front-of-blog BGM) via OpenRouter using Google Lyria 3 Pro.
Openrouter Text2music is an agent skill from QinghongLin/data2story-skill. Generate atmospheric sound-design / SFX (NOT speech, NOT the front-of-blog BGM) via OpenRouter using Google Lyria 3 Pro.
Its SKILL.md is about 620 tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `config.json` and `scripts/generate_music.py`).
It sits in AI & LLM Engineering, covering Model routing and gateways, Physical and earth sciences and Music and audio generation. It works with OpenRouter. The repository describes itself as: Data Journalist Agent: Transforming Data into Verifiable Multimodal Story. The licence is MIT.
Read from SKILL.md and the folder at commit 63a55c1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENROUTER_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Openrouter Text2music loads about 618 tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 255 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from QinghongLin/data2story-skill at commit 63a55c1, republished under its MIT licence (© QinghongLin). 255 words, ~618 tokens.
.claude/skills/openrouter-text2music/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Text → audio via OpenRouter. Default model: google/lyria-3-pro-preview.
Role in Data2Story: atmospheric sound-design / SFX only — never the front BGM. Use this for a sound the story needs that has NO findable real recording: an ambient bed (tension drone, texture, room tone) or best-effort sharp foley (e.g. a glass-shatter texture). Lyria's strength is ambient/textural beds, not crisp transients, so sharp foley is best-effort. The result is an opt-in, event/section-bound, reader-controlled element. The front-of-blog BGM must be a SOURCED real track (sourced_bgm via the Scout) — never generated here.
⚠️ This is a generative audio model, not TTS. It produces 48kHz stereo audio; for narration/voiceover use a dedicated TTS tool (e.g., OpenAI tts-1, ElevenLabs).
Resolve TOOL_DIR = the directory containing this SKILL.md. Commands below use TOOL_DIR as a symbolic placeholder; replace it with the resolved, quoted path before running Bash.
export OPENROUTER_API_KEY=sk-or-v1-...
python3 TOOL_DIR/scripts/generate_music.py \
--prompt "Low rumbling tension drone, sub-bass swell, no melody, slowly building unease" \
--download PROJECT_DIR/assets/sfx_drone.wavDescribe a TEXTURE, not a song — no genre/BPM/lead/vocals. Examples:
"low rumbling tension drone, sub-bass swell, no melody""sharp glass-shatter texture, brittle high transients" (foley — best-effort)"distant wind and creaking-ice ambience, cold and hollow"| Flag | Default | Description |
|---|---|---|
--prompt | required | Text prompt — describe the atmospheric texture / SFX (mood, materials, motion); avoid song structure |
--download | required | Output audio file path |
--model | google/lyria-3-pro-preview | Alt: google/lyria-3-clip-preview (shorter clips) |
lyria-3-pro-preview: $0.08 per callPOST /api/v1/chat/completions with modalities: ["audio","text"].message.audio, a content part with type=audio, or a data:audio/... URL embedded in the text content.© QinghongLin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in skills/data2story-pro/designer/scripts/openrouter-text2music of QinghongLin/data2story-skill.
Open the folder on GitHubat commit 63a55c1
Openrouter Text2music next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Openrouter Text2music this skillQinghongLin/data2story-skill | 155 | — | ~618 | Automated safety check: Pass | MIT | |
| To Imgrtadewald/skills | 185 | — | ~673 | Automated safety check: Notes | None | |
| Add Modelget-convex/convex-evals | 130 | — | ~1.5k | Automated safety check: Notes | Apache-2.0 | |
| Openrouterdavidondrej/skills | 4.1k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Provision Model Keysswyxio/skills | 176 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Fabrica Personagenscorosolto/client | 257 | — | ~1.6k | Automated safety check: Notes | AGPL-3.0 |
rtadewald/skills
Gera imagens em paralelo via OpenRouter a partir de um pedido simples ou de um batch com prompts e filenames definidos.
get-convex/convex-evals
Add a new model to the convex-evals coding leaderboard, and optionally the decision benchmark, through a PR, then dispatch its baseline runs.
davidondrej/skills
Design, build, debug, and optimize OpenRouter API integrations.
swyxio/skills
Provision app-specific Claude, OpenAI, OpenRouter, ElevenLabs or fal.ai API keys, install secrets, rotate keys or adjust their budgets using saved authorization.
corosolto/client
Fábrica de personagens e skins do CS BRASIL, da ficha ao personagem no jogo com avatar e arte de resultado.
Luciole-Studio/Misaka-Agent
Evolve prompts/regex/SQL/code with Imbue's evolution loop. An agent skill from Luciole-Studio/Misaka-Agent.
QinghongLin/data2story-skill
Run sentence-level traceability verification on a Data2Story blog (verify.py - verifier.json), then emit the in-page Inspector panel (the reader-facing runnable verifier) + the verify/ artifacts…
QinghongLin/data2story-skill
Audit a generated Data2Story blog for build correctness across ALL modalities by ACTUALLY RENDERING it in a real headless browser (when available) — catching blank/0-width charts, broken/oversized…
QinghongLin/data2story-skill
Review a finished Data2Story blog against the 5 quality rubric dimensions (visualdesign, narrativepacing, datamethodtransparency, claimdataalignment, insightvalue), score each 1-7 with on-page…
QinghongLin/data2story-skill
Research external context for a dataset — domain background, history, related studies, and why this data matters.
QinghongLin/data2story-skill
Run sentence-level traceability verification on a blog, then generate viewer.html with interactive evidence panel.
QinghongLin/data2story-skill
A skill your agent uses to turn a dataset into a verifiable multimedia blog (a data story / data-driven article / interactive dashboard from a dataset).
Works with
Categories
Generate atmospheric sound-design / SFX (NOT speech, NOT the front-of-blog BGM) via OpenRouter using Google Lyria 3 Pro. Openrouter Text2music is an agent skill from QinghongLin/data2story-skill. Generate atmospheric sound-design / SFX (NOT speech, NOT the front-of-blog BGM) via OpenRouter using Google Lyria 3 Pro.
Openrouter Text2music fits situations like: tasks that involve Model routing and gateways; tasks that involve Physical and earth sciences; tasks that involve Music and audio generation.
Run `npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a claude-code`. Or copy the skill folder (skills/data2story-pro/designer/scripts/openrouter-text2music in QinghongLin/data2story-skill) into .claude/skills/openrouter-text2music in your project. Claude Code loads it when a task matches its description.
Run `npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a codex`. Or copy the skill folder (skills/data2story-pro/designer/scripts/openrouter-text2music in QinghongLin/data2story-skill) into .agents/skills/openrouter-text2music in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add QinghongLin/data2story-skill --skill openrouter-text2music -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openrouter-text2music, .gemini/skills/openrouter-text2music, .github/skills/openrouter-text2music and .opencode/skills/openrouter-text2music in your project.
Going by SKILL.md and its folder, Openrouter Text2music needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named OPENROUTER_API_KEY. Our summary lists: Python 3; A credential in OPENROUTER_API_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Openrouter Text2music is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 618 tokens (SKILL.md is roughly 2.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Openrouter Text2music: To Img (rtadewald/skills, 185 stars), Add Model (get-convex/convex-evals, 130 stars), Openrouter (davidondrej/skills, 4.1k stars) and Provision Model Keys (swyxio/skills, 176 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
QinghongLin (a GitHub user) maintains it in QinghongLin/data2story-skill, which has 155 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on July 5, 2026.
Source: QinghongLin/data2story-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.