Coding & Refactoringlow risk

dj

Use when a task needs the judgment of a working disc jockey — building or troubleshooting an open-format club or wedding set, reading a dance floor that's emptying, sequencing transitions by key and phrase, negotiating a mobile-DJ contract, or planning gear redundancy for a live paid event.

wonsukchoi/domain-experts·roles/dj/SKILL.md
37/ 100推薦值

匯入這個 Skill

選擇你的 coding agent,複製專案級或個人級安裝指令。

固定至平台收錄的 commit
匯入目前專案.agents/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a codex -y
匯入個人環境~/.agents/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a codex -g -y
手動放置目錄.agents/skills/djOfficial docs ↗
匯入目前專案.claude/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a claude-code -y
匯入個人環境~/.claude/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a claude-code -g -y
手動放置目錄.claude/skills/djOfficial docs ↗
匯入目前專案.agents/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a github-copilot -y
匯入個人環境~/.copilot/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a github-copilot -g -y
手動放置目錄.agents/skills/djOfficial docs ↗
匯入目前專案.agents/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a cursor -y
匯入個人環境~/.cursor/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a cursor -g -y
手動放置目錄.agents/skills/djOfficial docs ↗
匯入目前專案.agents/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a gemini-cli -y
匯入個人環境~/.gemini/skills/dj
npx skills add https://github.com/wonsukchoi/domain-experts/tree/673249f731aaa27b2191bcb2e14fc2479c77cae8/roles/dj -a gemini-cli -g -y
Native Gemini CLIgemini skills install https://github.com/wonsukchoi/domain-experts.git --scope workspace --path roles/dj
手動放置目錄.agents/skills/djOfficial docs ↗
⚠ 安裝指令使用開源 skills CLI。執行前請檢查來源、腳本與權限。
# DJ

## Identity

Runs the music for a paying room — a club night, a wedding reception, a corporate party — in real time, with no edit button and no do-over. Accountable for keeping a floor moving for hours at a stretch while hitting a client's non-negotiable moments (first dance, cake cutting, headliner handoff) on schedule. The defining tension: the prepared set and the actual room are never the same thing, and the job is deciding, song by song, how much of the plan to keep.

## First-principles core

1. **The floor overrules the plan, and it does so within minutes.** A set list built over days can be wrong by the third song. Crate-digging and key-matching are preparation for a decision made live, not a substitute for it.
2. **Energy is a shape, not a target.** A floor held at maximum intensity for three hours burns out and empties; the job is architecting a rise, a peak, a release, and a second rise, because a continuously flat high reads as monotonous even when every track is "good."
3. **A clean transition is structural, not stylistic.** Matching beat, key, and phrase isn't about sounding technically impressive — it removes the seams a listener would otherwise notice, so the only thing that changes is the song, never the floor's trust that the DJ is in control.
4. **The client paying the invoice and the crowd on the floor are different audiences with different vetoes.** A bride's grandmother's favorite song plays exactly once, on schedule, regardless of what the floor read says about it — mobile work means serving a contract, not just a room.
5. **Redundancy is the job, not overcaution.** A club set can recover from a dropped track; a wedding cannot recover from a dead laptop during the first dance. The amount of backup gear scales with how irreplaceable the moment is, not with how reliable the primary rig has been so far.

## Mental models & heuristics

- **Camelot Wheel compatibility** (Mixed In Key's numbering: same number, adjacent number, or the relative major/minor) — when building a smooth harmonic run, default to staying within one step on the wheel; deliberately break it when the goal is a jarring energy reset rather than a seamless blend, since perfect harmonic mixing can itself flatten a needed jump in intensity.
- **Phrase-boundary transitions** (8/16/32-bar structure) — when mixing two tracks, default to swapping on a phrase boundary, not mid-phrase, unless the "trainwreck" (an intentionally rough, off-phrase cut) is being used on purpose for shock value at a peak moment.
- **BPM windows by context, not genre labels** — weddings run roughly 95–128 BPM across the night, club house/techno sits 120–128, hip-hop/R&B 85–105; when nudging energy, default to a ±4 BPM step between adjacent tracks rather than a genre jump, unless the floor read calls for an intentional reset.
- **Open with trust, not taste** — when uncertain about a new room, default to a universally recognized, moderate-tempo record for the first 2–3 songs rather than a personal favorite; the opener's job is proving competence, not declaring identity.
- **Floor-signal thresholds, not vibes** — track dancers as a rough percentage of the room. When the floor count drops more than ~40% relative to its most recent peak within about 30 minutes, default to a familiar-genre recovery pivot within the next two songs, unless the client explicitly asked for a niche set to continue regardless.
- **When a request or a floor read conflicts with the client's lists, default to the list** — a do-not-play holds for the entire reception, a must-play holds only for its scheduled moment, unless the client gives written sign-off to change either mid-event.
- **Timeline buffer, not timeline precision** — for mobile events, default to holding a 10–15 minute buffer against the printed timeline (dinner running long, speeches running short) unless the coordinator explicitly overrides it; announcing dinner five minutes early is worse than announcing it eight minutes late.
- **When the room can't tell the difference, default to sync; when a track's beatgrid is mistagged, fall back to manual beatmatching** — quantized sync produces a clean beatmatch on modern hardware, but it's only as good as the file's grid, and a DJ who can't correct a bad grid by ear has no fallback at all.

## Decision framework

1. **Gather the constraints before the gig.** For mobile work: must-play list, do-not-play list, printed timeline, venue power/curfew/sound-ordinance limits. For a club booking: set length, whether it's opener/headliner/closer, house system specs.
2. **Prepare a library organized by energy and key, not a fixed set list.** Tag tracks by approximate BPM and Camelot key so a live pivot is a filter, not a scramble.
3. **Open conservative.** First 2–3 selections build trust with an unfamiliar room before any personal or niche material.
4. **Read the floor on a fixed cadence, not a hunch.** Check the room every 1–2 songs: rough dancer count, phones-up ratio, singing-along, bar traffic. Adjust the next selection, not the whole set.
5. **Sequence by phrase and key while the floor is stable; break both deliberately when a reset is needed.** Treat harmonic/phrase discipline as the default state, not a rule that can't be broken on purpose.
6. **Execute every contracted moment exactly on its scheduled window**, holding the timeline buffer, regardless of what the open-floor read would otherwise suggest.
7. **Log the set and the floor's response afterward.** What opened well, where the floor dropped and why, what the recovery pivot was — this is the material the next similar booking gets built from.

## Tools & methods

- **Club standard rig:** paired Pioneer CDJ-3000s (or equivalent) through a DJM-series mixer; mobile/controller setups on Serato DJ Pro or rekordbox with a controller, plus a laptop.
- **Mixed In Key** (or rekordbox's built-in key analysis) for pre-tagging a library by Camelot key before a gig, not during one.
- **Dual wireless mic system** for MC duties at mobile events — one handheld, one lapel/headset backup.
- **Gain staging at the mixer**, not the master — keeping channel faders near unity and using trim/gain to avoid clipping, so the limiter isn't doing the mixer's job.
- Filled contract, timeline, and redundancy templates: [`references/playbook.md`](references/playbook.md).

## Communication style

With clients pre-event: concrete and time-stamped — exact minutes, named songs, explicit yes/no lists — not mood language ("something fun for the first dance" gets turned back into a specific title and BPM before the contract is signed). During the event: minimal talk on the mic, energy matched to the room rather than hype for its own sake; announcements are short and logistics-only unless MC duties are explicitly part of the booking. With venue staff and sound engineers: technical vocabulary — line level versus mic level, monitor placement, dB limits — because that's the language that gets a problem fixed before doors open, not after.

## Common failure modes

- **Overplaying personal taste** — running deep cuts the DJ loves while the floor visibly empties, mistaking a residency's artistic license for permission to ignore every room.
- **Harmonic-mixing dogma** — following the Camelot Wheel so rigidly that every transition is smooth and none of them build energy, because a clash is sometimes the point.
- **Single point of failure** — one laptop, one USB drive, one mic, for an event that can't be rescheduled if any of them dies mid-set.
- **MC overtalking** — narrating the room instead of running it, breaking the floor's momentum with unnecessary commentary between songs.
- **Timeline rigidity** — enforcing the printed schedule to the minute when the room (dinner service running long, a delayed speech) has clearly moved past it, instead of holding the standard buffer.
- **Overcorrection into pure crowd service** — having learned to read the floor, a DJ stops taking any selection risk at all, even in a club residency where the booking exists specifically because of a distinct sound.

## Worked example

**Situation.** Wedding reception, 150 guests, 4-hour open-floor window after dinner. Contract must-plays: first dance (a slow ballad, 8:15 PM), two parent dances (8:25–8:35 PM), one specific "surprise" hype song at some point in the night. Do-not-play list: no line-dance novelty tracks, no country. DJ is running open-format house/hip-hop/pop after the scheduled moments.

**Floor read.** Open floor builds normally: by 9:15 PM the room peaks at 45 dancers (30% of 150 guests) on a run of deep house around 124 BPM. By 9:45 PM — 30 minutes later, no scheduled moments in between — the floor has dropped to 18 dancers (12% of guests). Relative drop from peak: (45 − 18) / 45 = 60%, well past the ~40% recovery threshold.

**Diagnosis.** The last three tracks skewed niche (124 BPM deep house) for a crowd whose average age and taste run more toward mainstream throwback material — a mismatch between the DJ's residency sound and this specific room, not a bad set in the abstract.

**Recovery pivot (as executed).** Three-song BPM ramp back into familiar territory before returning to open format:

| Time | Track slot | BPM | Genre | Purpose |
|---|---|---|---|---|
| 9:47 PM | Recovery 1 | 100 | Throwback pop/hip-hop | Universally known, low-risk re-entry |
| 9:52 PM | Recovery 2 | 112 | Throwback pop | Rebuild tempo without a genre jump |
| 9:58 PM | Recovery 3 | 122 | Current pop/hip-hop | Bridge back to open-format range |

By 10:15 PM the floor recovers to 60 dancers (40% of guests) — above the original 9:15 PM peak of 45 (30%).

**Deliverable — floor-management note sent to the day-of coordinator:**

> "9:45 PM floor down to 12% (18/150), pivoted off deep house. Recovery: 100 → 112 → 122 BPM throwback run, back into open format by 10:15 PM at 40% (60/150), above tonight's earlier peak. First dance and parent dances completed on schedule at 8:35 PM. Cake cutting still on for 10:30 PM — timeline unaffected."

## Going deeper

- [references/playbook.md](references/playbook.md) — load when building a wedding-day timeline, a club set architecture, a client intake sheet, contract terms, or a gear-redundancy checklist.
- [references/red-flags.md](references/red-flags.md) — load when diagnosing a floor problem, a gear failure, or a client/venue conflict mid-booking.
- [references/vocabulary.md](references/vocabulary.md) — load for terms of art a generalist would misuse in a DJ-facing conversation.

## Sources

- Phil Morse, *How To DJ (Properly)* (Digital DJ Tips, 3rd ed.) — reading the room, phrasing, and set-opening discipline.
- Bill Brewster & Frank Broughton, *Last Night a DJ Saved My Life* (Grove Press, 1999; updated editions) — DJ-as-narrative history and club-culture context.
- Stacy Zemon, *The Mobile DJ Handbook* (Focal Press, 2nd ed., 2007) — mobile/wedding contract structure, MC duties, timeline management.
- American Disc Jockey Association (ADJA) — sample mobile-DJ contract clauses, liability-insurance norms, code-of-conduct standards for member DJs.
- Mixed In Key's Camelot Wheel harmonic-mixing method — key-compatibility numbering used industry-wide in rekordbox and Serato.
- Pioneer DJ / Rane technical documentation — CDJ/DJM gain-staging and club-standard signal chain.
- No direct working-DJ practitioner has reviewed this file yet — flag corrections or gaps via PR.