score

Engrave LilyPond scores into PDF and SVG pages with MIDI timing inspection and browser playback.

465|41|Updated Aug 4, 2026
One-click install
npx skills add https://github.com/autonomous-ai/openharness --skill score-autonomous-ai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: score
Source: https://github.com/autonomous-ai/openharness/tree/main/store/agents/score/skills/score
Command: npx skills add https://github.com/autonomous-ai/openharness --skill score-autonomous-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Composing music in LilyPond source requires repeatedly compiling, checking engraving output, and verifying note timing by hand, with no quick way to hear or inspect the result. This Skill automates the full compose-engrave-audition loop so errors surface immediately. ## Core Features & Use Cases - Deterministic engraving: Runs LilyPond with warnings treated as errors to produce validated PDF and SVG score pages, preserving old artifacts when a build fails. - MIDI parsing and preview: Parses type 0/1 PPQ MIDI files to extract note timing, then renders a browser preview with play, pause, seek, slowdown, and a pitch-over-time timeline. - Use Case: A composer edits score.ly to adjust a phrase, runs the render script, inspects the engraved pages for collisions and page turns, then listens to the synthesized sketch at half speed to confirm the rhythm before handing off score.pdf, score.midi, and score.ly. ## Quick Start Ask the agent to render the current score.ly file with the score skill and show the engraved pages with a playable MIDI preview.

Frequently Asked Questions about score

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I engrave a LilyPond score into PDF and MIDI?

Edit score.ly with explicit key, meter, tempo, and voices, keeping both the layout and midi blocks, then run the render-score.sh script. LilyPond compiles the source with warnings as errors and produces score.pdf, score.midi, and a browser preview.

How do I preview MIDI playback from a LilyPond score in the browser?

The build generates a score.html preview that parses the exported MIDI and plays notes through a simple Web Audio synth. It supports play, pause, seeking, speed adjustment from 0.5x to 1.5x, and a pitch-over-time timeline with a live playhead.

What LilyPond and Node versions does score rendering require?

The workflow requires LilyPond, tested with version 2.26.0, and Node 20 or later. You can override the LilyPond binary location by setting the LILYPOND_BIN environment variable.

Why did my LilyPond score render fail but old files remain?

Staged builds preserve previous artifacts when compilation fails and mark the verdict as not ready. Check .harness/render.log for the LilyPond error, and never treat leftover output as a successful new render.

What MIDI formats does the score preview parser support?

The parser supports type 0 and type 1 MIDI files with PPQ timing, but not SMPTE timing. Preview limits are 10,000 notes, one hour of duration, and 40 engraved SVG pages.

Does the score skill support MuseScore export or realistic audio?

No, the workflow does not implement MuseScore export, and the browser preview uses a deliberately simple local synth. Pedal, instrument timbres, and expressive phrasing are not reproduced.