← 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/string-quartet.md

--- before
+++ after
@@ -0,0 +1,55 @@
+# String quartet
+
+## Roles
+
+| Part | Default role | Alternatives |
+| --- | --- | --- |
+| violin ("Violin 1") | melody | unison with violin 2 for weight |
+| violin ("Violin 2") | harmony a third or sixth below, or counter-melody | repeated-eighth accompaniment with viola |
+| viola | inner voice, rhythmic figure, or countermelody | melody for a darker phrase |
+| cello | bass line, roots and fifths | melody in the tenor register (A3 to A4) with viola taking the bass |
+
+## Textures (change every four bars, not every bar)
+
+- **Chorale**: all four in the melody's rhythm, complete triads, cello on
+  roots.
+- **Melody with accompaniment**: violin 1 melody, violin 2 and viola in
+  repeated eighths on chord tones (broken or together), cello quarters on
+  roots and fifths.
+- **Imitation**: violin 1 states the motif, viola or cello repeats it one or
+  two bars later a fifth or an octave away while violin 1 holds.
+- **Unison or octaves**: all four on the melody for one phrase, for emphasis.
+- **Pedal**: cello holds an open string (C2, G2, D3, A3) while the upper
+  three move.
+
+## Part-writing rules (common-practice)
+
+- Complete triads on strong beats; when a voice must be omitted, drop the
+  5th. Double the root, in a first-inversion chord the soprano or bass.
+- Spacing: violin 1 to violin 2 and violin 2 to viola within an octave.
+  Viola to cello may exceed an octave.
+- No voice crossing and no overlap (a lower voice moving above where the
+  upper voice just was).
+- Inner voices move by step or hold common tones. Melody and bass prefer
+  contrary motion.
+- No parallel perfect fifths or octaves between any two parts. Parallel
+  thirds and sixths are the sound of the quartet.
+- Leading tone rises to the tonic; chordal 7ths fall by step; a 4-3
+  suspension resolves down on the next beat.
+- Cadences: V to I with the cello moving by fifth; a half cadence ends a
+  four-bar phrase on V; the melody ends a phrase on the 3rd or 5th, the
+  final one on the root.
+- Chord changes on strong beats; harmonic rhythm of one or two chords per
+  bar. Use the beat `chord` field for the second chord.
+
+## Registers and idiom
+
+- Cello below C3 alone; viola C3 to C5; violin 2 G3 to E5; violin 1 D4 to E6
+  for melody, higher only for a peak.
+- Fast passages stay on adjacent strings; a leap across strings needs a
+  longer note first.
+- Double stops on adjacent strings in thirds, sixths and octaves, held or
+  in quarters, never in fast sixteenths.
+- Not all four instruments change notes on the same beat for a whole
+  phrase; hold at least one voice through each bar.
+- Give one instrument a bar of rest every four to eight bars.
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