Skip to content
 
 

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Music-Ops

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.

Claude Code Node.js Playwright MIT


What it is

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.

Features

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

Architecture

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)

Quick Start

# 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

The 17 Modes

/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)

Seeded Portals (out of the box)

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.

Visa / Logistics (hard rules)

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.

Ethical Use

  • 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.md and 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.

Customizing

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.

Credit

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.

License

MIT (same as upstream).

About

AI-powered music career pipeline built on Claude Code. Fork of career-ops for independent electronic music artists.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages