Imported from recoupable/skills (
skills/recoup-roster-onboard/SKILL.md). Install upstream withnpx skills add recoupable/skills --skill recoup-roster-onboard. Copyright stays with the author.
Recoup — Onboard Roster
Bootstrap a brand-new/empty org: turn a list of artist names into a fully created + enriched roster by
fanning recoup-roster-add-artist out across parallel subagents. The empty-org entry point that
recoup-platform-build-os hands off to.
Procedure
- Read the current authenticated scope and roster. Via
recoup-platform-api-access, use the already selected account and organization and readGET /artists?org_id=…. A fresh bootstrap starts with an empty roster; an unrelated populated roster belongs withrecoup-roster-add-artistorrecoup-platform-build-os. A partial run may already have artists: load its saved plan and reconcile only those confirmed identities instead of treating it as a fresh bootstrap. - Refuse throwaway accounts. Use the already resolved authenticated account ID and its profile
(
GET /accounts/{accountId}) to check the account email. If it is anagent+throwaway account, stop and obtain the intended account connection before creating artists./accounts/idsupplies the account ID, not the email; do not probe an unknown credential to create an identity. - Get the roster to create. Either:
- the user supplies names (or a pasted / CSV list) — use those; or
- they want A&R help — run
recoup-research-find-talentto propose candidates, then confirm the final list with the user before creating anything (creation changes the live account; later enrichment can require credits).
- Verify, then fan out (parallel subagents). Each confirmed artist runs
recoup-roster-add-artist: verified Spotify identity -> canonical resolve/attach in the requested organization -> research/catalog/social enrichment. Ambiguous identities stop for selection; manual/name-only onboarding requires an explicit separate choice. Keep batches bounded (≈5–8 at a time) and pass only that artist's saved identity/checklist plus the exact org/auth context. Reuse a visible exact Spotify/account-ID match; a matching name alone does not establish identity. EachRECOUP.mdretains verified Spotify ID, organization, returned artist account ID, actual200reused /201created outcome and unfinished steps. - Reconcile partial results before another write. Read the scoped roster and compare each
saved exact identity and returned account ID.
idandaccount_idare the same artist account ID. Continue unfinished enrichment on confirmed matches. Preserve uncertain outcomes when a response was lost; do not invent created/reused from a later read. Authorization, conflict or persistence failures never trigger name-only creation or a different Spotify match. A denied, missing or ambiguous result stays unresolved until access/scope/identity is reviewed. - Hand back. Return to
recoup-platform-build-osto scaffold / refresh the workspace around the now-populated roster.
Guardrails
- API-first — never
mkdira roster. Each artist is created throughrecoup-roster-add-artist(which goes through the Recoup API); folders follow from the API result. - Confirm the roster before creating. Artist creation writes to the live account; enrichment may need credits. No silent bulk-create.
- Resume by identity. Reconcile saved Spotify/workspace/account IDs before another mutation; do not skip or create by name alone, or blindly replay a failed batch.
- One artist per subagent. Keeps each chain resumable and isolates failures.
