Agent Examples

Copy-paste tasks and stable calls for agents that need to discover, call, verify, and compose with Agent Pitch Map.

C4 to guitar decision proof

Map C4 to piano identity, guitar positions, interval role, and proof fields.

/api/map?note=C4&root=C&scale=major&piano=61-key

MIDI identity, frequency, exact guitar positions, same-note family, and theory proof.

Melody to first-position guitar route

Convert C4 D4 E4 G4 into a ranked first-position guitar route under fret 7.

/api/route?notes=C4,D4,E4,G4&root=C&scale=major&position=first&maxFret=7

Ranked string/fret route, movement proof, tab events, ASCII tab, and share URLs.

Route from F barre shape

Route F G A while staying near the standard F barre hand shape and explain the barre proof.

/api/route?notes=F4,G4,A4&root=F&scale=major&position=first&maxFret=12&frets=1,3,3,2,1,1

shapeContext with barres[], hand-window source, start-anchor proof, ranked route notes, tab events, ASCII tab, and share URLs.

Route render proof round trip

Render the best route as tab and verify that every string/fret coordinate still matches MIDI.

GET /api/route then POST tabRenderRequest.path

tabRenderRequest.body, eventProof[].stringFretMatchesMidi, project.tabProject.measures[0].notes, ASCII tab, and share URLs.

Piano note to guitar coordinates

Where does D4 appear on standard guitar, and which other D notes are nearby?

/api/map?note=D4&root=C&scale=major&piano=49-key

Exact pitch positions, same-note-name positions, piano key, frequency, and theory membership.

Chord voicing selection

Find three C major voicings playable between frets 0-5.

/api/chord?root=C&chord=major&limit=3

Playable voicings with interval labels, optimization cost, chord-tone proof, and fingering proof.

Fret shape to chord identity

Given frets 1,3,3,2,1,1, identify the chord, omitted tones, barre span, and likely function.

/api/identify?frets=1,3,3,2,1,1&contextRoot=F&limit=5

Ranked chord hypotheses with coverage proof, missing/omitted tones, bass role, barres[], barreDisplayProof, key-context function, and playable next moves.

Scale and theory explanation

Explain why G is the fifth of C lydian and show playable guitar anchors.

/api/scale?root=C&scale=lydian&note=G2

Rooted scale degrees, selected-note membership, characteristic tones, and guitar anchors.

Structured events to ASCII tab

Generate ASCII tab for a C major arpeggio from structured note events.

/api/tab

ASCII tab, canonical ProjectState, MIDI/string-fret proof, and compact workbench URL.

Chord resolution with proof

Find the top three G7 to Cmaj7 guitar resolutions and explain why the first is best.

/api/voice-leading?fromRoot=G&fromChord=dominant7&toRoot=C&toChord=major7&limit=3

Three ranked transitions with ids, scores, source/target frets, proof fields, tab events, and per-rank workbench URLs.

Constrained D Dorian riff

Write a D Dorian two-bar guitar idea under first-position constraints and return tab plus URL.

/api/compose?key=D&scale=dorian&chord=minor7&motif=dorian-compass&position=first&bars=2

Playable ProjectState, ASCII tab, semantic overlays, app URL, compact URL, and agent usage notes.

Guide-tone practice drill

Build a beginner C guide-tone drill with count-in timing, playable tab, and route proof.

/api/practice/drill?target=guide-tones&key=C&level=beginner&position=first

MIDI target events, pulse schedule, ranked guitar route, tab events, ASCII tab, ProjectState, and share URLs.

Route Render Proof Round Trip

Use this when a ranked route should become canonical tab without parsing ASCII. The route planner supplies the ready tab render request from structured MIDI-backed events.

1. GET /api/route?notes=C4,D4,E4,G4&root=C&scale=major&position=first&maxFret=7 2. Read from the response: tabRenderProof tabRenderRequest.path tabRenderRequest.body routes[0].tabNotes 3. Confirm before posting: tabRenderProof.expectedEventCount === routes[0].tabNotes.length tabRenderProof.expectedEventProof === "eventProof[].stringFretMatchesMidi" tabRenderProof.expectedProjectPath === "project.tabProject.measures[0].notes" 4. POST tabRenderRequest.path with tabRenderRequest.body 5. Verify: eventProof[].stringFretMatchesMidi === true project.tabProject.measures[0].notes.length === routes[0].tabNotes.length

Compact Route Proof Response Shape

{ "routes": [ { "id": "route-1", "efficiencyScore": 97, "proof": { "allNotesMapped": true, "handWindow": "first-position", "routeSpan": 3, "totalFretMovement": 4, "totalStringMovement": 3 }, "tabNotes": [ { "midi": 60, "note": "C4", "string": 2, "fret": 1, "startBeat": 0 }, { "midi": 62, "note": "D4", "string": 2, "fret": 3, "startBeat": 0.5 } ] } ], "tabRenderProof": { "expectedEventCount": 4, "expectedEventsSource": "routes[0].tabNotes", "expectedEventProof": "eventProof[].stringFretMatchesMidi", "expectedProjectPath": "project.tabProject.measures[0].notes", "proofStatusBeforePost": "pending-post", "renderEndpoint": "/api/tab" }, "tabRenderRequest": { "method": "POST", "path": "/api/tab", "body": { "title": "Agent Pitch Map route", "tuning": "standard-6-string", "events": "same structured events as routes[0].tabNotes" } } }

POST /api/tab Example

{ "title": "C major arpeggio", "tuning": "standard", "tempo": 96, "timeSignature": "4/4", "events": [ { "note": "C3", "string": 5, "fret": 3, "beat": 1 }, { "note": "E3", "string": 4, "fret": 2, "beat": 2 }, { "note": "G3", "string": 3, "fret": 0, "beat": 3 }, { "note": "C4", "string": 2, "fret": 1, "beat": 4 } ] }