Agent skill

Setup API Key

by sonilo-ai in sonilo-ai/skills

Guides users through connecting to Sonilo — signing in with sonilo login (OAuth, no key), the remote OAuth plugin for Claude Code or Muse Code, or an API key for CI and headless use.

MITAuto-check passedBackend & APIs

Install Setup API Key

skills CLI
$ npx skills add sonilo-ai/skills --skill setup-api-key -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sonilo-ai/skills setup-api-key --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sonilo-ai/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/setup-api-key .claude/skills/setup-api-key && rm -rf skills-src

Use ~/.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/

Facts

Skill name
setup-api-key
GitHub stars
115
Used in
1 other repo
Token cost
~3k tokens
SKILL.md length
1,525 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

Guides users through connecting to Sonilo — signing in with sonilo login (OAuth, no key), the remote OAuth plugin for Claude Code or Muse Code, or an API key for CI and headless use.

  • The user needs to configure Sonilo
  • SKILL.md covers Step 0: Check what already…, Path A: sonilo login (no API…, Path B: Remote OAuth plugin… and Path C: API key (CI,…, plus 3 more sections
  • Calls claude, pip and npm; reaches api.sonilo.com; needs SONILO_API_KEY
  • Wants to sign in

What it does

Setup API Key is an agent skill from sonilo-ai/skills. Guides users through connecting to Sonilo — signing in with sonilo login (OAuth, no key), the remote OAuth plugin for Claude Code or Muse Code, or an API key for CI and headless use. Use when the user needs to configure Sonilo, wants to sign in or connect their Sonilo account, when Sonilo tools are missing, or when a call fails because no key or credential is available. First checks what already works, and only runs full setup when needed.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires internet access to platform.sonilo.com and api.sonilo.com. Exact requirement depends on the chosen path — a CLI install plus a browser for sonilo…

It sits in Backend & APIs, covering OAuth and OpenID Connect. It works with Model Context Protocol. The repository describes itself as: Agent skills for Sonilo's licensed music, sound-effects, dubbing, and audio-ducking API. The licence is MIT.

When your agent uses it

  • The user needs to configure Sonilo
  • Wants to sign in
  • Connect their Sonilo account
  • Sonilo tools are missing

Example prompts

  • “Use the setup-api-key skill to guide users through connecting to Sonilo — signing in with sonilo login (OAuth, no key), the remote OAuth plugin for…”
  • “/setup-api-key”

Requirements

  • Python 3
  • Node.js
  • A credential in SONILO_API_KEY
  • Compatibility (from SKILL.md): Requires internet access to platform.sonilo.com and api.sonilo.com. Exact requirement depends on the chosen path — a CLI install plus a browser for `sonilo login`, `claude mcp add`/`/plugin install` for MCP, or just `pip`/`npm` for the SDKs.

What it can do on your machine

Read from SKILL.md and the folder at commit 33233f7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • claude
    • pip
    • npm
    • brew
    • pipx
    • winget
    • codex
    • uvx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.sonilo.com

    Also links to:

    • platform.sonilo.com
    • docs.astral.sh

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SONILO_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires internet access to platform.sonilo.com and api.sonilo.com. Exact requirement depends on the chosen path — a CLI install plus a browser for `sonilo login`, `claude mcp add`/`/plugin install` for MCP, or just `pip`/`npm` for the SDKs.

    From compatibility in the SKILL.md frontmatter.

Context cost

Setup API Key loads about 3k tokens when it runs. Until then it costs about 115 tokens; SKILL.md has 1,525 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~115
When it runs · the whole SKILL.md, loaded when a task matches
~3k

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.

Safety

Auto-check passed

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from sonilo-ai/skills at commit 33233f7, republished under its MIT licence (© sonilo-ai). 1,525 words, ~3,005 tokens.

Download SKILL.mdSave it as .claude/skills/setup-api-key/SKILL.md (or your agent's skills folder).
name
setup-api-key
description
Guides users through connecting to Sonilo — signing in with `sonilo login` (OAuth, no key), the remote OAuth plugin for Claude Code or Muse Code, or an API key for CI and headless use. Use when the user needs to configure Sonilo, wants to sign in or connect their Sonilo account, when Sonilo tools are missing, or when a call fails because no key or credential is available. First checks what already works, and only runs full setup when needed.
compatibility
Requires internet access to platform.sonilo.com and api.sonilo.com. Exact requirement depends on the chosen path — a CLI install plus a browser for `sonilo login`, `claude mcp add`/`/plugin install` for MCP, or just `pip`/`npm` for the SDKs.
license
MIT

Sonilo Setup

Guide the user through connecting to Sonilo. There are several ways in — pick based on what the user is actually doing, not just whichever is listed first:

PathNeeds an API key?Best for
A. sonilo login (CLI sign-in, credential shared with the local MCP server)No — OAuth in the browserAnyone on a machine with a browser. One sign-in covers the CLI and uvx sonilo-mcp, so the MCP config carries no secret.
B. Remote OAuth MCP plugin (sonilo-claude-plugin, or this repo's Muse Code plugin)No — OAuth sign-inClaude Code and Muse Code users who want nothing running locally. Full tool coverage.
C. API key (SONILO_API_KEY)YesCI, containers, headless boxes, and anyone who prefers holding a key. Works with every client.

Choosing:

  • On a machine with a browser and any MCP host → Path A. It is the shortest path and leaves no secret in a config file.
  • Claude Code or Muse Code, and nothing local wanted → Path B.
  • No browser (CI, a container, a remote box), or the user says they already have a key → Path C.
  • Not working through an agent at all (writing code, scripting a shell) → Path D at the end; the MCP configuration in A–C does not apply.

Step 0: Check what already works (all paths)

Do this before changing anything — the answer is often "nothing to do".

There are two transports, and either one is enough. Probe both before concluding that nothing is set up.

  1. MCP: is a sonilo MCP server connected (any Sonilo tool, e.g. text_to_music or get_account_services, available to call)? If so, call the free, read-only get_account_services().
  2. CLI: if there are no Sonilo tools, run sonilo account — the same free, read-only call as above. Exit code 0 means the CLI is installed, signed in, and reaching the API, and the skills can drive it directly. Do not probe with sonilo whoami: it exits 0 even when signed out, so it cannot separate the two states, and on an account with no display name it prints an empty account: line that reads like a broken credential. It is worth running only to show which account is active, never to decide.
  3. Either one succeeds: Sonilo is configured and working. Say so and stop. Ask only whether they want to rotate credentials.
  4. Fails with 401: authentication is stale, not missing. If they signed in with sonilo login, the key may have expired (90 days) or been revoked — sonilo login again fixes it. Otherwise the key is wrong: continue at Path C.
  5. Neither responds: nothing is connected — pick a path below and run it. MCP is the better default (it needs no shell, and it is the only transport that survives a dubbing job's two-hour poll), but a CLI that is installed and signed in is a complete setup on its own; do not make someone configure MCP they will not use.

Never print, quote, or echo a key or the contents of the credential file. If you must refer to one, redact it.

Path A: sonilo login (no API key, any MCP host)

One sign-in, then both the CLI and the local MCP server are authenticated — the CLI writes a credential to ~/.config/sonilo/credentials.json and sonilo-mcp (0.16.0 and later) reads it.

bash
npm install -g sonilo-cli     # or: pip install sonilo-cli
sonilo login

The CLI prints a one-time code and opens the browser to platform.sonilo.com. The user signs in to their Sonilo Platform account (separate from a consumer sonilo.com account), confirms the code matches what the terminal printed, and approves. On a machine without a browser, add --no-browser and have them approve the printed URL from another device.

Then add the MCP server with no secret in the config:

bash
claude mcp add sonilo -- uvx sonilo-mcp     # Claude Code
codex mcp add sonilo -- uvx sonilo-mcp      # Codex

For Claude Desktop, the whole config is:

json
{
  "mcpServers": {
    "sonilo": { "command": "uvx", "args": ["sonilo-mcp"], "env": {} }
  }
}

Both need the uv package manager (provides uvx): install it with brew install uv (macOS), pipx install uv / pip install uv, or winget install --id=astral-sh.uv (Windows) — other methods at https://docs.astral.sh/uv/getting-started/installation/.

Worth telling the user up front:

  • Approving mints an ordinary API key on their account, named cli: <hostname>, that expires after 90 days and is visible and revocable at https://platform.sonilo.com/dashboard/api-keys.
  • sonilo whoami shows which account and source is active; sonilo logout revokes the key server-side and then forgets it locally.
  • An exported SONILO_API_KEY takes precedence over the sign-in. If tools authenticate as an unexpected account, check for that variable first — sonilo whoami says so explicitly when it is set.
  • Sign-in is for humans. Provisioned/POC accounts are issued a key by Sonilo and cannot use sonilo login; those users belong on Path C.

Validate with get_account_services(), exactly as in Step 0.

Path B: Remote OAuth plugin (Claude Code or Muse Code, no API key)

claude
/plugin marketplace add sonilo-ai/sonilo-claude-plugin
/plugin install sonilo@sonilo

The first Sonilo tool call opens the browser to sign in to a Sonilo Platform account (platform.sonilo.com — separate from a consumer sonilo.com account) and approve access. Claude Code stores the resulting token per-user in the OS keychain; nothing to copy, paste, or configure. Review or disconnect anytime from /mcp.

This connects to a single hosted endpoint (https://api.sonilo.com/mcp, OAuth 2.1 + PKCE) that carries the same tool set as the local server (Paths A and C): music/SFX from text or video, video-to-video music/SFX, video-to-sound, video-to-video-sound, dubbing, audio ducking, and account/usage. Paths A and C are still the better fit for other MCP hosts, or for users who prefer holding and managing their own key.

Muse Code: the Sonilo skills plugin carries the same hosted server, so installing it is the whole setup:

bash
MUSE_EXPERIMENTAL_PLUGINS=1 muse plugins marketplace add sonilo-skills https://github.com/sonilo-ai/skills
MUSE_EXPERIMENTAL_PLUGINS=1 muse plugins install skills@sonilo-skills
MUSE_EXPERIMENTAL_PLUGINS=1 muse plugins approve skills

approve activates the MCP server (Muse keeps a third-party plugin's server off until then). The first Sonilo tool call asks for the same Sonilo Platform sign-in. If a call reports that the server needs an OAuth sign-in, add "mcp_servers": {"sonilo": {"transport": "streamable_http", "url": "https://api.sonilo.com/mcp"}} to ~/.config/muse/settings.json and run muse mcp login sonilo — Muse Code 1.4.0 only logs in to servers listed there.

Show full SKILL.md (565 more words)Show less

Path C: API key (CI, containers, or by preference)

Step 1: Get an API key

Only take this path when Path A does not fit — no browser, a provisioned account, CI, or an explicit preference for holding a key. Tell the user:

Get your Sonilo API key from the dashboard: https://platform.sonilo.com/dashboard/api-keys

(Need an account? Sign up there first — self-serve accounts start with a few free generation runs on most endpoints, no card required.)

Once you have a key (it looks like sk-...), tell me and I'll connect it — don't paste it directly into this chat if you can avoid it; I'll wire it into the MCP server config instead.

Step 2: Connect the MCP server

Once the user has a key, connect the sonilo MCP server with it. Prefer the CLI form when the host supports it:

bash
claude mcp add sonilo --env SONILO_API_KEY=sk-... -- uvx sonilo-mcp

For hosts without that CLI (Claude Desktop, Codex), edit the MCP config directly:

Claude Desktop (claude_desktop_config.json):

json
{
  "mcpServers": {
    "sonilo": {
      "command": "uvx",
      "args": ["sonilo-mcp"],
      "env": { "SONILO_API_KEY": "sk-..." }
    }
  }
}

Codex (~/.codex/config.toml):

toml
[mcp_servers.sonilo]
command = "uvx"
args = ["sonilo-mcp"]

[mcp_servers.sonilo.env]
SONILO_API_KEY = "sk-..."

Both require the uv package manager (provides uvx) — if not already installed, use brew install uv, pipx install uv / pip install uv, or winget install --id=astral-sh.uv (see https://docs.astral.sh/uv/getting-started/installation/ for other methods). After editing a config file directly, tell the user to restart the host app (Claude Desktop/Codex) — a claude mcp add in Claude Code takes effect on the next session without a restart.

Step 3: Validate

After connecting, call get_account_services():

  • Succeeds: confirm Sonilo is configured and working. Mention get_account_services() also shows what free-trial runs remain per service.
  • Fails (401): the credential is wrong. On this path that means a bad key — point back to the dashboard link in Step 1 and ask for a corrected one. If the user signed in with sonilo login instead, the key behind that sign-in has expired or been revoked: sonilo login again.
  • No Sonilo tools appear at all: the MCP server itself isn't connected — re-check Step 2's config location and confirm the host was restarted/reloaded.

Path D: Python/JS SDK or CLI (no MCP)

Not every integration goes through an MCP host. If the user is writing code or scripting from a shell:

bash
pip install sonilo          # Python SDK
npm install sonilo          # JS/TS SDK
pip install sonilo-cli      # Python-distributed CLI
npm install -g sonilo-cli   # npm-distributed CLI

Same API key as Path C — get one from https://platform.sonilo.com/dashboard/api-keys and set it as SONILO_API_KEY in the environment (both SDKs and both CLIs read it automatically; no MCP config, claude mcp add, or plugin install involved). Validate with the SDK's own account call (client.account.services() / sonilo.account.services()) or sonilo account on the CLI.

Optional Configuration (local MCP server)

Mention these only if relevant to what the user is trying to do — they all have sane defaults:

VariableDefaultWhen to mention it
SONILO_API_URLhttps://api.sonilo.comOnly for a non-default deployment.
SONILO_MCP_BASE_PATH~/DesktopWhere generated files are saved by default, and the base for relative input paths. Suggest changing it if the user wants output elsewhere.
SONILO_MCP_ALLOW_ANY_PATHfalseSet true only if the user needs to read/write files outside SONILO_MCP_BASE_PATH — explain this widens the tool's file-system access before suggesting it.
TIME_OUT_SECONDS600Raise this if the user hits generation timeouts on long videos — note that get_sfx_task / get_generation_task (see task-recovery) can always recover a timed-out result regardless of this setting.

Safety Rules

© sonilo-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in setup-api-key of sonilo-ai/skills.

Open the folder on GitHubat commit 33233f7

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in sonilo-ai/skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Setup API Key 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.

Setup API Key compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Setup API Key this skillsonilo-ai/skills1151 repos~3kAutomated safety check: PassMIT
Xquik MCPXquik-dev/x-twitter-scraper2091 repos~997Automated safety check: PassMIT
Entra Agent Idmicrosoft/GitHub-Copilot-for-Azure2553 repos~4kAutomated safety check: PassMIT
OneCLI Gatewaynanocoai/nanoclaw31k1 repos~856Automated safety check: PassMIT
Neo4j Aura Agent Skillneo4j-contrib/neo4j-skills114—~3.8kAutomated safety check: NotesMIT
Frontmcp Auth UIagentfront/frontmcp146—~3.7kAutomated safety check: PassApache-2.0

Similar skills

  • Xquik MCP

    Xquik-dev/x-twitter-scraper

    Connect, verify, and troubleshoot Xquik's remote MCP server.

    209 GitHub starsUsed in 1 repo~997 tokens
    Backend & APIsAuto-check passed
  • Entra Agent Id

    microsoft/GitHub-Copilot-for-Azure

    Official

    Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant)…

    255 GitHub starsUsed in 3 repos~4k tokens
    Backend & APIsAuto-check passed
  • OneCLI Gateway

    nanocoai/nanoclaw

    Explains how to call external APIs through the OneCLI proxy, which injects stored credentials into outgoing HTTPS requests so the agent never handles keys.

    31k GitHub starsUsed in 1 repo~856 tokens
    Backend & APIsAuto-check passed
  • Neo4j Aura Agent Skill

    neo4j-contrib/neo4j-skills

    Manages Neo4j Aura Agents via the v2beta1 REST API — create, list, get, update, delete, and invoke Aura agents backed by an AuraDB instance.

    114 GitHub stars~3.8k tokensUpdated yesterday
    Backend & APIsAuto-check: notes
  • Frontmcp Auth UI

    agentfront/frontmcp

    A skill your agent uses when customizing, branding, or replacing the built-in FrontMCP OAuth pages (the login, consent, federated-select, incremental-authorization, and error pages) with your own…

    146 GitHub stars~3.7k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • MCP Dart Streamable HTTP

    leehack/mcp_dart

    A skill your agent uses when serving an MCP server over HTTP with mcpdart or connecting to a remote one: StreamableMcpServer setup, Host and Origin allowlists (DNS rebinding protection), CORS for…

    116 GitHub stars~2k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed

More from sonilo-ai/skills

All 13 skills in this repo
  • Text To Sfx

    sonilo-ai/skills

    Generate a sound effect from a text description using Sonilo — a UI chime, a whoosh, an impact, ambience, a stylized cue — when there is no video to match.

    115 GitHub starsUsed in 2 repos~1.6k tokens
    Auto-check: notes
  • Account

    sonilo-ai/skills

    Check the Sonilo account's available services, rate limits, free-trial allowance, and usage/billing history.

    115 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check: notes
  • Audio Ducking

    sonilo-ai/skills

    Duck a music bed under a voice track using Sonilo — automatically lowers the music wherever the voice speaks and lifts it back in the gaps.

    115 GitHub starsUsed in 1 repo~1.8k tokens
    Auto-check: notes
  • Auto Dubbing

    sonilo-ai/skills

    Dub a video into one or more other languages using Sonilo, translating and re-voicing the speech into a new video per language.

    115 GitHub starsUsed in 1 repo~4.5k tokens
    Auto-check: notes
  • Proofread

    sonilo-ai/skills

    Transcribe a video with Sonilo and translate the transcript into editable .srt files — one per target language, plus the detected source language — so the wording can be read and corrected before…

    115 GitHub starsUsed in 1 repo~4.3k tokens
    Auto-check: notes
  • Task Recovery

    sonilo-ai/skills

    Recover the result of a timed-out Sonilo generation call using its taskid.

    115 GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check: notes

Questions about Setup API Key

What does Setup API Key do?

Guides users through connecting to Sonilo — signing in with sonilo login (OAuth, no key), the remote OAuth plugin for Claude Code or Muse Code, or an API key for CI and headless use. Setup API Key is an agent skill from sonilo-ai/skills. Guides users through connecting to Sonilo — signing in with sonilo login (OAuth, no key), the remote OAuth plugin for Claude Code or Muse Code, or an API key for CI and headless use.

When should I use Setup API Key?

Setup API Key fits situations like: the user needs to configure Sonilo; wants to sign in; connect their Sonilo account; sonilo tools are missing.

How do I install Setup API Key in Claude Code?

Run `npx skills add sonilo-ai/skills --skill setup-api-key -a claude-code`. Or copy the skill folder (setup-api-key in sonilo-ai/skills) into .claude/skills/setup-api-key in your project. Claude Code loads it when a task matches its description.

How do I install Setup API Key in Codex?

Run `npx skills add sonilo-ai/skills --skill setup-api-key -a codex`. Or copy the skill folder (setup-api-key in sonilo-ai/skills) into .agents/skills/setup-api-key in your project. Codex loads it when a task matches its description.

Can I use Setup API Key in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sonilo-ai/skills --skill setup-api-key -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup-api-key, .gemini/skills/setup-api-key, .github/skills/setup-api-key and .opencode/skills/setup-api-key in your project.

What does Setup API Key need to run?

Going by SKILL.md and its folder, Setup API Key needs the command-line tools its instructions call (claude, pip, npm, brew, pipx and winget) and credentials named SONILO_API_KEY. Our summary lists: Python 3; Node.js; A credential in SONILO_API_KEY. Compatibility (from SKILL.md): Requires internet access to platform.sonilo.com and api.sonilo.com. Exact requirement depends on the chosen path — a CLI install plus a browser for `sonilo login`, `claude mcp add`/`/plugin install` for MCP, or just `pip`/`npm` for the SDKs..

Does Setup API Key access the network?

SKILL.md names 3 domains. In commands or code: api.sonilo.com; the agent is likely to contact it when it follows the instructions. As links in the text: platform.sonilo.com and docs.astral.sh. This is read from the text; nothing was executed.

Is Setup API Key safe to install?

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. Review the folder before installing.

What licence does Setup API Key use?

Setup API Key is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Setup API Key use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Setup API Key?

Skills that share tags, products or a category with Setup API Key: Xquik MCP (Xquik-dev/x-twitter-scraper, 209 stars), Entra Agent Id (microsoft/GitHub-Copilot-for-Azure, 255 stars), OneCLI Gateway (nanocoai/nanoclaw, 31k stars) and Neo4j Aura Agent Skill (neo4j-contrib/neo4j-skills, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Setup API Key?

sonilo-ai (a GitHub organization) maintains it in sonilo-ai/skills, which has 115 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 30, 2026.

Source: sonilo-ai/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.