Update to Music Block
Snapshot Oct 6, 2026 · 00:02 UTC · version 1.2.0
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
32a62a07f2aa1381f5d77cfd11205ba9faacd594ebcb11038f444194bfbb7f40
5e1639fbd15361d3ed3d53799f1867006c8a04e64d3597b49040a1b341fc9544
Package file
4854
3653
Package file
Not present
{"sha256":"dd428a96d93d50638e4ad37a0c1802247cf48c184edb843cea64a832efcf7032","size":5591}
Package file
Not present
{"sha256":"83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c","size":269}
Compare saved observations
Download comparison JSONChanged files
skills/ensemble-arranging/SKILL.md →
skills/ensemble-arranging/agents/openai.yaml →
skills/ensemble-arranging/references/choir.md →
skills/ensemble-arranging/references/folk.md →
skills/ensemble-arranging/references/jazz-horns.md →
skills/ensemble-arranging/references/rhythm-section-bands.md →
skills/ensemble-arranging/references/string-quartet.md →
skills/human-melodic-phrasing/SKILL.md →
skills/human-melodic-phrasing/agents/openai.yaml →
skills/human-melodic-phrasing/references/bebop.md →
skills/human-melodic-phrasing/references/blues.md →
skills/human-melodic-phrasing/references/pop.md →
skills/instrument-ranges-and-idioms/SKILL.md →
skills/instrument-ranges-and-idioms/agents/openai.yaml →
skills/instrument-ranges-and-idioms/references/brass.md →
skills/instrument-ranges-and-idioms/references/drums.md →
skills/instrument-ranges-and-idioms/references/piano.md →
skills/instrument-ranges-and-idioms/references/strings.md →
skills/instrument-ranges-and-idioms/references/voices.md →
skills/instrument-ranges-and-idioms/references/winds.md →
skills/playable-fretted-parts/SKILL.md
--- before +++ after @@ -0,0 +1,116 @@ +--- +name: playable-fretted-parts +description: Write guitar, electric guitar, bass and ukulele parts (string/fret "bars" for Music Block) that a human can actually finger at the stated tempo. Use before composing any fretted lick, riff, exercise, bass line or chord voicing, and when fixing a playability warning. +--- + +Use this skill whenever a Music Block example contains a part written as `bars` +(string + fret per note) for guitar, electric-guitar, bass or ukulele. The +tool only rejects impossible input (two notes on one string, a string that does +not exist) and warns about chords wider than five frets. Everything below is +what the validator cannot judge and what separates real TAB from random +string/fret pairs. + +## Workflow + +1. Pick the position first. A position is the fret under the index finger. + The hand covers that fret plus the next three (one finger per fret) and + any open string. Write the whole phrase inside that window before + considering a shift. +2. Choose strings for the line, not just pitches. Every pitch exists in + several places; put a fast run on two or three adjacent strings inside the + position rather than walking up one string. +3. Place shifts deliberately: on a slide, on an open string, on a long note, + or at a rest. Never shift in the middle of a run of eighths or sixteenths. +4. Add technique markings where a player would use them (below). They are + the main way to make a line sound human, because the format has no + dynamics or articulation. +5. Before calling the tool, run the self-check at the end of this file. + +## Left hand: positions and stretches + +- One finger per fret. Inside a beat, fretted notes span at most 4 frets + (open strings do not count). Across a phrase without a shift, at most 5. +- Above fret 12 the frets are closer; a span of 5 to 6 is fine there. Below + fret 5 the frets are wide; keep spans to 4. +- A stretch of one extra fret with the pinky is fine for a single note, not + for a repeated figure. +- Consecutive beats that jump more than 5 frets need a slide, a rest, or an + open string between them. If none fits, refinger the second note on + another string in the current position. +- Do not mirror keyboard thinking: a guitar run that changes string on every + note is awkward. Group two to four notes per string. + +## Tempo limits + +| Tempo | Sixteenths | Eighths | Position shifts | +| --- | --- | --- | --- | +| up to 90 BPM | anywhere inside the position | free | on any beat boundary | +| 90 to 140 BPM | adjacent frets and adjacent strings only | free inside the position | at most one per bar, on a slide or long note | +| above 140 BPM | short bursts of 4 or fewer, on one string with hammer or pull | inside the position, at most two string changes per beat | none mid-phrase | + +Triplet eighths count as eighths; sextuplets count as sixteenths. + +## Technique markings + +- `hammer` and `pull` connect this beat to the next beat on the SAME string, + 1 to 3 frets apart. Hammer goes up in pitch, pull goes down. Never mark a + hammer or pull into a note on a different string or the last beat of the + example. +- `slide` connects to the next beat on the same string. Keep slides to 5 + frets or less in fast passages; long slides only into a held note. +- `bend-half` and `bend-full` belong on strings 1 to 3 at fret 5 or higher. + Bending a wound string (4 to 6) or a low fret is possible but rare; avoid it + unless the user asks. A full bend needs the note below the target: write the + fret of the starting pitch, the bend supplies the rest. +- `vibrato` on notes of a quarter or longer, especially phrase endings and + bend peaks. +- `palm-mute` on low-string riff notes, typically eighths on strings 5 and 6. +- `let-ring` on arpeggiated chord tones on different strings. +- A single lick usually carries two to four markings, not one per note. + +## Chord voicings + +- At most 4 fretted notes in a shape unless one fret is a barre (two or more + notes on the same fret with nothing lower). A barre covers all higher + strings at that fret, so an open string cannot sit between barred strings. +- Fretted notes in a shape span at most 4 frets below fret 5, 5 frets higher + up. The tool warns above 5. +- Every note in a chord is on a distinct string. Prefer common shapes: open + chords, E and A shape barres, drop-2 and drop-3 voicings on strings 1 to 4 + or 2 to 5, shell voicings (root, 3rd, 7th) for jazz comping. +- Comping under a lick: 3 or 4 note voicings on the middle strings, not + 6-string barres on every beat. +- Chord notes played together must be reachable at the same time; do not + combine a note at fret 2 on string 6 with fret 8 on string 1. + +## Bass + +- Same one-finger-per-fret rule over 4 frets; many players use a 3-fret + span below fret 5. Open strings are the usual shift point. +- Walking bass: quarter notes, roots or fifths on beats 1 and 3, chord tones + or chromatic approach notes on beats 2 and 4, at most one leap per bar. +- Sixteenth-note bass lines stay on one or two strings and repeat a pattern. +- Bass lines rarely go above fret 12 or use chords; keep the register in + frets 0 to 9 unless the user wants a solo. + +## Ukulele + +- Standard tuning is re-entrant: string 4 (G4) is higher than string 3 (C4). + Melodies live on strings 1 and 2, sometimes 3. Do not write a "low" bass + note on string 4. +- Position window is 4 frets; chords use all four strings; no bends. + +## Self-check before calling the tool + +- Each phrase sits inside one 4-fret window (plus open strings) or shifts at + a slide, open string, long note or rest. +- No beat-to-beat jump larger than 5 frets without one of those. +- Sixteenths obey the tempo table. +- Every hammer, pull and slide has a following note on the same string. +- Bends are on strings 1 to 3 at fret 5 or above. +- Chord shapes have at most 4 fretted notes or a barre, span 4 to 5 frets, + and contain no open string between barred strings. +- Bass and ukulele parts follow their sections. + +If the tool returns a playability warning, treat it as a bug in the example +and re-voice the beat rather than explaining the warning to the user.
Full technical diff · 24 changed fields
changed /files/.codex-plugin~1plugin.json/sha256
"32a62a07f2aa1381f5d77cfd11205ba9faacd594ebcb11038f444194bfbb7f40"
"5e1639fbd15361d3ed3d53799f1867006c8a04e64d3597b49040a1b341fc9544"
changed /files/.codex-plugin~1plugin.json/size
4854
3653
added /files/skills~1ensemble-arranging~1SKILL.md
Field was absent
{
"sha256": "dd428a96d93d50638e4ad37a0c1802247cf48c184edb843cea64a832efcf7032",
"size": 5591
}added /files/skills~1ensemble-arranging~1agents~1openai.yaml
Field was absent
{
"sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
"size": 269
}added /files/skills~1ensemble-arranging~1references~1choir.md
Field was absent
{
"sha256": "15eae47414f35086ff15eb719b3bcf05023a76c7c547090c46ae6c9ba4d49d4c",
"size": 2520
}added /files/skills~1ensemble-arranging~1references~1folk.md
Field was absent
{
"sha256": "5d1ab29243cf697ccd59e64132e08162d06f54152deb52fafc1268a7fe801003",
"size": 2651
}added /files/skills~1ensemble-arranging~1references~1jazz-horns.md
Field was absent
{
"sha256": "e3df4171140c915bcfd36617f054cff54579d7eb6f2e6781ae017c9075d7dd4c",
"size": 4008
}added /files/skills~1ensemble-arranging~1references~1rhythm-section-bands.md
Field was absent
{
"sha256": "c3d541b3c96a36742524ba4c2e5ba9262c33a73f5ac5df698b0971d3619d2f3d",
"size": 2898
}added /files/skills~1ensemble-arranging~1references~1string-quartet.md
Field was absent
{
"sha256": "6e7042eb98a07029ace638e94d18d8bc9b7f8bbc63ef0c8c781cff03487afc93",
"size": 2635
}added /files/skills~1human-melodic-phrasing~1SKILL.md
Field was absent
{
"sha256": "f488fe9c438c01d5cf79778d8a82584dd49686b944df810b2c541db7b8500517",
"size": 5874
}added /files/skills~1human-melodic-phrasing~1agents~1openai.yaml
Field was absent
{
"sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
"size": 269
}added /files/skills~1human-melodic-phrasing~1references~1bebop.md
Field was absent
{
"sha256": "a9a641a33af4d502e99be95e8d914f7d7b9f197c3a2714a8a5e19c073ba26343",
"size": 1671
}added /files/skills~1human-melodic-phrasing~1references~1blues.md
Field was absent
{
"sha256": "76461edf9dabe1579522ddf9a4ff3547b1c975f16e4c60f033f6aa0823d16478",
"size": 1585
}added /files/skills~1human-melodic-phrasing~1references~1pop.md
Field was absent
{
"sha256": "9344c27f91a22a7c21e7666ab10a01a012769fee887f846b81cab7d5e7b0a9dd",
"size": 1507
}added /files/skills~1instrument-ranges-and-idioms~1SKILL.md
Field was absent
{
"sha256": "5883ecdea857a122e6bc18092d1b7ff7721615338c384dff0046f9c747bb7ae6",
"size": 5084
}added /files/skills~1instrument-ranges-and-idioms~1agents~1openai.yaml
Field was absent
{
"sha256": "83850850f85192a9f264622a82381e9a113b2f6cf69f10ab87fd5275c272da5c",
"size": 269
}added /files/skills~1instrument-ranges-and-idioms~1references~1brass.md
Field was absent
{
"sha256": "1326075671ffd6fc3ed2747aa5432e4b85bf704fc05c77a95fab3fa3259f3237",
"size": 1510
}added /files/skills~1instrument-ranges-and-idioms~1references~1drums.md
Field was absent
{
"sha256": "1de70e3e1df3c7d44ce5c23193f72177e7ba8711ea75844d31cbfa4f91faae79",
"size": 1992
}added /files/skills~1instrument-ranges-and-idioms~1references~1piano.md
Field was absent
{
"sha256": "4b15986cda0264262bee35e63ffc8cf839dca2adb5362c2b70b00002f098705a",
"size": 1972
}added /files/skills~1instrument-ranges-and-idioms~1references~1strings.md
Field was absent
{
"sha256": "55a2fe5cad53789d99e44b6ae63580e339238893099f16c8db0c94c1245f0812",
"size": 1943
}added /files/skills~1instrument-ranges-and-idioms~1references~1voices.md
Field was absent
{
"sha256": "3f07181e4a25ae6517b00683ccceefb34d882c5925f65cafd03a777bec4d5c4e",
"size": 1599
}added /files/skills~1instrument-ranges-and-idioms~1references~1winds.md
Field was absent
{
"sha256": "822061192c15d798ccf603ef570bee031a2191064fc788777c999d3ea98e5e85",
"size": 1931
}added /files/skills~1playable-fretted-parts~1SKILL.md
Field was absent
{
"sha256": "84f828a8c73ed15fbc5eb90e3fef2e0b3f200a3029b1f5e0a9eb85479ccc5055",
"size": 6097
}added /files/skills~1playable-fretted-parts~1agents~1openai.yaml
Field was absent
{
"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