Skip to content
Content
Skill

/promo-reviewer

Reviews and iterates on social media copy in album promo/ files. Use after populating promo templates and before release to polish platform-specific posts.

From plugin
bitwize-music
64853 skills1 hook1 MCP

Claude Code

$ npx -y skills add bitwize-music-studio/claude-ai-music-skills --skill promo-reviewer --agent claude-code

SKILL.md

promo-reviewer.SKILL.md
name: promo-reviewer
description: Reviews and iterates on social media copy in album promo/ files. Use after populating promo templates and before release to polish platform-specific posts.
argument-hint: <album-name> [platform]
model: sonnet
effort: medium
allowed-tools:
  - Read
  - Edit
  - Glob
  - Grep
  - bitwize-music-mcp

Promo Reviewer Skill

Interactive review and polish of social media copy in album `promo/` files. Walk through each post, approve or revise, and write polished results back to the file.

Purpose

After promo templates are populated with platform-specific copy, this skill provides structured review before release. Each post is presented with character counts, hashtag counts, and platform limit compliance. The user chooses actions (approve, revise, shorten, punch up, etc.) and polished copy is written back.

When to Use

  • After `/bitwize-music:promo-writer` generates initial copy
  • After populating promo/ templates (manually or during release prep)
  • Before release — final polish pass on social media copy
  • User says "review promo copy" or "polish the twitter posts for [album]"
  • When promo copy exists but hasn't been reviewed

Position in Workflow

Promo Videos (optional) → [Promo Writer] (or manual) → **[Promo Review]** → Release

Between populating promo templates and release-director.

Supporting Files

  • **[platform-rules.md](platform-rules.md)** — Per-platform character limits, hashtag rules, tone guidelines

---

Workflow

1. Album Resolution

**Resolve the album from arguments:**

Use MCP `find_album` with the album name from `$ARGUMENTS`. If no album specified, check `get_session` for last album context.

**Locate promo directory:**

{content_root}/artists/{artist}/albums/{genre}/{album}/promo/

**Check which promo files exist and have content:**

Glob for `promo/*.md` in the album directory. For each file, check if it contains populated content (not just template placeholders). A file is "populated" if it contains text beyond the template markers — look for content inside code blocks that isn't `[placeholder text]`.

**Report status:**

## Promo Copy Status

| Platform | File | Status |
|----------|------|--------|
| Campaign | campaign.md | Populated |
| Twitter/X | twitter.md | Populated |
| Instagram | instagram.md | Template only |
| TikTok | tiktok.md | Not found |
| Facebook | facebook.md | Populated |
| YouTube | youtube.md | Template only |

3 of 6 platforms have copy ready for review.

If no promo files are populated:

No promo copy found to review.

Options:
1. Generate promo copy: /bitwize-music:promo-writer <album-name>
2. Populate promo templates manually (fill in promo/ files)
3. Skip promo review and proceed to release

2. Platform Selection

**If platform specified in arguments**, review only that platform.

**Otherwise, ask:**

Which platforms to review?

[A] All populated platforms (campaign, twitter, facebook)
[1] Campaign strategy
[2] Twitter/X posts
[3] Facebook posts

List only populated platforms as numbered options.

3. Section Parsing

For each selected platform file:

1. **Read the full file** using the Read tool 2. **Split at heading boundaries** — `##` and `###` headings delineate sections 3. **Extract code blocks** — content inside ``` fences is the actual post copy 4. **Identify reviewable sections** — sections with code blocks containing non-placeholder text 5. **Count metrics** for each post:

  • Character count (hashtags count toward the limit on all platforms)
  • Hashtag count
  • Line count
  • Platform limit compliance (from platform-rules.md)

6. **Thread detection** — if a code block contains numbered tweets (1/, 2/, 3/), split into individual tweets and review each separately with per-tweet char counts

4. Per-Post Review Loop

For each reviewable section, present the post with context:

## Twitter/X — Track 01: Track Title
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Track one tells the story of [concept].

Listen now: [link]

#NewMusic #HipHop

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Chars: 87/280 | Hashtags: 2 | Status: Within limits
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Actions:
  [A] Approve — keep as-is
  [R] Revise — give feedback for rewrite
  [S] Shorten — make more concise
  [P] Punch up — make more engaging/attention-grabbing
  [H] Add hashtags — suggest relevant hashtags
  [T] Rewrite tone — specify tone (casual, professional, hype, etc.)
  [K] Skip — move to next without changes

**After any revision action (R, S, P, H, T):**

1. Generate the revised version 2. Present it with updated metrics 3. Offer follow-up:

Revised version:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[revised copy here]

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Chars: 142/280 | Hashtags: 3 | Status: Within limits
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  [A] Approve this version
  [R] Revise again — more feedback
  [D] Discard — revert to original

5. Campaign.md Special Handling

Campaign files contain strategy tables and messaging, not code-block posts. Adjust the review approach:

  • **Present each section** (Overview, Key Messages, Schedule, etc.) as a reviewable unit
  • **Replace "Punch up"** with **"[M] Strengthen messaging"** — tighten the strategic language
  • **Skip character limits** — campaign docs have no platform limits
  • **Focus on**: clarity, consistency with album themes, actionable schedule entries, complete metadata fields

6. Write-Back

After all sections for a platform are reviewed:

1. **Reconstruct the file** with approved/revised content in place 2. **Use the Edit tool** to apply changes to the promo file 3. **Confirm write:**

Updated twitter.md — 4 posts revised, 2 approved as-is, 1 skipped

Only write back if at least one section was revised. If all sections were approved as-is or skipped, skip the write step.

7. Progress Tracking

Between platforms, show a running summary:

## Review Progress

| Platform | Ap
Read more
@bitwize-music-studio
Ships withbitwize-music

I love music but never learned an instrument. AI became the creative outlet that was always out of reach. This project started as a way to go deep on Claude Code plugin architecture, agentic workflows, multi-model orchestration, and MCP tooling.

64853 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
648
Star history of bitwize-music-studio/claude-ai-music-skills on GitHub, a chart by star-history.com

Other skills on bitwize-music.

More skills from other plugins.

prompt-lookup

prompt-lookup

Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use…

@gh-f@gh-fInstall Skill
ppt-master

ppt-master

AI-driven presentation workflow for generating editable PPTX decks and slides, reconstructing page visuals, creating reusable…

@hugohe3@hugohe3Install Skill
morph-ppt

morph-ppt

Use this skill when the user wants a .pptx with smooth cross-slide animation — PowerPoint Morph transitions, Keynote-style…

officecli11d33k
@iofficeai@iofficeaiInstall Skill

Questions about promo-reviewer.

Which coding agents can use promo-reviewer?
promo-reviewer installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.