agentCLAWHUBUnverified

Save To Spotify

Create polished audio content and save to Spotify. Produces episodes with TTS narration, a rich timeline (chapters plus in-player images, external links, and... Skill: Save To Spotify Owner: spotify Summary: Create polished audio content and save to Spotify. Produces episodes with TTS narration, a rich timeline (chapters plus in-player images, external links, and... Tags: latest:0.2.0 Version history: v0.2.0 | 2026-07-20T09:12:21.820Z | auto save-to-spotify v0.2.0 - Added comprehensive onboarding documentation and flow for first-time users ($1), enabling guided setup if the

OpenClaw

Rank

62

Safety

84

Downloads

1.4k

Updated

Oct 10, 2026

Version

0.2.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.4K downloadsadoption · observed Oct 10, 2026
Latest release
0.2.0release · observed Jul 20, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s178q1njn7prgvajksxt46zez58649bp:save-to-spotify
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-spotify-save-to-spotify/snapshot"

Documentation

CLAWHUB

146,108 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
id: save-to-spotify
name: save-to-spotify
description: Create polished audio content and save to Spotify. Produces episodes with TTS narration, a rich timeline (chapters plus in-player images, external links, and Spotify entity cards), and a cover image. Also use for raw media saves, show/episode management, and timeline navigation.
enabled: true
---

# Audio Content Production Skill

`save-to-spotify` saves audio files to the user's Spotify library. Anything they can play locally — lecture recordings, voice memos, conference talks, language lessons — they can save to Spotify and listen from any device.

Shows are folders for organizing saves.

You are a podcast and audio content production agent. You create polished audio episodes from a variety of sources and formats, produce them with a rich in-player timeline (chapters plus image, link, and Spotify entity companions that appear during playback in the Now Playing View), and save to Spotify.

This skill defines the **shared production pipeline** — core principles, the user interview checkpoint, and the execution checklist.

## Reference Directory

These files cover the detailed rules. Load the one you need — don't inline them.

- [references/cli-usage.md](references/cli-usage.md) — Binary install, auth, `upload`/`shows`/`episodes`/`timeline` commands, JSON mode, error handling, troubleshooting, and common end-to-end workflows
- [references/spotify-api.md](references/spotify-api.md) — Using `developer.spotify.com/llms.txt`, the Spotify Web API OpenAPI spec, and the CLI's token to resolve album / track / artist / playlist / show / episode names to `spotify:...` URIs for `spotify_entity` timeline companions
- [references/audio-providers.md](references/audio-providers.md) — TTS engine selection, voice config, ffmpeg assembly, silence generation, timeline timestamp calculation
- [references/cover-image.md](references/cover-image.md) — Cover image paths (user-provided, AI-generated, CDN artwork), typography rules, font & RTL, Pillow compositing recipe
- [references/timeline.md](references/timeline.md) — Timeline data model, validation rules, companion images (sourced / AI-generated / mixed / skip), including DALL-E / Stable Diffusion code and batch generation
- [references/episode-description.md](references/episode-description.md) — HTML description format, Python builder from `timeline.json`, formatting rules
- [references/content-quality.md](references/content-quality.md) — Editorial guidelines: voice, transitions, person context, depth control, visual description, pacing, self-critique

---

## Install

If `save-to-spotify` is not available on `PATH`, ask the user to confirm CLI installation first, then install it:

```shell
curl -fsSL https://saveto.spotify.com/install.sh | bash
```

On Windows, run this in **Git Bash** (ships with Git for Windows) — it installs `save-to-spotify.exe` to `~/.local/bin`. The unsigned .exe may trigger a SmartScreen prompt on first run; unblock with `Unblock-File

_meta.json

{
  "ownerId": "kn73w4eqhcyrcqet64x9rz87a184g2fx",
  "slug": "save-to-spotify",
  "version": "0.2.0",
  "publishedAt": 1784538741820
}

references/audio-providers.md

# Audio Providers & Assembly

Reference for generating speech and assembling audio files for saving via `save-to-spotify`. The user picks their own TTS engine and voice — this documents how to use each one.

Tell the user:

> The skill produces audio content that may be distributed via a streaming platform. 
> Every episode must be grounded in content you have the right to reproduce in this form.

## Production pipeline

Every episode walks the same steps. Recipes define what to write (sourcing, scripting, segment map). This reference covers generation and assembly.

1. Generate TTS audio per segment (one file each for exact chapter timing)
2. Generate silence files for transitions (300ms minimum between segments, 500ms+ between major shifts)
3. Concatenate all segments into a single MP3
4. Normalize volume levels
5. Calculate chapter timestamps from cumulative segment durations
6. Build `timeline.json` with chapters, Spotify entity companions, external link companions, and image companions (see [timeline.md](timeline.md))

**Accepted formats:** `.mp3`, `.m4a`, `.wav`, `.ogg` (max 1 GB). Default to `.mp3`. Convert anything else with ffmpeg before upload — see "Convert formats" below.

### Voice selection guide

- **Kokoro** (local, free): suggest the recipe's default voice first (the `Kokoro voice` row in [recipes.md](recipes.md)); full voice list in the Kokoro section below
- **ElevenLabs** (high quality, paid): Amelia, George, Bella
- **Edge TTS** (free, 300+ voices): `en-US-AriaNeural` (F), `en-US-GuyNeural` (M)
- **OpenAI TTS** (high quality, paid): `nova`, `alloy`, `echo`, `onyx`

### Multi-voice / bilingual segments

Default to one voice per episode, but when the content is bilingual, role-played, or otherwise needs multiple voices, use a part-based segment schema and a flattened render manifest.

Example source schema:

```json
{
  "segments": [
    {
      "title": "Swedish intro",
      "parts": [
        {"lang": "sv", "voice": "sv-SE-SofieNeural", "text": "Hej och valkommen."},
        {"lang": "en", "voice": "en-GB-LibbyNeural", "text": "Welcome back to the show."}
      ]
    }
  ]
}
```

Flatten that into a render manifest before synthesis:

```json
[
  {"segment_index": 0, "part_index": 0, "lang": "sv", "voice": "sv-SE-SofieNeural", "text": "Hej och valkommen.", "out": "seg_00_00.mp3"},
  {"segment_index": 0, "part_index": 1, "lang": "en", "voice": "en-GB-LibbyNeural", "text": "Welcome back to the show.", "out": "seg_00_01.mp3"}
]
```

Concatenate manifest outputs in order, then compute chapter timestamps from the flattened audio segments.

## Provider selection

Whenever offering Kokoro to the user, include its license — [Apache-2.0](https://raw.githubusercontent.com/hexgrad/kokoro/refs/heads/main/LICENSE) — as a clickable link in the **question text**, where markdown renders. Never put the link inside choice option labels: those render as plain text and the raw URL is unreadable.

When a content creation recipe is triggered and n

references/cli-usage.md

# Save to Spotify

## CLI Usage

Reference for the `save-to-spotify` binary: installation, authentication, commands, flags, JSON mode, error handling, and common agent workflows.

## Installation

### One-line install (recommended)

```shell
curl -fsSL https://saveto.spotify.com/install.sh | bash
```

Detects OS and architecture, downloads the binary from GitHub Releases, verifies the SHA256 checksum, and installs to `/usr/local/bin` (or `~/.local/bin` if not writable).

Pin a version or change the install directory:

```shell
# Specific version
curl -fsSL https://saveto.spotify.com/install.sh | bash -s -- --version 0.2.0

# Custom directory
curl -fsSL https://saveto.spotify.com/install.sh | bash -s -- --dir ~/.local/bin

# Via environment variables
SAVE_TO_SPOTIFY_VERSION=0.2.0 SAVE_TO_SPOTIFY_INSTALL_DIR=~/.local/bin \
  curl -fsSL https://saveto.spotify.com/install.sh | bash
```

### Download a binary manually

Grab the latest release for the platform from [releases](https://github.com/spotify/save-to-spotify/releases):

```shell
# macOS Apple Silicon
gh release download --repo spotify/save-to-spotify --pattern "save-to-spotify-darwin-arm64"
chmod +x save-to-spotify-darwin-arm64
sudo mv save-to-spotify-darwin-arm64 /usr/local/bin/save-to-spotify

# macOS Intel
gh release download --repo spotify/save-to-spotify --pattern "save-to-spotify-darwin-amd64"
chmod +x save-to-spotify-darwin-amd64
sudo mv save-to-spotify-darwin-amd64 /usr/local/bin/save-to-spotify

# Linux x86_64
gh release download --repo spotify/save-to-spotify --pattern "save-to-spotify-linux-amd64"
chmod +x save-to-spotify-linux-amd64
sudo mv save-to-spotify-linux-amd64 /usr/local/bin/save-to-spotify
```

### Build from source

Requires Go 1.21+.

```shell
git clone https://github.com/spotify/save-to-spotify.git && cd save-to-spotify
go build -ldflags "-X github.com/spotify/save-to-spotify/cmd.commit=$(git rev-parse --short HEAD)" \
  -o save-to-spotify .
sudo mv save-to-spotify /usr/local/bin/
```

Verify installation:

```shell
save-to-spotify version
```

## First-run setup

After installation, run the guided setup to authenticate and detect TTS engines:

```shell
save-to-spotify setup
```

This handles auth + TTS detection in one pass. It auto-detects headless environments and uses the appropriate auth flow. After setup, verify everything is ready:

```shell
save-to-spotify doctor
```

Reports binary, auth, TTS engines, and ffmpeg status. In JSON mode (`--json`), returns a structured report for agents to use as a preflight check.

## TTS engine management

The CLI detects and manages TTS engines used for audio generation:

```shell
# Check which engines are available
save-to-spotify tts status

# Install Kokoro (free, local, no API key)
save-to-spotify tts setup

# Install or configure a specific engine
save-to-spotify tts setup --engine openai

# List voices for an engine
save-to-spotify tts voices --engine kokoro

# Test a voice with a sample phrase
save-to-spotify tts test --

references/content-quality.md

# Content Quality & Editorial Guidelines

Reference for writing scripts that sound good when spoken aloud. Applies to all content recipes. Audio content has different constraints than written content — these guidelines encode production learnings from hundreds of generated episodes.

## The golden rule: write for the ear

Text is forgiving. Readers can re-read a sentence, scan ahead, or slow down. Audio is linear and unforgiving — if the listener misses something, it's gone. Every line must land on first hearing.

## Voice and tone

### Match voice to format

| Format | Voice | Energy |
|--------|-------|--------|
| Factual summary | Sharp analyst | Confident, declarative, varied energy per segment |
| Travel guide | Well-traveled friend | Conversational, specific, enthusiastic but honest |
| Explainer | Patient teacher | Clear, builds from simple to complex |
| Daily briefing | Briefing companion | Brisk, clear, energetic |
| Language lesson | Encouraging tutor | Patient, repetitive, affirming |

### Universal voice principles

- **Declarative beats tentative.** "This matters because..." not "This could potentially be interesting..."
- **Concrete beats abstract.** "They're trying to lock in developers" not "they're enhancing ecosystem engagement"
- **Short beats long.** Mix short punchy sentences with longer analytical ones. Never more than two long sentences in a row
- **Active beats passive.** "Sweden cut Chinese research ties" not "Chinese research ties were cut by Sweden"
- **Specific beats vague.** "Expect to pay 15 euros for a main course" not "food is reasonably priced"

## Transitions between segments

This is the single most important audio production skill. **Listeners cannot see segment boundaries.** Without clear verbal signals, segments blur together into mush.

Every segment must open with a clear transition. Vary these — using the same transition every time is as bad as having none:

- **Subject lead:** "Keychron just open-sourced their hardware..." / "The housing market is shifting..."
- **Framing hooks:** "This is huge." / "Here's what caught my eye." / "Quick note:"
- **Topic shifts:** "On the security side..." / "Turning to the economy..."
- **Related bridges:** "That same dynamic is playing out in..."
- **Simple transitions:** "Moving on." / "Meanwhile..." / "Next up..."
- **Travel transitions:** "From there, head south to..." / "After lunch, the plan takes you to..."
- **Time markers:** "Back in 1927..." / "Fast forward to today..."

## Person context

When introducing someone by name, briefly explain WHO they are. Listeners don't have hyperlinks — they can't look someone up mid-sentence.

- "Marie Curie, the first person to win Nobel Prizes in two sciences..."
- "Ada Lovelace, the 19th-century mathematician often called the first computer programmer..."
- "John Constable, one of England's greatest landscape painters..."

One clause, not a bio. If the person isn't well-known, anchor them to something the listener knows, but 
Github ReposUpdated 19h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/spotify/skills/save-to-spotify",
      "sourceUrl": "https://clawhub.ai/spotify/skills/save-to-spotify",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T11:58:02.991Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-spotify-save-to-spotify/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-spotify-save-to-spotify/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T11:58:02.991Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.4K downloads",
      "href": "https://clawhub.ai/spotify/save-to-spotify",
      "sourceUrl": "https://clawhub.ai/spotify/save-to-spotify",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T11:58:02.991Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "0.2.0",
      "href": "https://clawhub.ai/spotify/save-to-spotify",
      "sourceUrl": "https://clawhub.ai/spotify/save-to-spotify",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-20T09:12:21.820Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-spotify-save-to-spotify/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-spotify-save-to-spotify/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 0.2.0",
      "description": "## save-to-spotify v0.2.0 - Added comprehensive onboarding documentation and flow for first-time users ([references/onboarding.md](references/onboarding.md)), enabling guided setup if the user is new or requests onboarding, regardless of existing shows. - Introduced [references/local-preview.md](references/local-preview.md), covering previewing and validating episodes before upload. - Included [references/recipes.md](references/recipes.md) detailing voice and pipeline defaults by content type. - Updated the user interview: streamlined to only ask what is missing, with sensible defaults for language, length, voice, cover image, and companion images. - Expanded installation instructions with clearer Windows support and SmartScreen details. - Removed outdated skill-card documentation; reorganized and updated references for clarity and maintainability.",
      "href": "https://clawhub.ai/spotify/save-to-spotify",
      "sourceUrl": "https://clawhub.ai/spotify/save-to-spotify",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-07-20T09:12:21.820Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to Save To Spotify and adjacent AI workflows.