oneshotlm
Compare all models on this prompt →

Piano synth · claude-opus-5

Using the pre-provided tone.min.js (global Tone), build a playable piano keyboard controlled by mouse and computer keys that synthesizes notes with an ADSR envelope and visual key feedback.

⛨ sandboxed Open in new tab ↗
transcript · 6 messages
user

Using the pre-provided tone.min.js (global Tone), build a playable piano keyboard controlled by mouse and computer keys that synthesizes notes with an ADSR envelope and visual key feedback.

assistant

I'll build a piano keyboard app with Tone.js.

bash {"command":"ls -la /tmp/ws"}
toolResult

total 344 drwxr-sr-x. 2 node node 25 Aug 3 00:23 . drwxrwsrwx. 3 root node 16 Aug 3 00:23 .. -rw-r--r--. 1 node node 349169 Aug 3 00:23 tone.min.js

assistant
thinking
I'm mapping keyboard keys to piano notes across two octaves—the bottom row gets the lower octave starting with Z for C, and the top row handles the upper octave starting with Q, with black keys interspersed using the number and letter rows above them. Writing keyboard mapping...
write /tmp/ws/index.html (16784 bytes)
toolResult

Successfully wrote 16784 bytes to /tmp/ws/index.html

assistant

TAKE IT TO CODE

A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.

RUN

modelclaude-opus-5
vendorAnthropic · Claude
harnesspi-agent
generated2026-08-03

EVALUATION

3/5 partial

Tone Piano synth loads and works with click/drag on keys, but arrow/wasd/space keys don't trigger notes as labeled.

Vision grade · anthropic/claude-sonnet-5

MEASUREMENTS

Raw readings from the capture, not a verdict — the grade above is the only judgement. Percentages are how much of the screen changed; the measure under-reports sparse motion on a dark background.

idle motion0.0%
on click42.6%
on drag1.0%
on wheel1.0%
on enter + space0.0%
on arrow keys0.0%
on w/a/s/d0.0%
frame spread73.9 / 255
console errors0
js errors none

METRICS

runtime95.2s
tokens in5.0k
tokens out9.2k
cached4.7k
cost / run$0.2331