← 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/human-melodic-phrasing/SKILL.md

--- before
+++ after
@@ -0,0 +1,121 @@
+---
+name: human-melodic-phrasing
+description: Compose melodies, licks, riffs, solos, bass lines and vocal lines for Music Block that sound like a musician played them rather than a scale generator. Use whenever composing any melodic line, and when a user says the result sounds robotic, mechanical or boring.
+---
+
+Use this skill when composing any pitched line for Music Block: a guitar lick,
+a horn melody, a bass line, a vocal phrase, a piano right hand. It does not
+cover fingering (see playable-fretted-parts) or instrument ranges (see
+instrument-ranges-and-idioms).
+
+The Music Block format has no dynamics, accents, staccato, grace notes, ties
+or slurs. Everything human about the line must therefore come from four
+things you do control: which notes, which rhythms, where the rests are, and
+the technique markings on fretted instruments. Write with that in mind.
+
+## Workflow
+
+1. Name the idiom (blues, bebop, pop, folk, funk, classical) and open the
+   matching file in `references/` if one exists. Its target notes and
+   rhythmic habits override the generic advice here.
+2. Design a motif: a two- to four-note idea with a distinctive rhythm that
+   fits in half a bar or one bar.
+3. Draw a phrase map before writing notes. For a 4-bar example: bar 1 states
+   the motif, bar 2 repeats it with one change, bar 3 contrasts (new contour
+   or register), bar 4 resolves and leaves space. For 2 bars: state, then
+   answer. For 8 bars: two 4-bar phrases where the second ends more
+   conclusively.
+4. Place the target notes on strong beats, then fill between them.
+5. Write the rhythm with rests and one or two syncopations, then the pitches.
+6. Add technique markings (fretted) at the expressive points.
+7. Run the self-check, then call the tool.
+
+## Motif and repetition
+
+- Repetition is what makes a line sound intentional. Every example longer
+  than one bar should repeat at least one rhythmic or melodic cell.
+- Vary a repeat by one parameter at a time: transpose it to the next chord,
+  change its last note, displace it by an eighth, or invert its direction.
+- A lick that never repeats anything is the single most common "generated"
+  tell. So is a lick where every bar is different.
+
+## Breathing and space
+
+- End phrases before the barline or on the downbeat, then rest. Never fill
+  every beat of every bar. In a 4-bar lick, at least one full beat is rest.
+- Not every bar starts on beat 1. Use pickups: start a phrase on the "and" of
+  4 or on beat 4 of the previous bar, with rest beats first so the tool keeps
+  the notes in place.
+- Long notes are phrasing too. A held note with vibrato after a run is how
+  players mark a phrase end.
+
+## Contour
+
+- Mostly stepwise motion (seconds and thirds). One larger leap per phrase,
+  then move back by step in the opposite direction.
+- One clear peak per phrase, usually in the second half. Do not visit the
+  peak twice.
+- Avoid sawtooth scales: running straight up or straight down for more than
+  five notes in a row without a change of direction or a repeated note.
+- Avoid the arpeggio wander: chord tones cycled up and down in even values
+  with no goal note.
+
+## Target notes and harmony
+
+- On beats 1 and 3, land on chord tones of the current chord (3rd and 7th
+  say the most; the root says the least). Tensions and passing notes go on
+  weak beats and offbeats and resolve by step.
+- Over a dominant chord, tensions (b9, #9, #11, b13) resolve down by half
+  step into a chord tone of the next chord. Over a ii-V-I, aim the line at
+  the 3rd of the I chord on its downbeat.
+- Approach a target from below by half step or from above by scale step;
+  enclosures (one note above, one below, then the target) are idiomatic in
+  jazz and blues.
+- When the example demonstrates a scale, still phrase it: group the scale
+  into a rhythm, end on a chord tone, add one rest.
+
+## Rhythm
+
+- Mix values inside a bar: eighths with one dotted figure, a triplet, or a
+  quarter placed on an offbeat. A bar of eight identical eighths is fine once
+  per example, not in every bar.
+- Syncopate with rests and dotted notes, since ties are not available: a
+  dotted quarter on the "and" of 1, an eighth rest before beat 3, a note on
+  the "and" of 4 that ends the bar.
+- For swing, bebop, shuffle and jazz-blues set the example's `feel` field
+  and write straight eighths. Never fake swing with 12/8 or triplets.
+- Keep one rhythmic motif recognisable across bars; change pitches more than
+  rhythms.
+
+## Technique markings as expression (fretted parts)
+
+- Slide into the first note of a phrase or into a target note.
+- Hammer-ons and pull-offs for pairs of eighths or sixteenths in a run;
+  they mark the legato a player would use.
+- Bends at phrase peaks; a full bend to the target with vibrato is a phrase
+  ending in blues and rock.
+- Vibrato on quarter notes or longer that end a phrase.
+- Two to four markings per lick. A marking on every note is as robotic as
+  none.
+
+## Avoid list
+
+- Unbroken streams of eighths or sixteenths with no rest.
+- Straight scale runs of six or more notes in one direction.
+- Identical rhythm in every bar.
+- Every phrase starting on beat 1 and ending on the root.
+- Arpeggios cycled up and down with no target.
+- Constantly new material with nothing repeated.
+- A wide leap followed by another leap in the same direction.
+- Tension notes on strong beats without resolution.
+
+## Self-check before calling the tool
+
+- The line has one motif that appears at least twice, varied once.
+- There is at least one rest per two bars and a pickup or offbeat start
+  somewhere.
+- Strong beats carry chord tones; tensions resolve by step.
+- No run longer than five notes in one direction; one peak per phrase.
+- Rhythm varies within bars but a cell recurs across bars.
+- Swing is set through `feel`, not through note values.
+- Fretted parts carry two to four technique markings at expressive points.
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