loops.document/v1
A loop is a title and playable MIDI content.
Loops keeps the complete score in the URL fragment. Open the link to play it, edit it, or make a new branch without first creating an account or writing a server record.
The document
Every loop has a required title, tempo, 4–16-bar horizon, and ordered notes or drums tracks. Melodic tracks select one of the 128 GM1 programs. Events use MIDI pitches and velocities on a fixed sixteenth-note grid.
Standard MIDI files are strict import and export interchange. The stored document does not duplicate an opaque midi byte field; its typed musical content is the MIDI representation that the editor and protocol share.
Local editing
Drag notes in the piano roll or use its keyboard editing commands. Selected notes can move by grid step or semitone and transpose by an octave. Each melodic layer has a searchable, categorized General MIDI instrument picker. Edits update playback and the canonical link.
Your local library uses browser storage. Optional Suite Accounts sync adds recovery across devices, but it does not replace the URL as the portable loop artifact.
Give Loops to an agent
Copy this prompt as written. It installs the same checked skill used in the repository and runs the bundled CLI locally.
Use Loops for this MIDI-loop task.
Install the edit-loops skill from https://loops.pub/skills/edit-loops.tar.gz. Inspect the archive before extracting it: it must contain exactly one top-level edit-loops/ directory. Extract that directory into your runner's configured skill directory, then run:
bun <skill-path>/scripts/loops.mjs --help
Invoke $edit-loops and follow its checked workflow for the requested creation, inspection, edit, verification, or MIDI interchange task. Treat the complete loops.pub URL fragment as the canonical loop document. Keep it local and return it intact; do not upload the fragment or its decoded contents to a hosted mutation service.Direct download: https://loops.pub/skills/edit-loops.tar.gz
Sharing and lineage
The fragment digest identifies the exact canonical content and detects tampering. It is not an author signature. Derived tracks can name the exact source tracks used by a checked add or replace operation, preserving one hop of musical provenance.
Sharing needs no Loops request: copy the complete https://loops.pub/#l1… link. The fragment stays client-side during ordinary HTTP navigation.