← Music BlockCONTENT HISTORY

Update to Music Block

Snapshot Oct 6, 2026 · 00:02 UTC · version 1.2.0

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 23 files: .codex-plugin/plugin.json, skills/ensemble-arranging/SKILL.md, skills/ensemble-arranging/agents/openai.yaml, …. Open the file diff to inspect the edits.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Package file

Before

32a62a07f2aa1381f5d77cfd11205ba9faacd594ebcb11038f444194bfbb7f40

After

5e1639fbd15361d3ed3d53799f1867006c8a04e64d3597b49040a1b341fc9544

Package file

Before

4854

After

3653

Package file

Before

Not present

After

{"sha256":"dd428a96d93d50638e4ad37a0c1802247cf48c184edb843cea64a832efcf7032","size":5591}

Package file

Before

Not present

After

{"sha256":"83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c","size":269}

Compare saved observations

Download comparison JSON

skills/instrument-ranges-and-idioms/SKILL.md

--- before
+++ after
@@ -0,0 +1,103 @@
+---
+name: instrument-ranges-and-idioms
+description: Write Music Block parts for winds, brass, strings, voices, keyboards and drums that stay in each instrument's comfortable register and respect breath, hand and limb limits. Use when composing any non-fretted part, arranging for an ensemble or choir, or fixing a range warning.
+---
+
+Use this skill when a Music Block example contains a part written as `melody`
+(single-staff pitched instruments), `hands` (piano, electric-piano, organ) or
+`drums`. Fretted instruments have their own skill (playable-fretted-parts).
+
+The tool warns when a note leaves an instrument's absolute range. This skill
+is about the narrower region where players actually live, and about the
+physical facts that ranges do not capture: lungs, hands, feet and slides.
+Open the matching file in `references/` for the instrument family before
+writing the part.
+
+## Workflow
+
+1. Look up the instrument's comfortable tessitura in `references/`. Write the
+   part inside it; touch the extremes only at one climax, briefly.
+2. Write pitches in CONCERT (sounding) pitch. The tool handles the written
+   transposition for trumpet, clarinet, saxes and horn.
+3. Shape phrases around the physical limit of the instrument: breath for
+   winds and voices, bow and string crossings for strings, hand span for
+   keyboards, two hands and two feet for drums.
+4. For an ensemble, check the part interactions listed below.
+5. Run the self-check and call the tool.
+
+## Winds and voices breathe
+
+- A phrase without a rest lasts at most 2 bars at 120 BPM or slower, 4 bars
+  for a slow ballad of long notes, 1 bar for fast sixteenth passages. Then a
+  rest of at least an eighth.
+- Long held notes cost breath too; a whole note followed by a run needs a
+  rest between them.
+- Voices need more breath than winds: rests every 1 to 2 bars, phrase ends on
+  a longer note.
+
+## Brass endurance
+
+- Brass players cannot sit at the top of the range. The highest fifth of the
+  comfortable range appears for a beat or two per example, at the peak.
+- Fast alternation between low and high register tires the player and
+  sounds uneven; keep register changes gradual.
+
+## Strings
+
+- Open strings and first-position notes are strongest for double stops.
+- Fast passages stay on adjacent strings; large leaps across three strings
+  need a longer note before them.
+- Double stops on adjacent strings only, mostly thirds, sixths and octaves;
+  no double stops in fast sixteenths.
+
+## Keyboards (hands)
+
+- Right hand and left hand must have the same number of bars.
+- Hand span is an octave for running figures, a ninth for a held chord, five
+  notes per hand at most. The tool warns above a ninth.
+- Left hand sits between C2 and C4, right hand between C4 and C6, meeting in
+  the middle only for shared chords. Hands do not cross.
+- Left-hand patterns: root and fifth, root-fifth-octave, Alberti bass, stride
+  (root, then a chord an octave or tenth above), walking quarters, held shell
+  voicings for jazz comping. Pick one per example and keep it.
+- Both hands in sixteenths at once is virtuoso writing; for an exercise give
+  one hand the motion and the other chords or held notes.
+- No position shift every beat at tempo; a hand stays over five to eight keys
+  for at least a bar.
+
+## Drums
+
+- Two hands, two feet. Per beat at most: kick (foot), hi-hat pedal (other
+  foot), and two hand voices among snare, hi-hat, ride, toms and crash.
+- Ride and closed hi-hat played by hand at the same time is a third hand;
+  do not write it. A hi-hat pedal note while the hi-hat is played by hand is
+  fine only as the closing "chick".
+- Groove first: hi-hat or ride keeps eighths or quarters, snare on 2 and 4,
+  kick on 1 and 3 with one syncopated kick per bar. Vary the kick every 2 or
+  4 bars, not every bar.
+- Humanise with ghost notes (a snare on the sixteenth before beat 2 or 4), an
+  open hi-hat on the "and" of 4, and one fill in the last bar before a repeat
+  using toms and ending on crash plus kick on the downbeat.
+
+## Ensemble interactions
+
+- Give parts different rhythms: if the melody moves in eighths, the
+  accompaniment moves in quarters or half notes, and the bass in quarters.
+- Do not have every part change notes on every beat; hold at least one part
+  through each bar.
+- Keep a bass instrument alone in its register; other parts stay above it by
+  at least a fifth to avoid mud.
+- Inner voices move by step or common tone; outer voices define the shape.
+- Choir (SATB): soprano and alto within an octave of each other, alto and
+  tenor within an octave, tenor and bass up to a twelfth apart; no voice
+  crossing; bass roots on strong beats.
+
+## Self-check before calling the tool
+
+- Every part sits inside its comfortable tessitura except one brief peak.
+- Wind and vocal phrases have a rest at least every 2 bars.
+- Brass does not sit at the top of its range.
+- Keyboard hands span at most a ninth, five notes each, no crossing, one
+  left-hand pattern.
+- Drum beats need at most two hands and two feet.
+- Ensemble parts differ in rhythm, hold through bars, and never cross.
Full technical diff · 24 changed fields

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"32a62a07f2aa1381f5d77cfd11205ba9faacd594ebcb11038f444194bfbb7f40"
AFTER
"5e1639fbd15361d3ed3d53799f1867006c8a04e64d3597b49040a1b341fc9544"

changed /files/.codex-plugin~1plugin.json/size

BEFORE
4854
AFTER
3653

added /files/skills~1ensemble-arranging~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "dd428a96d93d50638e4ad37a0c1802247cf48c184edb843cea64a832efcf7032",
  "size": 5591
}

added /files/skills~1ensemble-arranging~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
  "size": 269
}

added /files/skills~1ensemble-arranging~1references~1choir.md

BEFORE
Field was absent
AFTER
{
  "sha256": "15eae47414f35086ff15eb719b3bcf05023a76c7c547090c46ae6c9ba4d49d4c",
  "size": 2520
}

added /files/skills~1ensemble-arranging~1references~1folk.md

BEFORE
Field was absent
AFTER
{
  "sha256": "5d1ab29243cf697ccd59e64132e08162d06f54152deb52fafc1268a7fe801003",
  "size": 2651
}

added /files/skills~1ensemble-arranging~1references~1jazz-horns.md

BEFORE
Field was absent
AFTER
{
  "sha256": "e3df4171140c915bcfd36617f054cff54579d7eb6f2e6781ae017c9075d7dd4c",
  "size": 4008
}

added /files/skills~1ensemble-arranging~1references~1rhythm-section-bands.md

BEFORE
Field was absent
AFTER
{
  "sha256": "c3d541b3c96a36742524ba4c2e5ba9262c33a73f5ac5df698b0971d3619d2f3d",
  "size": 2898
}

added /files/skills~1ensemble-arranging~1references~1string-quartet.md

BEFORE
Field was absent
AFTER
{
  "sha256": "6e7042eb98a07029ace638e94d18d8bc9b7f8bbc63ef0c8c781cff03487afc93",
  "size": 2635
}

added /files/skills~1human-melodic-phrasing~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "f488fe9c438c01d5cf79778d8a82584dd49686b944df810b2c541db7b8500517",
  "size": 5874
}

added /files/skills~1human-melodic-phrasing~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
  "size": 269
}

added /files/skills~1human-melodic-phrasing~1references~1bebop.md

BEFORE
Field was absent
AFTER
{
  "sha256": "a9a641a33af4d502e99be95e8d914f7d7b9f197c3a2714a8a5e19c073ba26343",
  "size": 1671
}

added /files/skills~1human-melodic-phrasing~1references~1blues.md

BEFORE
Field was absent
AFTER
{
  "sha256": "76461edf9dabe1579522ddf9a4ff3547b1c975f16e4c60f033f6aa0823d16478",
  "size": 1585
}

added /files/skills~1human-melodic-phrasing~1references~1pop.md

BEFORE
Field was absent
AFTER
{
  "sha256": "9344c27f91a22a7c21e7666ab10a01a012769fee887f846b81cab7d5e7b0a9dd",
  "size": 1507
}

added /files/skills~1instrument-ranges-and-idioms~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "5883ecdea857a122e6bc18092d1b7ff7721615338c384dff0046f9c747bb7ae6",
  "size": 5084
}

added /files/skills~1instrument-ranges-and-idioms~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
  "size": 269
}

added /files/skills~1instrument-ranges-and-idioms~1references~1brass.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1326075671ffd6fc3ed2747aa5432e4b85bf704fc05c77a95fab3fa3259f3237",
  "size": 1510
}

added /files/skills~1instrument-ranges-and-idioms~1references~1drums.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1de70e3e1df3c7d44ce5c23193f72177e7ba8711ea75844d31cbfa4f91faae79",
  "size": 1992
}

added /files/skills~1instrument-ranges-and-idioms~1references~1piano.md

BEFORE
Field was absent
AFTER
{
  "sha256": "4b15986cda0264262bee35e63ffc8cf839dca2adb5362c2b70b00002f098705a",
  "size": 1972
}

added /files/skills~1instrument-ranges-and-idioms~1references~1strings.md

BEFORE
Field was absent
AFTER
{
  "sha256": "55a2fe5cad53789d99e44b6ae63580e339238893099f16c8db0c94c1245f0812",
  "size": 1943
}

added /files/skills~1instrument-ranges-and-idioms~1references~1voices.md

BEFORE
Field was absent
AFTER
{
  "sha256": "3f07181e4a25ae6517b00683ccceefb34d882c5925f65cafd03a777bec4d5c4e",
  "size": 1599
}

added /files/skills~1instrument-ranges-and-idioms~1references~1winds.md

BEFORE
Field was absent
AFTER
{
  "sha256": "822061192c15d798ccf603ef570bee031a2191064fc788777c999d3ea98e5e85",
  "size": 1931
}

added /files/skills~1playable-fretted-parts~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "84f828a8c73ed15fbc5eb90e3fef2e0b3f200a3029b1f5e0a9eb85479ccc5055",
  "size": 6097
}

added /files/skills~1playable-fretted-parts~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
  "size": 269
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "7eef3649c1fc7a416fcef2a14e93dd23a96751bdabdc4bd6e1a3b3dca522a8e7",
      "size": 127
    },
    ".codex-plugin/plugin.json": {
      "sha256": "5e1639fbd15361d3ed3d53799f1867006c8a04e64d3597b49040a1b341fc9544",
      "size": 3653
    },
    "skills/ensemble-arranging/SKILL.md": {
      "sha256": "dd428a96d93d50638e4ad37a0c1802247cf48c184edb843cea64a832efcf7032",
      "size": 5591
    },
    "skills/ensemble-arranging/agents/openai.yaml": {
      "sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
      "size": 269
    },
    "skills/ensemble-arranging/references/choir.md": {
      "sha256": "15eae47414f35086ff15eb719b3bcf05023a76c7c547090c46ae6c9ba4d49d4c",
      "size": 2520
    },
    "skills/ensemble-arranging/references/folk.md": {
      "sha256": "5d1ab29243cf697ccd59e64132e08162d06f54152deb52fafc1268a7fe801003",
      "size": 2651
    },
    "skills/ensemble-arranging/references/jazz-horns.md": {
      "sha256": "e3df4171140c915bcfd36617f054cff54579d7eb6f2e6781ae017c9075d7dd4c",
      "size": 4008
    },
    "skills/ensemble-arranging/references/rhythm-section-bands.md": {
      "sha256": "c3d541b3c96a36742524ba4c2e5ba9262c33a73f5ac5df698b0971d3619d2f3d",
      "size": 2898
    },
    "skills/ensemble-arranging/references/string-quartet.md": {
      "sha256": "6e7042eb98a07029ace638e94d18d8bc9b7f8bbc63ef0c8c781cff03487afc93",
      "size": 2635
    },
    "skills/human-melodic-phrasing/SKILL.md": {
      "sha256": "f488fe9c438c01d5cf79778d8a82584dd49686b944df810b2c541db7b8500517",
      "size": 5874
    },
    "skills/human-melodic-phrasing/agents/openai.yaml": {
      "sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
      "size": 269
    },
    "skills/human-melodic-phrasing/references/bebop.md": {
      "sha256": "a9a641a33af4d502e99be95e8d914f7d7b9f197c3a2714a8a5e19c073ba26343",
      "size": 1671
    },
    "skills/human-melodic-phrasing/references/blues.md": {
      "sha256": "76461edf9dabe1579522ddf9a4ff3547b1c975f16e4c60f033f6aa0823d16478",
      "size": 1585
    },
    "skills/human-melodic-phrasing/references/pop.md": {
      "sha256": "9344c27f91a22a7c21e7666ab10a01a012769fee887f846b81cab7d5e7b0a9dd",
      "size": 1507
    },
    "skills/instrument-ranges-and-idioms/SKILL.md": {
      "sha256": "5883ecdea857a122e6bc18092d1b7ff7721615338c384dff0046f9c747bb7ae6",
      "size": 5084
    },
    "skills/instrument-ranges-and-idioms/agents/openai.yaml": {
      "sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
      "size": 269
    },
    "skills/instrument-ranges-and-idioms/references/brass.md": {
      "sha256": "1326075671ffd6fc3ed2747aa5432e4b85bf704fc05c77a95fab3fa3259f3237",
      "size": 1510
    },
    "skills/instrument-ranges-and-idioms/references/drums.md": {
      "sha256": "1de70e3e1df3c7d44ce5c23193f72177e7ba8711ea75844d31cbfa4f91faae79",
      "size": 1992
    },
    "skills/instrument-ranges-and-idioms/references/piano.md": {
      "sha256": "4b15986cda0264262bee35e63ffc8cf839dca2adb5362c2b70b00002f098705a",
      "size": 1972
    },
    "skills/instrument-ranges-and-idioms/references/strings.md": {
      "sha256": "55a2fe5cad53789d99e44b6ae63580e339238893099f16c8db0c94c1245f0812",
      "size": 1943
    },
    "skills/instrument-ranges-and-idioms/references/voices.md": {
      "sha256": "3f07181e4a25ae6517b00683ccceefb34d882c5925f65cafd03a777bec4d5c4e",
      "size": 1599
    },
    "skills/instrument-ranges-and-idioms/references/winds.md": {
      "sha256": "822061192c15d798ccf603ef570bee031a2191064fc788777c999d3ea98e5e85",
      "size": 1931
    },
    "skills/playable-fretted-parts/SKILL.md": {
      "sha256": "84f828a8c73ed15fbc5eb90e3fef2e0b3f200a3029b1f5e0a9eb85479ccc5055",
      "size": 6097
    },
    "skills/playable-fretted-parts/agents/openai.yaml": {
      "sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
      "size": 269
    }
  }
}

SHA-256 of public snapshot: 2e126cbb90eb485a6e53c0fb20bf0e8fc6e17e5e3a54161aed18725e301d9e34