Skip to content
Agentmart
Submit a tool

promo-writer

Generates platform-specific social media copy from album themes, track concepts, and lyrics.

Skill by bitwize-music-studio

IndexedCC0-1.0★ 585
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/bitwize-music-studio-promo-writer

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Generates platform-specific social media copy from album themes, track concepts, and lyrics. Use when promo/ templates need to be populated before release.

Use cases: writing, marketing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/promo-writer

What's inside

Skill name
promo-writer
Description
Generates platform-specific social media copy from album themes, track concepts, and lyrics. Use when promo/ templates need to be populated before release.
License
CC0-1.0
Instructions
317 lines in SKILL.md · view on GitHub

Agent Skills spec issues

  • allowed-tools: must be a space-separated string

Files (2)

  • SKILL.md
  • copy-formulas.md

SKILL.md (first lines)

# Promo Writer Skill

Generate social media copy for album promotion across Twitter/X, Instagram, TikTok, Facebook, and YouTube. Produces native-feeling content for each platform from album context — themes, track concepts, and streaming lyrics.

## Purpose

Populate the `promo/` directory with platform-specific copy ready for review. Each platform gets content shaped to its format, tone, and conventions — not the same text cross-posted everywhere.

## When to Use

- After track concepts and lyrics are written (need material to pull from)
- Before release — generate copy to fill promo/ templates
- User says "write promo copy", "create social media posts", or "fill in the promo templates"
- When promo/ files exist but are still template placeholders

## Position in Workflow

```
Lyrics Written → Promo Videos (optional) → **[Promo Writer]** → [Promo Review] → Release
```

Between content completion and promo-reviewer. The promo-reviewer polishes what this skill generates.

## Supporting Files

- **[copy-formulas.md](copy-formulas.md)** — Hook formulas, CTA templates, post structures, hashtag recipes
- **[/reference/promotion/social-media-best-practices.md](/reference/promotion/social-media-best-practices.md)** — Platform strategy and content guidance
- **[/skills/promo-reviewer/platform-rules.md](/skills/promo-reviewer/platform-rules.md)** — Character limits and hashtag rules

---

## 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.

**Verify readiness:**
- Album must have track concepts written
- At least some tracks should have streaming lyrics (for quotable hooks)
- If no streaming lyrics exist, warn: "No streaming lyrics found — using track concepts only. Hooks will be less specific."

### 2. Data Gathering

Gather album context in batch to minimize round-trips:

1. **Album data**: `get_album_full(album_slug, "concept,streaming,musical-direction")` — album narrative + track content
2. **Track list**: from album data — all track names, concepts, statuses
3. **Streaming lyrics**: from album data sections — pull quotable hooks from streaming lyrics (NOT Suno lyrics, which contain phonetic spellings)
4. **User preferences**: `load_override("promotion-preferences.md")` — tone, platform priorities, messaging themes, hashtag preferences, AI positioning

**Critical**: Use **streaming lyrics** for quotable hooks. Suno lyrics contain phonetic spellings (`bit-wize`, `Luh-rock-uh`) that must never appear in public-facing copy.

### 3. Generate Campaign Strategy (campaign.md)

Generate `campaign.md` first — it's the strategy foundation that informs all platform copy.

**Content to generate:**

| Section | What to Write |
|---------|---------------|
| Campaign Overview | Album name, release date (or TBD), primary platform, campaign duration |
| Key Messages | 3 core messages derived from album themes — the "why should anyone care" |
| Target Audience | 2-3 audience segments based on genre and themes |
| Schedule | Pre-release, release week, post-release calendar with specific content types |
| Hashtags | Primary (discovery + genre) and secondary (album-specific, AI if applicable) |

**Derive key messages from album data:**
- What is the album about? → Message 1 (concept hook)
- What makes it different? → Message 2 (unique angle)
- Why listen now? → Message 3 (urgency/relevance)

**Present to user for approval before proceeding to platform copy.**

### 4. Language Selection

**Before generating any copy, determine the output language(s).**

**If override exists** with a `## Language` section in `promotion-preferences.md`, use that preference without asking.

**Otherwise, ask:**
```
What language(s) should the promo copy be written in?

[1] English (default)
[2] German (Deutsch)
[3] French (Français)
[4] Spanish (Español)
[5] Bilingual — two languages per post (e.g., DE + EN, FR + EN)
[6] Other — tell me which language(s)
```

**Bilingual mode**: When two languages are selected, each post gets both versions stacked in the same code block, separated by a `---` divider. The primary language comes first, the secondary language second. Hashtags stay in English (international discovery).

**Override file addition** (`{overrides}/promotion-preferences.md`):
```markdown
## Language
- Primary: de
- Secondary: en
- Mode: bilingual
```

Store the selected language(s) and apply to all generated copy in this session.

### 5. Platform Selection

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

**If override exists**, follow platform priority list and skip list from `promotion-preferences.md`.

**Otherwise, ask:**
```
Which platforms should I generate copy for?

[A] All platforms (Twitter, Instagram, TikTok, Facebook, YouTube)
[1] Twitter/X
[2] Instagram

From bitwize-music-studio/claude-ai-music-skills, CC0-1.0.

More from bitwize-music-studio/claude-ai-music-skills

Compare and alternatives

    Featured in

    Signals

    Stars
    585
    Forks
    136
    Open issues
    2
    Last commit (this folder)
    May 29, 2026 (5 months ago)
    Last release
    Oct 13, 2026 (14 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    CC0-1.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from bitwize-music-studio

    Cite this page

    promo-writer skill. Agent Mart. https://agentmart.dev/skills/bitwize-music-studio-promo-writer (last updated 2026-10-24)