Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bitwize-music-studio avatar

Promo Director

  • 155 installs
  • 400 repo stars
  • Updated July 31, 2026
  • bitwize-music-studio/claude-ai-music-skills

Plan rollout campaigns—social clips, press angles, playlist pitches, and ad hooks—aligned to release date and single rollout sequence.

About

The promo-director skill turns finished tracks and brand story into a channel-by-channel launch playbook with post schedules, hook variants, influencer angles, and measurable promo KPIs tailored to independent AI-assisted album releases.

  • Campaign timeline
  • Platform-native copy
  • Playlist pitch kits
  • Visual promo briefs
  • CTA and hashtag sets

Promo Director by the numbers

  • 155 all-time installs (skills.sh)
  • Ranked #389 of 853 Sales & Marketing skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/bitwize-music-studio/claude-ai-music-skills --skill promo-director

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs155
repo stars400
Last updatedJuly 31, 2026
Repositorybitwize-music-studio/claude-ai-music-skills

What it does

Plan rollout campaigns—social clips, press angles, playlist pitches, and ad hooks—aligned to release date and single rollout sequence.

Files

SKILL.mdMarkdownGitHub ↗

Promo Director Skill

Generate professional promo videos for social media from mastered audio. Creates 15-second vertical videos (9:16, 1080x1920) optimized for Instagram Reels, Twitter, and TikTok.

Purpose

After mastering audio, generate promotional videos that combine:

  • Album artwork
  • Audio waveform visualization (9 styles available)
  • Track title + artist name
  • Automatic color scheme extracted from artwork
  • Intelligent segment selection (finds the most energetic 15 seconds)

When to Use

  • After mastering complete, before release
  • User says "generate promo videos" or "create promo videos for [album]"
  • When album has mastered audio + artwork ready

Position in Workflow

Generate → Master → **[Promo Videos]** → Release

Optional step between mastering-engineer and release-director.

Workflow

1. Setup Verification

Check ffmpeg:

ffmpeg -filters | grep showwaves

Required filters: showwaves, showfreqs, drawtext, gblur

If missing:

Error: ffmpeg not found or missing required filters

Install ffmpeg:
  macOS: brew install ffmpeg
  Linux: apt install ffmpeg

After installing, run this command again.

Check Python dependencies:

Call get_python_command() to verify the venv exists. If venv_exists is false, show the warning and suggest /bitwize-music:setup.

2. Album Detection

Resolve audio path via MCP:

Call resolve_path("audio", album_slug) — returns the full audio directory path including artist folder.

Example result: ~/bitwize-music/audio/artists/bitwize/albums/electronic/sample-album/

Verify contents:

  • ✓ Mastered audio files (.wav, .mp3, .flac, .m4a)
  • ✓ Album artwork (album.png or album.jpg)

If artwork missing:

Error: No album artwork found in {audio_root}/artists/{artist}/albums/{genre}/{album}/

Expected: album.png or album.jpg

Options:
  1. Use /bitwize-music:import-art to place artwork
  2. Specify path manually: --artwork /path/to/art.png

Which option?

3. User Preferences

Check config defaults first:

Read promotion section from ~/.bitwize-music/config.yaml for defaults:

  • promotion.default_style - Default visualization style
  • promotion.duration - Default clip duration
  • promotion.include_sampler - Whether to generate album sampler by default
  • promotion.sampler_clip_duration - Seconds per track in sampler

If config section doesn't exist, use built-in defaults (pulse, 15s, sampler enabled, 12s clips).

Ask: What to generate?

Options (default from config or "both"): 1. Individual track promos (15s each) + Album sampler (all tracks) 2. Individual track promos only 3. Album sampler only

Ask: Visualization style?

Default from promotion.default_style or pulse if not set.

StyleBest ForDescription
pulseElectronic, hip-hopOscilloscope/EKG style with heavy glow (default)
barsPop, rockFast reactive spectrum bars
lineAcoustic, folkClassic clean waveform
mirrorAmbient, chillMirrored waveform with symmetry
mountainsEDM, bass-heavyDual-channel spectrum (looks like mountains)
colorwaveIndie, alternativeClean waveform with subtle glow
neonSynthwave, 80sSharp waveform with punchy neon glow
dualExperimentalTwo separate waveforms (dominant + complementary colors)
circularAbstract, experimentalVectorscope (wild circular patterns)

Default recommendation:

  • Electronic/Hip-Hop → pulse
  • Rock/Pop → bars
  • Folk/Acoustic → line
  • Ambient/Chill → mirror

Ask: Custom duration?

Default: 15 seconds (optimal for Instagram/Twitter)

Options:

  • 15s (recommended, Instagram Reels sweet spot)
  • 30s (longer preview)
  • 60s (full clip, less common)

For sampler:

Default: 12 seconds per track

Calculate total:

Total duration = (tracks * clip_duration) - ((tracks - 1) * crossfade)
Twitter limit: 140 seconds

If over 140s:

WARNING: Expected duration {duration}s exceeds Twitter limit (140s)

Recommendation: Reduce --clip-duration to {140 / tracks}s

4. Generation

Individual track promos:

generate_promo_videos(album_slug, style="pulse", duration=15)

Single track only:

generate_promo_videos(album_slug, style="pulse", track_filename="01-track-name.wav")

Album sampler:

generate_album_sampler(album_slug, clip_duration=12, crossfade=0.5)

Handle errors:

Common issues:

  • ffmpeg filter error → Check ffmpeg install includes filters
  • Font not found → Install dejavu fonts or specify custom font
  • Artwork extraction fails → Use default cyan color scheme
  • librosa unavailable → Fall back to 20% into track for segment selection
  • Audio file corrupt → Skip track, report, continue with others

5. Results Summary

Report generated files:

## Promo Videos Generated

**Location:** {audio_root}/artists/{artist}/albums/{genre}/{album}/

**Individual Track Promos:**
- {audio_root}/artists/{artist}/albums/{genre}/{album}/promo_videos/
- 10 videos generated
- Format: 1080x1920 (9:16), H.264, 15s each
- Style: pulse
- File size: ~10-12 MB per video

**Album Sampler:**
- {audio_root}/artists/{artist}/albums/{genre}/{album}/album_sampler.mp4
- Duration: 114.5s (under Twitter 140s limit ✓)
- Format: 1080x1920 (9:16), H.264
- File size: 45.2 MB

**Next Steps:**
1. Review videos: Open promo_videos/ folder
2. Test on phone: Transfer one video and verify quality
3. Populate social copy: Fill in promo/ templates (twitter.md, instagram.md, etc.)
4. [Optional] Upload to cloud: /bitwize-music:cloud-uploader {album}
5. Ready for release workflow: /bitwize-music:release-director {album}

Technical Reference

See technical-reference.md for:

  • Output specifications (resolution, format, bitrate)
  • Visualization styles (pulse, bars, line, etc.)
  • Platform compatibility (Instagram, Twitter, TikTok)
  • Dependencies (required and optional)
  • Troubleshooting common issues

Related skills

Sales & Marketingdistributioncontent

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.