recoup-release-pack
Produces a structured marketing brief for an upcoming track or album release — 3 visualizer concept directions, 5 content angles, ranked playlist targets, hooks per platform, and a narrative thread. Use when asked "release pack for {release}", "prep {release}", "marketing for {release}", "what should I do for {release}", "rollout plan for {release}", or "pre-release brief for {release}". The output is structured INPUT the user can hand to any downstream creative process — not finished assets. The skill refuses to invent details about the release (sound, lyrics, themes) and will ask the user for them when missing.
What this skill does
# Release Pack
A pre-release marketing brief. The skill exists because generic AI-generated
marketing copy is slop, and an LLM asked for "marketing ideas" with no
grounding will always produce slop. This skill produces **structured input**
that's grounded in real audience data and the user's stated creative direction
— not finished marketing assets.
The output is the scaffold: visualizer directions, content angles, playlist
targets, narrative thread. The user renders those into actual videos, copy,
and creative through whatever pipeline they have.
## When to use
- "Release pack for {release name}"
- "Prep {release}" / "Rollout plan for {release}"
- "Marketing for {release}" / "What should I do for {release}"
- "Pre-release brief for {release}" / "Marketing pack for {release}"
For ongoing weekly artist tracking, use `recoup-weekly-brief`. For one-shot
artist research with no release context, use `recoup-artist-research`.
## Setup
```bash
export RECOUP_API_KEY="recoup_sk_..."
export RECOUP_API="https://api.recoupable.com/api"
```
## What you need from the user (refuse to proceed without it)
A release pack requires **release-specific facts** the API does not have. Before
fetching anything, confirm with the user:
1. **Artist** (workspace slug or provider artist ID)
2. **Release name** (track or album title)
3. **Release date** (or "TBD" if not set — still useful)
4. **Release type** (single, EP, album, deluxe, remix, collab, soundtrack)
5. **One-line creative direction** — vibe / themes / inspirations / collaborators
6. **What asset gaps exist** — e.g., "no music video yet", "no cover art lock",
"we have stems but no remix plan"
If any of #2, #3, #5 are missing, **ask** — don't invent. A release pack about
a release the agent has no concrete information about is exactly the slop this
skill is meant to prevent.
## Workflow
### 1. Confirm release facts (above)
Ask once, get the 6 inputs, proceed. Do not loop on this.
### 2. Pull artist context (in parallel)
```bash
# Audience demographics — drives platform mix
curl -s "$RECOUP_API/research/audience?artist={ARTIST}&platform=tiktok" \
-H "x-api-key: $RECOUP_API_KEY" &
curl -s "$RECOUP_API/research/audience?artist={ARTIST}&platform=instagram" \
-H "x-api-key: $RECOUP_API_KEY" &
# YouTube audience — extra geographic/demo signal
curl -s "$RECOUP_API/research/audience?artist={ARTIST}&platform=youtube" \
-H "x-api-key: $RECOUP_API_KEY" &
# Similar artists — drives playlist targets + collab/feature ideas
curl -s "$RECOUP_API/research/similar?artist={ARTIST}&audience=high&genre=high&limit=20" \
-H "x-api-key: $RECOUP_API_KEY" &
# Current playlist position — drives gap analysis for new pitches
curl -s "$RECOUP_API/research/playlists?artist={ARTIST}&status=current" \
-H "x-api-key: $RECOUP_API_KEY" &
wait
```
Geography comes from the country breakdown in `/research/audience` (the
`cities` endpoint was removed). For venue/festival/touring detail, add a
`POST /research/web` query.
### 3. (Optional) Track lookup if the release is already in the provider
If the release is already ingested, resolve its provider track ID and pull
detail:
```bash
curl -s "$RECOUP_API/research?q={RELEASE_NAME}&type=tracks" \
-H "x-api-key: $RECOUP_API_KEY" # get track id
curl -s "$RECOUP_API/research/track?id={track_id}" \
-H "x-api-key: $RECOUP_API_KEY"
```
For most pre-release packs, the track isn't ingested yet — skip this step.
### 4. Synthesize the pack
Write to `artists/{slug}/releases/{release-slug}/pack-$(date +%F).md`.
The `{release-slug}` is the kebab-case release title.
Template:
```markdown
# Release Pack — {Artist} — *{Release Name}*
**Type:** {single|EP|album|...} | **Release date:** {YYYY-MM-DD or "TBD"} | **Generated:** {YYYY-MM-DD}
## Creative direction (from user)
{The 1-line creative direction the user gave verbatim. This is the source of truth.
Everything below is in service of THIS direction.}
## Narrative thread
{2–4 sentences. The cohesive story for the rollout. What's the one thing
listeners should remember after the campaign. Anchored in the creative direction,
not invented.}
## 3 visualizer concept directions
### Direction A — {short name, e.g., "Mood Piece"}
- **Concept (2 sentences):** ...
- **Visual references:** {3–5 reference touchpoints — artists, films, eras}
- **Production bar:** {low / med / high — be honest about what this needs}
- **Why this for {Artist}:** {tie to audience data — TT skew, geo, similar-artist visual language}
### Direction B — {short name, e.g., "Narrative"}
{Same structure}
### Direction C — {short name, e.g., "Archive / Lo-Fi"}
{Same structure}
## 5 content angles
Each angle is a *premise for a content series*, not a single post. Each should
be sustainable across 4–8 pieces of content.
| # | Angle | Why it works for THIS release | First 3 piece ideas |
|---|---|---|---|
| 1 | {name} | {tie to audience + creative direction} | {3 concrete posts} |
| 2 | ... | ... | ... |
| ... | ... | ... | ... |
## Platform hooks
| Platform | Audience signal | Hook approach |
|---|---|---|
| TikTok | {top age/gender/geo from audience endpoint} | {1–2 hook formats matched to that audience} |
| IG Reels | {top age/gender/geo from audience endpoint} | {1–2 hook formats} |
| YouTube Shorts | {if data available} | {hook format} |
| Twitter/X | {if relevant for this artist's lane} | {hook format} |
## Playlist targets (ranked)
| Playlist | Followers | Why this fits | Warm path? |
|---|---|---|---|
| {top from similar artists' placements that this artist isn't on} | {followers_total} | ... | {yes/no/unknown} |
| ... | ... | ... | ... |
Source the targets from `/research/playlists` cross-referenced against
`/research/similar` — playlists where peers sit and this artist doesn't.
## Geographic rollout
Top markets for the artist (country breakdown from `/research/audience`, cross-
platform):
1. {country, % of audience, which platform}
2. ...
3. ...
Rollout implications: {1–2 sentences on which markets to weight, e.g., "Geo-pinned
content for the top 3 countries; physical events viable in the strongest market
if budget allows." For city-level or venue detail, run a `/research/web` query.}
## Open creative decisions (for the user to resolve)
- {gap from input #6, or surfaced from analysis}
- ...
## What this pack is NOT
This is structured input for downstream creative work. It is not:
- Final copy
- Finished video scripts
- Approved playlist pitch emails (use `recoup-playlist-intelligence` for that)
- Cover art or visualizer assets
Take the directions above into whatever creative pipeline you use, and produce
the assets.
---
*Generated {ISO timestamp}. Re-run with `/recoup-release-pack {release-slug}`.*
```
### 5. Print a short chat summary
3–5 sentences: the creative direction restated, the 3 visualizer direction
names, and the top 3 content angle names. So the user can decide whether to
open the file.
## What this skill refuses to do
- **No inventing the release.** If the user can't tell us what the release
sounds like or what it's about in one line, this skill stops. A release pack
for a release the agent has no creative knowledge of will produce slop —
refuse instead.
- **No fake playlist names.** Playlist targets come from `/research/playlists`
+ `/research/similar`. If no good targets surface, the section says so.
- **No copy generation.** This is a brief, not assets.
- **No hallucinated audience numbers.** If `/research/audience` returns thin
data for the platform, the platform hooks section says "thin audience data —
weight by similar-artist behavior instead."
## Audience-driven hooks
The platform hooks section is the most-likely-to-go-slop part. To prevent that,
anchor every hook in a concrete audience data point:
❌ "TikTok hook: relatable Gen Z humor about heartbreak"
✅ "TikTok hook: top audience is F 18–24 in NYC + LA (37% of artist's TT
audience). Hook format that's worked for similaRelated in Image & Video
watch
IncludedWatch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.
physical-ai-defect-image-generation
IncludedUse when the user wants to orchestrate defect image generation, run associated setup, or handle outputs on OSMO. The Day 0 path handles cold-start with USD-to-ROI, image-edit augmentation, and AnomalyGen to create initial PCBA datasets. The Day 1 path performs inference and labeling on real images. This skill helps with first-time asset setup, creation of finetuning checkpoints, and configuring deployment. Trigger keywords: defect image generation, dig workflow, dig pipeline, defect image detection workflow, aoi pipeline, aoi anomalygen, usd2roi anomalygen, day 0 pcba, day 1 pcba, day 1 real-photo alignment, day 1 manual roi, metal surface anomaly, glass defect, anomalygen finetune, setup_pcb, setup_metal, setup_glass, setup_pretrained, dig setup, dig datasets, dig pretrained checkpoint, dig image-edit endpoint.
accelint-react-best-practices
IncludedReact performance optimization and best practices. ALWAYS use this skill when working with any React code - writing components, hooks, JSX; refactoring; optimizing re-renders, memoization, state management; reviewing for performance; fixing hydration mismatches; debugging infinite re-renders, stale closures, input focus loss, animations restarting; preventing remounting; implementing transitions, lazy initialization, effect dependencies. Even simple React tasks benefit from these patterns. Covers React 19+ (useEffectEvent, Activity, ref props). Triggers - useEffect, useState, useMemo, useCallback, memo, inline components, nested components, components inside components, re-render, performance, hydration, SSR, Next.js, useDeferredValue, combined hooks.
elevenlabs-agents
IncludedBuild conversational AI voice agents with ElevenLabs Platform using React, JavaScript, React Native, or Swift SDKs. Configure agents, tools (client/server/MCP), RAG knowledge bases, multi-voice, and Scribe real-time STT. Use when: building voice chat interfaces, implementing AI phone agents with Twilio, configuring agent workflows or tools, adding RAG knowledge bases, testing with CLI "agents as code", or troubleshooting deprecated @11labs packages, Android audio cutoff, CSP violations, dynamic variables, or WebRTC config. Keywords: ElevenLabs Agents, ElevenLabs voice agents, AI voice agents, conversational AI, @elevenlabs/react, @elevenlabs/client, @elevenlabs/react-native, @elevenlabs/elevenlabs-js, @elevenlabs/agents-cli, elevenlabs SDK, voice AI, TTS, text-to-speech, ASR, speech recognition, turn-taking model, WebRTC voice, WebSocket voice, ElevenLabs conversation, agent system prompt, agent tools, agent knowledge base, RAG voice agents, multi-voice agents, pronunciation dictionary, voice speed control, elevenlabs scribe, @11labs deprecated, Android audio cutoff, CSP violation elevenlabs, dynamic variables elevenlabs, case-sensitive tool names, webhook authentication
humanizer
IncludedHumanize AI-generated text by detecting and removing patterns typical of LLM output. Rewrites text to sound natural, specific, and human. Uses 28 pattern detectors, 560+ AI vocabulary terms across 3 tiers, and statistical analysis (burstiness, type-token ratio, readability) for comprehensive detection. Use when asked to humanize text, de-AI writing, make content sound more natural/human, review writing for AI patterns, score text for AI detection, or improve AI-generated drafts. Covers content, language, style, communication, and filler categories.
generating-mermaid-diagrams
IncludedSalesforce architecture diagrams using Mermaid with ASCII fallback. Use this skill when generating text-based diagrams for Salesforce architecture, OAuth flows, ERDs, integration sequences, or Agentforce structure. TRIGGER when: user says "diagram", "visualize", "ERD", or asks for sequence diagrams, flowcharts, class diagrams, or architecture visualizations in Mermaid. DO NOT TRIGGER when: user wants PNG/SVG image output (use generating-visual-diagrams), or asks about non-Salesforce systems.