Compose music
Create structured electronic music sketches and Ableton-ready composition specs with drum grids, chords, basslines, melodies, arrangements, MIDI note JSON, and loop-to-song handoff plans. Use for composition, arrangement, repair, and Ableton implementation planning; not for pure Ableton command lookup or mixing-only advice.From its SKILL.md
npx -y skills add 6uclz1/skills --skill compose-musicAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
13.4 KB, ~3.0k tokens by cl100k_base, as published. Nobody here has run it
Compose Music
Scope
Use this skill as the composition layer above $ableton-cli: decide the music first, then hand deterministic Ableton operations to $ableton-cli.
Do not use this skill for pure Ableton command lookup, installation, transport control, browser inspection, or mixing-only advice. Use $ableton-cli directly for DAW operation and a mixing-focused skill or general answer for mix-only work.
Output Modes
Choose the smallest output mode that satisfies the request:
- Idea Mode: for brainstorming, options, constraints, or high-level composition advice. Return only the directly useful ideas.
- Pattern Mode: for drum grids, basslines, chord loops, melody motifs, or MIDI JSON for a narrow musical unit. Return only the requested pattern material.
- Song Sketch Mode: for loop-to-song expansion, arrangement plans, and complete human-readable sketches that do not need Ableton execution. Return the relevant song sections.
- Ableton Handoff Mode: for "make this in Ableton", "implement", "generate clips", "MIDI JSON", or handoff requests. Return a concise human plan plus
composition_spec. - Sample Handoff Mode: for user-owned audio such as Amen-style break samples. Return
sample_assets,audio_looporsliced_audiotracks, and keep local paths out of browser fields. - Cut-up Idea Mode: for cut-up, sample chop, vocal chop, sliced break, glitch collage, break edit, or IDM-style resequencing ideas. Return BPM, sample roles, slice grain, drum anchor, bass relationship, section shape, and rights/overcrowding risks.
- Cut-up Pattern Mode: for 1-4 bar chop patterns. Return only the slice grid, trigger notes or trigger-note strategy, edit moves, and kick/sample collision notes.
- Cut-up Song Sketch Mode: for 32-64 bar sample-chop arrangements. Return sections, density, slice roles, drum/sample call-response, bass entries, silence, reverse, stutter, and fills.
- Cut-up Ableton Handoff Mode: for implementing cut-up material in Ableton. Return concise plan,
composition_spec,sample_asset_plan,slice_plan,cutup_trigger_notes,ableton_handoff_planintent, and validation checklist. - Repair Mode: for fixing an existing loop, arrangement, bassline, melody, or chord progression. Return diagnosis, edited material, and minimal execution notes.
Default assumptions when the user gives no constraints:
- Meter:
4/4 - Tempo:
120 BPM - Tonality:
minorordorian - Loop target:
8 bars - Arrangement target:
32or64 bars - Genre: choose one focused electronic direction and state it.
- Track count: 5 tracks:
Drums,Bass,Chords,Lead,Texture/FX.
Cut-up defaults when the user gives no constraints:
- Genre:
cut-up electronic - Tempo:
132 BPM - Key/mode:
D minor - Arrangement target:
32 bars - Source roles:
vocal_or_melodic_sample,drum_loop_or_break,texture_sample. - Track count: 6 tracks:
Drums,Sample Source,Cutup Rack,Bass,Chords/Stabs,Texture/FX.
Assume defaults for missing tempo, key, meter, genre, length, and track count. Ask at most one clarifying question only when the missing constraint would materially change the result or create conflicting deliverables.
Core Workflow
Follow this sequence for song sketches and Ableton handoffs:
- Brief: lock genre, tempo, emotional intent, key/mode, track count, and one creative constraint.
- Beat: create a 16-step or 2-bar drum grid before detailed sound design.
- Pitch Palette: choose tonic, scale or mode, and allowed non-diatonic notes.
- Harmony: choose a chord loop, roman numerals, voicing range, and harmonic rhythm.
- Bassline: reinforce the harmony while relating to or contrasting with the drum pattern.
- Melody: write a short identifiable motif, then create variations.
- Structure: expand the loop into sections using 4, 8, or 16 bar blocks.
- Ableton Handoff: specify tracks, clips, note grids, scene names, and arrangement durations.
- Finish: apply subtraction, commitment, and completion prompts.
For Cut-up / Sampling Mode, use this sequence:
- Confirm or assume source material, then state whether execution requires user-provided or cleared audio.
- Decide rights/safety status:
original,cleared,royalty_free,private_test, orunknown. - Choose slicing method:
transient,beat,region,manual, orslice_count. - Build a stable drum anchor before dense slice edits.
- Build a 1-bar slice motif using only 3-5 slices.
- Build a 2-bar answer by changing only the final beat.
- Add bass after confirming kick/sample space.
- Expand into sections with density, mute moves, silence, reverse, stutter, and boundary fills.
- Emit
composition_specwithsource_material,slice_plan,cutup_pattern, andrights_statusfor Ableton handoff requests. - Convert to
ableton_handoff_planbefore any$ableton-clioperation.
Do not invent local audio paths, Ableton browser URIs, sample names, or preset names. If no audio is supplied, use a placeholder such as <user-provided-audio-path> and state that execution requires a user-provided or cleared audio file.
Output Contract
For full song sketches, produce these sections:
- Composition Brief: genre, BPM, meter, key/mode, constraint, reference energy.
- Pattern Grid: drum grid, bass rhythm, melody motif, and bar lengths.
- Harmony Map: chords, roman numerals, voicings, harmonic rhythm, tension/release notes.
- Section Plan: Intro, Build, Break, Drop/Hook, Variation, Outro with bar counts and active parts.
- Ableton Execution Notes: track names, clip lengths, scene names, MIDI note JSON strategy, and
$ableton-clihandoff notes. - Finish Checklist: decisions to commit, parts to remove, renders or bounces to make, and completion criteria.
For Ableton Handoff Mode, always include:
- A concise human-readable plan.
- A fenced JSON block named
composition_spec. - A validation checklist.
- No hard-coded browser paths, rack names, device presets, local file paths, or fake URIs.
- User samples referenced through
sample_assets, never throughbrowser_query.
Read references/output-contracts.md and references/composition-spec-schema.md; validate against references/composition_spec.schema.json before producing the final handoff.
For narrow requests, return only the relevant sections; do not emit the full song-sketch template.
Validation Rules
Before finalizing Ableton-ready material, verify:
- Section bar counts sum to the requested length.
- MIDI notes use valid
pitch,start_time,duration,velocity, andmutefields. - Bass and kick are designed as one composite low-end part.
- Browser targets are search queries or placeholders, not hard-coded paths, rack names, device presets, local file paths, or fake URIs.
- User-owned samples use
sample_assetswithpath_ref,root_envplusrelative_path, or a private manifest. Do not emit/Users/...,file://..., or sample filenames inbrowser_queryorhandoff.browser_queries. - Audio-backed tracks set
source_typetoaudio_looporsliced_audio, usesample_ref, and includeaudio_clipor fixed-gridslice_planas appropriate. - Cut-up tracks may instead use
source_materialwith a placeholder path,slice_plan.method,slice_plan.max_slices,slice_plan.start_pad_midi, andcutup_pattern.slice_map. rights_statusis required for source material and sample handoff assets. Stop public, commercial, or distribution-oriented output whenrights_statusisunknown.composition_spec.handoff.browser_queriesrepeats the browser search intent and remains path-free.- Section plans include density, foreground/midground/background roles, add/mute moves, and transition events when arranging a complete song.
- Narrow requests do not return unrelated full-contract sections.
- Complete arrangements use the section fields from
references/arrangement-energy-curves.md:foreground,midground,background,identity_carrier,move, andtransition_event. - Melody motifs name
rhythm_cell,pitch_cell, andvariation_strategywhen the user asks for melodic material. - Harmony maps name tension and release points with
tension_bar,resolution_bar, and anyoutside_noteswhen those choices are present. - Basslines state
kick_relationshipasavoid,double,answer, orintentional_overlap. - Track sound choices describe
sound_intentandshape_intent;browser_queryremains a broad search phrase only.
Use bundled scripts when deterministic conversion or validation is useful:
scripts/grid_to_notes.py: 16-step or 32-step drum grid to Ableton note JSON; each row may usestepsor the equivalentgridalias. Use--payloadwhen swing, shuffle, humanization, or polymeter metadata must survive handoff.scripts/breakbeat_pattern_to_notes.py: fixed-grid Amen/breakbeat slice index patterns to Ableton trigger note JSON.scripts/cutup_pattern_to_notes.py: symbolic cut-up patterns such asS01,.,rest, orS03*4to Ableton trigger note JSON.scripts/chords_to_notes.py: tonic, mode, roman numerals, explicit chord quality, borrowed chords, inversions, slash chords, and extensions to chord note JSON.scripts/validate_composition_spec.py: validate Ableton-readycomposition_spec.scripts/resolve_sample_assets.py: resolve private sample asset manifests or environment variable references outside generated specs.scripts/composition_spec_to_handoff_plan.py: convert a validcomposition_specintoableton_handoff_planJSON for$ableton-cliworkflows.
Reference Selection
- Read
references/learning-music-system.mdwhen starting from scratch, teaching the user, or structuring the work from rhythm through song form. - Read
references/music-theory-toolkit.mdwhen choosing keys, scales, modes, chords, voicings, seventh chords, or harmonic functions. - Read
references/creative-strategies.mdwhen the user is blocked, over-editing, stuck in loops, or needs a finish plan. - Read
references/pattern-recipes.mdwhen generating concrete drum, harmony, bass, or melody patterns. - Read
references/ableton-composition-bridge.mdwhen the output should be executable or easily translated with$ableton-cli. - Read
references/output-contracts.mdwhen the user asks for Ableton-ready implementation, MIDI JSON, or structured handoff. - Read
references/composition-spec-schema.mdwhen building or checkingcomposition_specfields and validation rules. - Read
references/ableton-handoff-plan-schema.mdwhen convertingcomposition_specinto an intermediateableton_handoff_plan. - Read
references/eval-cases.mdwhen running regression-style prompt checks. - Read
references/genre-playbooks.mdwhen selecting genre defaults or making genre-specific decisions. - Read
references/arrangement-energy-curves.mdwhen expanding loops into 32-, 64-, 96-, or 128-bar forms. - Read
references/sound-design-intent.mdwhen choosing role-based sound targets without naming fixed presets. - Read
references/quality-rubric.mdwhen evaluating a draft or running regression-style checks.
Ableton Handoff
Do not duplicate the $ableton-cli command catalog. Hand off intent and structured data:
- Preflight intent: wait-ready, doctor if needed, then tracks list.
- Browser search intent by role, for example
Drum Rack,Kit,Operator bass,Drift bass,Wavetable pad,Analog keys; resolve exact paths or URIs only from active$ableton-clisearch results. - Track plan: default order
0 Drums,1 Bass,2 Chords,3 Lead,4 Texture/FX. - Clip plan: scene clips with lengths in bars and beats.
- Audio clip plan: user sample audio placement, warp, loop, gain, and source asset id.
- Slice plan: fixed-grid slicing, Drum Rack trigger pad range, and trigger note source.
- Notes: inline note JSON or a path to a generated notes file.
- Arrangement: scene names, start bars, durations, density, active tracks.
- Safety: prefer dry-run or plan-first execution, inspect JSON command results, and stop on non-zero
$ableton-cliexit codes. - Finish: save/export target if requested.
When the user asks to implement a sketch, produce or use ableton_handoff_plan as the intermediate artifact before any DAW operation.
Always avoid hard-coding browser item paths, Drum Rack kits, or device targets. Ask $ableton-cli workflows to search the active Ableton browser catalog first, then use returned paths or URIs.
For requests like "make a 170 BPM jungle Amen break using my local sample", do not generate or bundle the Amen audio. Reference the user's sample with sample_assets, choose audio_loop for warp/loop placement or sliced_audio for fixed-grid Drum Rack slicing, and prefer plan/dry-run Ableton execution before modifying Live.
Composition Rules
- Separate generation from editing: create several options before judging them.
- Prefer simple, playable material before advanced theory.
- Keep kick and bass clear by treating the low end as one composite part.
- Use foreground, middle ground, and background roles while composing, not only while mixing.
- Build the maximal-density section first when arrangement is unclear.
- Finish imperfect sketches instead of abandoning them.
What ships with it: 45 files
241.3 KB alongside SKILL.md, 11 of them executable
agents/
- openai.yaml395 B
examples/
- ableton_handoff_plan.example.json2.0 KB
- ambient-32bar-section-plan.json1.1 KB
- amen-break-audio-loop.composition_spec.json2.1 KB
- amen-break-sliced.composition_spec.json2.3 KB
- amen-break-trigger-grid.json675 B
- break-cutup-16bar.composition_spec.json4.7 KB
- chord-loop-i-VI-III-VII.json334 B
- cutup-garage-32bar.composition_spec.json5.8 KB
- cutup-trigger-pattern.json341 B
- dark-techno-8bar.composition_spec.json4.3 KB
- garage-swing-grid.json427 B
- melodic-techno-64bar.composition_spec.json5.9 KB
- sample_assets.example.json529 B
- vocal-chop-2bar.pattern.json591 B
references/
- ableton-composition-bridge.md4.5 KB
- ableton_handoff_plan.schema.json8.4 KB
- ableton-handoff-plan-schema.md3.5 KB
- arrangement-energy-curves.md2.6 KB
- arrangement-energy.md1.7 KB
- composition_spec.schema.json11.0 KB
- composition-spec-schema.md8.0 KB
- creative-strategies.md3.2 KB
- eval-cases.md5.0 KB
- genre-playbooks.md15.7 KB
- learning-music-system.md3.7 KB
- music-theory-toolkit.md4.1 KB
- output-contracts.md8.8 KB
- pattern-recipes.md8.5 KB
- quality-rubric.md2.0 KB
- sound-design-intent.md2.4 KB
- sound-design-palettes.md2.1 KB
scripts/
- breakbeat_pattern_to_notes.pyruns5.3 KB
- chords_to_notes.pyruns10.7 KB
- composition_spec_to_handoff_plan.pyruns11.3 KB
- cutup_pattern_to_notes.pyruns6.1 KB
- grid_to_notes.pyruns4.3 KB
- resolve_sample_assets.pyruns4.7 KB
- validate_composition_spec.pyruns27.3 KB
- README.md5.6 KB
5 more files not listed here. See all 45 in the repository.