Imported from recoupable/skills (
skills/recoup-release-plan-rollout/SKILL.md). Install upstream withnpx skills add recoupable/skills --skill recoup-release-plan-rollout. Copyright stays with the author.
Recoup Release — Plan Rollout
The whole release lifecycle. plan runs the full workflow end to end; brief /
campaign / doc are the individual stages, runnable alone. Everything reads from and
writes to releases/{artist-slug}/{release-slug}/. The workspace schema is in
references/release-workspace.md (read it first); the scaffold is in
templates/release-workspace/. Deterministic helpers ship in scripts/
(build_campaign_timeline.py, validate_release.py). REST brief/targeting calls
require RECOUP_API_KEY; authenticated MCP alternatives use the host connection.
Planning and media production are distinct. For "create a release pack" or "content pack", use recoup-content-asset-pack. Do not present a schedule or brief as completed media. If the customer asks for a plan and a pack, carry the confirmed facts, creative direction and occasion into production without asking for the same context again. A catalog anniversary/reissue campaign date is not the recording's original release date; avoid new-release DSP deadlines when they do not apply. Connect through available MCP tools; do not treat a missing local API-key variable as proof that an authenticated host is disconnected.
Hosts without files or Python
Use the conversation and any authorized saved job/brief as the workspace when the host cannot create files or run scripts. Reuse supplied facts and produce the brief, phase-based plan and master release summary inline. Use an exposed calendar/date tool for exact date calculations; otherwise keep relative timing and label exact dated scheduling as unverified. Review completeness explicitly against the sections in the template; never claim the Python validator ran. Missing local scripts, folders or optional research are scoped gaps, not a reason to restart onboarding. For a combined plan-and-pack request, continue the pack with the same brief once its inputs are sufficient; unavailable planning extras do not block independently actionable media production. Do not claim a complete filesystem bundle or verified dated schedule when those checks could not run.
Mode: plan (the full workflow — don't stop between phases)
On hosts with files and Python, run every phase in order; do not stop to ask what's next. Stop only when the workspace is populated (brief + campaign + RELEASE.md exist) or a hard blocker hits.
- Intake + scaffold (≤30s). Confirm release facts in one prompt (artist, title,
type, date-or-TBD, goal, channels, one-line creative direction, asset gaps). Derive
slugs. Copy
templates/release-workspace/into the workspace and fillassumptions.yaml. - Creative brief → run brief mode; land in
brief/. - Dated campaign → compute dates deterministically:
python3 scripts/build_campaign_timeline.py --release-date {YYYY-MM-DD|TBD} --type {type}(returns every milestone + timing warnings like the ~28-day DSP editorial window), then run campaign mode; land incampaign/. - Master doc + deliverables → run doc mode; pull every fact from
assumptions.yaml+ the brief, never from memory. - Playlist targeting (chained) → call recoup-research-playlist-targets (targets +
gaps) and recoup-research-find-contacts (curator + drafted pitch — draft only); if
audience is thin, recoup-research-artist-overview (audience). Land in
targeting/. - Arm monitoring → note standing watches: recoup-release-track-drop (drop + launch alert) and recoup-research-weekly-brief (recurring + streaming spikes).
- Review + completion gate (do not skip). Run
python3 scripts/validate_release.py releases/{artist-slug}/{release-slug}— it must returnstatus: "ok"; fix anything inmissing[]and re-run, then dispatch the release-readiness-reviewer agent when available; otherwise perform that review explicitly. On hosts without those capabilities, use the explicit portable branch above.
End with the landing card: workspace path, "open first" list (RELEASE.md, brief/, campaign/, targeting/, reports/), an honest "what I did NOT do and why" bullet per gap, and next stages. Truthfulness over polish — never claim "ready" while a stage is missing.
Mode: brief (the creative brief)
Require artist, title, date-or-TBD, type, one-line creative direction, asset gaps
(ask once if missing). Pull in parallel (references/endpoints.md): audience
(TikTok+IG), similar, current playlists. Synthesize to brief/brief-$(date +%F).md:
creative direction (verbatim) · narrative thread · 3 visualizer directions ·
5 content angles · platform hooks (each anchored in a concrete audience number) ·
ranked playlist targets · geo rollout · open decisions. It's a plan, not assets — to
produce assets use the recoup-content-* skills. No invented audience numbers.
Mode: campaign (the dated rollout schedule)
Compute the timeline with scripts/build_campaign_timeline.py (never hand-do
release-date math), then turn it + the brief into a phase-by-phase plan (pre-release →
release-week → post-release) with channels, assets, owners, and exact dates counted
back from the release date. Land in campaign/. Flag timing risks.
Mode: doc (the master RELEASE.md + deliverables)
Create/maintain RELEASE.md as the single source of truth using
references/release-template.md + references/section-guide.md, then generate the
DSP pitch and press one-sheet into reports/ per references/deliverables.md. Pull
every fact from assumptions.yaml + the brief. Copy that needs the house voice →
recoup-content-write-caption. Never fabricate placements/press — blank + flag in §8.
Guardrails
- No mid-workflow stops in plan mode — run the next phase anyway.
- One continuing brief — use
releases/{artist-slug}/{release-slug}/where supported; otherwise conversation/job state. - Deterministic dates — use the script or a supported date tool; otherwise label dates unverified.
- Completion gate — files/Python: validator must say
ok; other hosts: explicitly review supported outputs and disclose unrun checks. - Never fabricate release facts, numbers, placements, or press — blank + flag.
References
references/release-workspace.md·references/endpoints.md·references/response-shapes.md·references/release-template.md·references/section-guide.md·references/deliverables.mdscripts/build_campaign_timeline.py·scripts/validate_release.py— ship alongside this skill; invoke relatively.
