# recoup-roster-add-artist

The skill adds an artist to a Recoup roster: verifies Spotify identity, creates or attaches the profile in the chosen organization, then enriches it.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 4700 installs · ★ 9
- Author: recoupable
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/recoupable/skills/tree/HEAD/skills/recoup-roster-add-artist/SKILL.md
- Updated: 2026-10-25
- HTML: https://affpapa.org/en/nevibecode/skills/recoup-roster-add-artist

## What it does

The skill walks an artist through an eight-step chain and keeps state in `RECOUP.md`. Identity comes first: a Spotify URL or ID is verified and the exact 22-character, case-sensitive `spotify_artist_id` is captured. Ambiguous matches stop for selection. Then `POST /api/artists` goes out with the name, Spotify ID and `organization_id` — `200` means an existing canonical profile was reused, `201` means a new one was created. Status and returned ID are saved right away.

Enrichment follows: `GET /api/research/lookup` returns a research ID, profile, career and playlists are read, the Spotify catalog lands in `releases/{slug}/RELEASE.md` and `releases/top-tracks.md`, socials are found and written back with `PATCH /api/artists/{id}`, and a knowledge base section closes the run. Calls go through recoup-platform-api-access.

Manual onboarding is a separate path: only `{name, organization_id}` with mode `manual`. It does not link artists by matching name and does not create a professional-roster record, and it must not be used after a failed canonical request. One more thing worth knowing: a mutation is never retried automatically on a network failure or `5xx`, because it may have committed — reconcile the roster first. The examples in `scripts/onboarding_examples.sh` need Bash, jq and a configured `RECOUP_API_KEY` or `RECOUP_ACCESS_TOKEN`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add recoupable/skills --skill recoup-roster-add-artist -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/recoup-roster-add-artist/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/recoup-roster-add-artist/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add recoupable/skills --skill recoup-roster-add-artist -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/recoup-roster-add-artist/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add recoupable/skills --skill recoup-roster-add-artist -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/recoup-roster-add-artist/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install recoupable/skills recoup-roster-add-artist
```

2. **Manually: put the files in place**
- File: `.github/skills/recoup-roster-add-artist/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add recoupable/skills --skill recoup-roster-add-artist -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/recoupable/skills --path skills/recoup-roster-add-artist
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/recoup-roster-add-artist/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add recoupable/skills --skill recoup-roster-add-artist -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/recoupable/skills/tree/HEAD/skills/recoup-roster-add-artist/SKILL.md

## When to use it
- add a newly signed artist without creating a duplicate
- verify Spotify identity before the first write
- attach an artist to the right organization
- pull releases and top tracks into `releases/` files
- find an artist's socials and save them to the profile

## Example prompts
- add this artist to the roster: name and Spotify link
- we just signed a new artist, set them up
- onboard this artist manually, there is no Spotify profile

## Similar
- [connector-spotify](https://affpapa.org/en/nevibecode/skills/connector-spotify.md) — skill · 6500 installs
- [Spotify Automation](https://affpapa.org/en/nevibecode/skills/spotify-automation.md) — skill · 4600 installs
- [add-feishu](https://affpapa.org/en/nevibecode/skills/add-feishu.md) — skill · 454 installs
- [save-to-spotify](https://affpapa.org/en/nevibecode/plugins/save-to-spotify.md) — plugin · ★ 406
- [spotify-player](https://affpapa.org/en/nevibecode/skills/spotify-player.md) — skill · 5400 installs
- [sonoscli](https://affpapa.org/en/nevibecode/skills/sonoscli.md) — skill · 5300 installs

From the same set: [recoupable/skills](https://affpapa.org/en/nevibecode/by/recoupable/skills.md) — 3 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
