I spent years pitching labels, festivals, and promoters the hard way.
Now my AI runs the pipeline.
Music-Ops turns Claude Code into a music-career command center.
Music-Ops is a hard fork of santifer/career-ops re-engineered for independent electronic music artists. Same agentic architecture (Claude Code + modes + portal scanner + parallel workers + markdown tracker), different domain: gigs, festivals, labels, sync, grants, press, playlists.
Built for Zayan Khan (zayankhanmusic.netlify.app) -- Dhaka-based electronic producer with UK roots, 500K+ plays across three aliases, targeting SE Asia, EU, NA (EU/NA full-cost-covered only due to Bangladeshi passport + Dhaka base).
It's a filter, not a spray-and-pray tool. Music-Ops stops you pitching the wrong label, the wrong club, the wrong festival, and helps you land the few that are actually worth your time.
| Feature | Description |
|---|---|
| Auto-pipeline | Paste a URL -> evaluation + EPK + drafted pitch + tracker row |
| 7-archetype scoring | Festival / Club / Label / Sync / Grant / Press / Brand, each with its own weights |
| Visa-aware logistics | Hard filter: EU/NA bookings auto-score 1 unless full cost coverage + visa letter confirmed |
| EPK generator | One-page tailored press-kit PDF per opportunity, matching your brand palette |
| Portal scanner | RA / Dice / Bandsintown by city + label demo pages + grant feeds + sync briefs |
| Batch processor | Parallel evaluation of 10+ opportunities with claude -p workers |
| Follow-up cadence | Flags overdue submissions, drafts follow-ups |
| Pay-to-play detection | Block G flags ticket-sale, ad-spend, placement-fee schemes |
| Human-in-the-loop | Music-Ops never sends a pitch. Drafts only; you always press send. |
| Story bank | STAR+R answers accumulate across interviews / pitches for reuse |
music-ops/
├── CLAUDE.md # Agent instructions
├── epk.md # Your master EPK (create from template)
├── article-digest.md # Proof points (optional but powerful)
├── config/
│ └── profile.example.yml # Artist identity + fee targets + visa rules
├── modes/ # 17 skill modes
│ ├── _shared.md # System: archetypes, scoring, territory rules
│ ├── _profile.template.md # USER: copy to _profile.md, customize
│ ├── gig.md # A-G evaluation
│ ├── epk.md # PDF generation
│ ├── pitch.md # Draft pitch message
│ ├── outreach.md # Find contacts + first touch
│ ├── scan.md # Portal scanner
│ ├── batch.md # Parallel workers
│ ├── compare.md # Rank opportunities
│ ├── deep.md # Deep label/festival research
│ ├── auto-pipeline.md # End-to-end when you just paste a URL
│ ├── tracker.md # Status overview
│ ├── patterns.md # Rejection pattern analysis
│ ├── followup.md # Cadence tracker
│ ├── release.md # Release strategy eval
│ ├── collab.md # Collab/remix eval
│ ├── interview-prep.md # Press / podcast prep
│ └── pipeline.md # Inbox processor
├── templates/
│ ├── epk-template.html # One-sheet EPK template (brand-matched)
│ ├── portals.example.yml # Scanner config template
│ └── states.yml # Canonical submission statuses
├── batch/
│ ├── batch-prompt.md
│ └── batch-runner.sh
├── data/ # Your tracker data (gitignored)
├── reports/ # Evaluation reports (gitignored)
├── output/ # Generated PDFs + pitch drafts (gitignored)
├── press-kit/ # Story bank + outlet intel (gitignored)
├── fonts/ # Space Grotesk + DM Sans
└── dashboard/ # (inherited Go TUI; music variant WIP)
# 1. Clone and install
git clone https://github.com/zayank/music-ops.git
cd music-ops && npm install
npx playwright install chromium # Required for EPK PDF generation
# 2. Check setup
npm run doctor # Validates prerequisites
# 3. Configure
cp config/profile.example.yml config/profile.yml # Fill in your details
cp templates/portals.example.yml portals.yml # Customize your territories
# Edit epk.md -- your master EPK in markdown
# (optional) Edit article-digest.md -- proof points
# 4. Personalise
cp modes/_profile.template.md modes/_profile.md
# 5. Run Claude Code in the folder
claude
# Then ask Claude Code to:
# "Update _profile.md with my target labels: [list]"
# "Add these 10 festivals to portals.yml"
# "Draft a pitch for Magnetic Fields 2026"
# "Scan for SE Asia clubs this quarter"
# 6. Paste any opportunity URL:
# /music-ops https://magneticfields.in/apply/music-ops {URL or text} → AUTO-PIPELINE: evaluate + EPK + pitch + tracker
/music-ops pipeline → Process pending URLs from inbox
/music-ops gig → Single-opportunity evaluation (A-F + G legitimacy)
/music-ops compare → Rank multiple opportunities side-by-side
/music-ops outreach → Find A&R / promoter / booker contacts + draft message
/music-ops deep → Deep research on a label / festival / promoter
/music-ops epk → Tailored one-sheet EPK (PDF)
/music-ops release → Evaluate a release strategy (single / EP / LP)
/music-ops collab → Evaluate a collab / remix idea
/music-ops tracker → Submission status overview
/music-ops pitch → Draft a pitch email (label / promoter / press / playlist / sync)
/music-ops scan → Scan portals and discover new opportunities
/music-ops batch → Parallel workers for bulk evaluation
/music-ops patterns → Rejection / silence pattern analysis
/music-ops followup → Cadence tracker (flag overdue, draft follow-ups)
/music-ops interview-prep → Press / podcast / A&R call prep (story bank)
RA event feeds by city -- Bangkok, Singapore, Kuala Lumpur, Jakarta, Bali, Ho Chi Minh City, Hanoi, Manila, Colombo, Mumbai, Delhi, Bangalore, Goa, Dubai, Berlin, London, Amsterdam, Barcelona, Paris, NYC, LA, Detroit, Montreal.
Festivals -- Wonderfruit, Epizode, Ultra Bali, Zoukout, Good Vibes Malaysia, Maho Rasop, Djakarta Warehouse Project, Magnetic Fields, Echoes of Earth, Sunburn, Wild City Festival, Ziro, Sonar, CTM, Unsound, Dekmantel, Lente Kabinet, Nuits Sonores, DGTL, Draaimolen, Field Day, Boiler Room, Primavera Sound, Melt, Exit, Kappa Futur, Movement Detroit, MUTEK Montreal, MUTEK Mexico, CRSSD, Sole DXB, MDLBeast Soundstorm.
Labels (demo pages) -- Naya Beat, Krunk, Wild City, Ninja Tune, Warp, XL, Brainfeeder, Mad Decent, Hyperdub, Hessle Audio, Innervisions, Afterlife, Keinemusik, Diynamic, Anjunadeep, Anjunabeats, Higher Ground, Nervous Horizon, Livity Sound, Night Slugs.
Grants / Residencies -- British Council DYCP + ICG, Prince Claus Fund, Asian Cultural Council, New Music USA, Bengal Foundation, Goethe-Institut, Creative Capital, Spotify EQUAL, Keychange, OSSOM, Amplify10, Music Moves Europe, PRS Foundation, Arts Council England.
Sync -- Musicbed, Songtradr, Marmoset, Artlist, Position Music, Epidemic Sound.
Press / Radio -- Mixmag Asia, Mixmag, DJ Mag, Resident Advisor, Wild City, Crack, Dummy, Bandcamp Daily, Beatportal, NTS, Rinse, Worldwide FM, Kiosk Radio, Hor Berlin, Fault Radio, BBC 1Xtra, Pitchfork.
Playlist platforms -- SubmitHub, Groover, Musosoup, IndieMono, Playlist Push, Spotify For Artists editorial.
Music-Ops is visa-aware. For a Bangladeshi passport based in Dhaka:
| Territory | Baseline | Promoter must cover |
|---|---|---|
| SE / South Asia | 4 if fee present | Fee (easy visa) |
| GCC | 4 if fee present | Fee + hotel |
| EU / UK / Schengen | 1 unless covered | Flights + hotel + per-diem + visa invitation letter |
| NA (US / CA) | 1 unless covered | All EU above + O/P visa sponsorship + 90-day lead-time |
| JP / KR / AU / NZ | 2 baseline | Flights + hotel + visa letter |
Change these in modes/_profile.md and config/profile.yml if your situation differs.
- Music-Ops never submits a pitch, demo, or application automatically. It drafts; you send.
- Never misrepresent plays / followers / credits. Numbers come from your
profile.yml+article-digest.mdand must match reality. - Respect portal ToS -- no spray-and-pray, no bulk emails to A&R, no login-walled scraping.
- Pay-to-play flagged. Block G flags ticket-sale schemes, ad-spend requirements, placement fees.
Everything is designed to be edited by Claude Code itself. Open a Claude Code session in the project root and just ask:
- "Change my fee targets for EU festivals to $4,000 minimum"
- "Add Ninja Tune to my label priority list"
- "Add these festivals to portals.yml: [paste]"
- "Rewrite my 80-word bio to emphasise the UK years more"
- "I just landed a mix on NTS -- add it to article-digest.md and update the credits"
Your customisations live in modes/_profile.md, config/profile.yml, epk.md, article-digest.md, and portals.yml. Everything else is system layer and auto-updatable.
Music-Ops is a fork of santifer/career-ops by Santiago Fernández de Valderrama. The architecture, scoring system, and batch-processing pattern are his. The music-industry adaptation, portal seed list, EPK template, and visa-aware logistics are this fork's contribution.
If you used this, a star on the upstream repo is appreciated.
MIT (same as upstream).