By spotify
Manage Spotify ad campaigns through natural language conversation — create, update, clone, pause, and report on campaigns, ad sets, and ads via the Spotify Ads API. Includes OAuth setup, CSV export, campaign health monitoring, and a security layer that blocks dangerous shell commands.
Manage Spotify Ads API ad sets and ads — list, create, get, or update.
This skill should be used when the user asks to "call the Spotify Ads API", "create a Spotify ad campaign", "manage Spotify ads", "pull Spotify ad reports", "set up ad sets or ads", "upload ad assets", "target audiences on Spotify", "check campaign status", "get ad account info", "look up API schema or fields", "check what targeting options exist", or asks about Spotify advertising endpoints, request/response formats, enum values, or authentication.
Upload, list, and manage Spotify Ads API creative assets — audio, video, and images for ad campaigns.
Create a full campaign (campaign + ad sets + ads) from a plain-text description. Parses natural language into structured API calls.
Apply batch operations to multiple Spotify Ads API entities — pause or resume ad sets, update budgets, toggle ad delivery, swap creatives, or archive campaigns, ad sets, and ads.
Executes bash commands
Hook triggers when Bash tool is used
Uses power tools
Uses Bash, Write, or Edit tools
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A Codex, Claude Code, and Gemini CLI plugin package that lets you manage Spotify advertising campaigns through natural language. Create campaigns, target audiences, launch ads, and pull performance reports — all by describing what you want in plain English.
Check out our post on the Spotify Engineering Blog.
claude plugin i spotify-ads-api
Add the Spotify Ads API plugin marketplace:
codex plugin marketplace add spotify/ads-agentic-tools
Restart Codex after adding the marketplace. Then open the plugin directory in the Codex app, or run codex and enter /plugins in the CLI. Select the added marketplace and install/enable Spotify Ads API.
Use codex plugin marketplace upgrade later to refresh installed marketplace sources.
gemini extensions install https://github.com/spotify/ads-agentic-tools
Restart Gemini CLI, then verify with /extensions. On Gemini, skills activate automatically from natural language (or browse them with /skills list); run /configure for first-time setup instead of /spotify-ads-api:configure. Note: automatic OAuth token refresh uses the macOS Keychain, so auto-refresh is macOS-only.
Use a source checkout for local development or testing unreleased changes.
Clone the repository:
git clone https://github.com/spotify/ads-agentic-tools.git
cd ads-agentic-tools
For Codex, register the checkout as a local marketplace:
codex plugin marketplace add "$(pwd)"
Restart Codex after adding the marketplace. Then open the plugin directory in the Codex app, or run codex and enter /plugins in the CLI. Select the local marketplace and install/enable Spotify Ads API.
For Claude Code, launch with the plugin directory:
claude --plugin-dir "$(pwd)"
The Claude --plugin-dir flag loads the plugin for that session only. You can also add it to a shell alias if you use it frequently:
alias claude-ads='claude --plugin-dir /path/to/ads-agentic-tools'
For Gemini CLI, link the checkout as a local extension:
gemini extensions link "$(pwd)"
The link is a symlink, so source changes are picked up on the next Gemini CLI restart.
The repository includes platform-specific marketplace metadata: .agents/plugins/marketplace.json for Codex and .claude-plugin/marketplace.json for Claude Code. Gemini CLI has no marketplace file — it installs directly from the repository using the root gemini-extension.json manifest. Keep all three manifests in sync when changing plugin metadata.
Set up the redirect URI in Spotify Developer Dashboard:
http://127.0.0.1:8080/callbackConfigure OAuth credentials:
/spotify-ads-api:configure
(On Gemini CLI, run /configure instead — the skill names below all apply, but the slash-command prefix is Claude Code/Codex syntax.)
This opens your browser for Spotify authorization, then saves your tokens locally with automatic refresh.
Create your first campaign:
/spotify-ads-api:build-campaign Create an audio campaign called Summer Promo targeting US listeners aged 25-44 with $100/day budget
The plugin supports three authentication modes:
Run /spotify-ads-api:configure or /spotify-ads-api:configure oauth. This launches an automated OAuth flow using a local Python script. Your tokens are stored locally and refresh automatically before API calls.
Run /spotify-ads-api:configure manual if Python is not available. You'll manually open the authorization URL, copy the redirect, and the plugin exchanges the code for tokens via curl.
Run /spotify-ads-api:configure token <your-token>. Accepts a pre-obtained access token. No automatic refresh — token expires in ~1 hour.
Create polished audio episodes with TTS narration, rich timelines, cover images, and save them to Spotify via the save-to-spotify CLI.
Access Confidence feature flags, experiments, and migration tools directly from Claude Code.
npx claudepluginhub spotify/ads-agentic-tools --plugin spotify-ads-apiEfficient skill management system with progressive discovery — 410+ production-ready skills across 33+ domains
Harness-native ECC plugin for engineering teams - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, MCP conventions, and operator workflows for Claude Code plus adjacent agent harnesses
Complete collection of battle-tested Claude Code configs from an Anthropic hackathon winner - agents, skills, hooks, and rules evolved over 10+ months of intensive daily use