← 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/ensemble-arranging/references/folk.md

--- before
+++ after
@@ -0,0 +1,57 @@
+# Folk and traditional ensembles
+
+## Roles
+
+| Role | Instruments |
+| --- | --- |
+| melody | violin (fiddle), flute, recorder, pan-flute, voice, accordion written as organ, mandolin written as guitar |
+| drone or chords | guitar (open chords or DADGAD), ukulele, organ held fifths, strings pad |
+| bass | bass or contrabass on roots and fifths, or the guitar's low strings |
+| rhythm | guitar strum patterns; drums only for revival or country bands |
+
+One instrument carries the melody at a time. A second melody instrument
+doubles it in unison with small differences (heterophony), not in harmony.
+
+## Modal harmony
+
+- Find the mode of the tune before choosing chords: Ionian (major),
+  Mixolydian (major with b7), Dorian (minor with natural 6), Aeolian
+  (natural minor).
+- Mixolydian tunes: I and bVII, sometimes IV. No V7.
+- Dorian tunes: i, IV (major) and bVII. No V7 to i.
+- Aeolian tunes: i, bVII, bVI, and a minor v.
+- Ionian tunes: I, IV, V and vi; V7 is fine here.
+- Triads only, no 7ths or extensions except a sus4 or an added 2nd on a
+  drone chord. One or two chords per bar; put the second chord on the beat
+  `chord` field.
+- A drone (root and fifth held, or an open-string pedal) under a modal
+  melody is often better than chord changes.
+
+## Rhythm patterns
+
+| Tune type | Meter | Guitar | Bass |
+| --- | --- | --- | --- |
+| reel, hornpipe | 4/4 | boom-chuck: bass note on 1 and 3, chord on 2 and 4 | roots on 1 and 3 |
+| jig | 6/8 | bass note on 1, chord on 2 and 3 (twice per bar) | root on 1, fifth on 4 |
+| waltz | 3/4 | bass note on 1, chord on 2 and 3 | root on 1 |
+| polka, march | 2/4 | bass note on 1, chord on 2 | roots on 1 |
+| ballad | 4/4 or 3/4 | arpeggiated open chords with let-ring | half notes or none |
+
+Set `feel: straight`. Jigs and reels are not swung.
+
+## Form and texture
+
+- Tunes are AABB with eight-bar parts. Arrange by changing the texture per
+  repeat, not the melody: A alone with guitar, A again with the bass
+  entering, B with a second instrument in unison, B again with a drone
+  under it.
+- Ornaments (rolls, cuts) are not available; use a quick sixteenth-note
+  neighbour before the main note, sparingly.
+- Melodies stay inside an octave and a fifth, mostly stepwise with
+  arpeggiated leaps on chord tones.
+- Guitar in DADGAD: set `tuning: "dadgad"`, use open strings as drones,
+  chords as two or three fretted notes plus open strings.
+- Endings: the last melody note held for a full bar with the chord under it;
+  no drum fill, no big final chord in every part.
+- Harmony singing, when used: a second voice a third above or a sixth below
+  the melody on the chorus only, same rhythm, same words.
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