Virtual Piano
Google AI EdgeOfficialPublished by Google AI Edge
- Skill
- Tool integration
- Design and creative
- Apache-2.0
- Low risk
- Has scripts
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The Virtual Piano skill provides a playable, horizontally-scrolling piano interface directly within the agent environment. It leverages web audio technology to allow users to interact with a keyboard layout, making it a simple tool for musical experimentation or quick melodic testing.
What it does
- Displays an interactive, horizontally-scrolling piano keyboard.
- Enables users to play musical notes via a web-based interface.
- Uses web audio to produce sound output.
When to use it
- When you want to quickly test a melody or musical idea.
- When you need a simple, accessible piano interface for creative tasks.
- When you want to engage with music-making directly through your agent.
Advantages
- Provides an immediate, visual interface for music interaction.
- Simple and intuitive to launch.
- Requires no external software installation.
Usage examples
- “Open virtual piano”
- The agent launches the virtual piano interface in a webview, allowing you to click keys to play notes.
- “I want to play piano”
- The agent displays the interactive keyboard, ready for you to start playing music.
Install
88 of its files are not mirrored here, so install it from its source:
https://github.com/google-ai-edge/gallery/tree/3972f0663b7c0a01836e9ed52acd2f6ae8b4096e/skills/featured/virtual-piano
Documentation by Google AI Edge
Virtual Piano
A playable, horizontally-scrolling virtual piano keyboard that uses web audio.
Files
index.html: The local entry point that loads the script.index.js: Returns the webview URL pointing to the GitHub-hosted UI.
Prompts / Triggers
"Open virtual piano"
"Play the piano"
"I want to play piano"
"Show me a piano keyboard"
Instructions
Call the run_js tool
Files
- ATTRIBUTION.mdAdded by AutoGineer897 B
- LICENSELicence file added by AutoGineer11.1 KiB
- README.md720 B
- SKILL.md580 B
- assets/assets/1.mp3(opens on GitHub)Not mirrored: opens on GitHub93.1 KiB
- assets/assets/10.mp3(opens on GitHub)Not mirrored: opens on GitHub79.5 KiB
- assets/assets/11.mp3(opens on GitHub)Not mirrored: opens on GitHub85.0 KiB
- assets/assets/12.mp3(opens on GitHub)Not mirrored: opens on GitHub82.4 KiB
- assets/assets/13.mp3(opens on GitHub)Not mirrored: opens on GitHub82.0 KiB
- assets/assets/14.mp3(opens on GitHub)Not mirrored: opens on GitHub81.1 KiB
- assets/assets/15.mp3(opens on GitHub)Not mirrored: opens on GitHub81.4 KiB
- assets/assets/16.mp3(opens on GitHub)Not mirrored: opens on GitHub78.9 KiB
- assets/assets/17.mp3(opens on GitHub)Not mirrored: opens on GitHub80.3 KiB
- assets/assets/18.mp3(opens on GitHub)Not mirrored: opens on GitHub85.2 KiB
- assets/assets/19.mp3(opens on GitHub)Not mirrored: opens on GitHub83.2 KiB
- assets/assets/2.mp3(opens on GitHub)Not mirrored: opens on GitHub90.4 KiB
- assets/assets/20.mp3(opens on GitHub)Not mirrored: opens on GitHub83.7 KiB
- assets/assets/21.mp3(opens on GitHub)Not mirrored: opens on GitHub82.8 KiB
- assets/assets/22.mp3(opens on GitHub)Not mirrored: opens on GitHub82.1 KiB
- assets/assets/23.mp3(opens on GitHub)Not mirrored: opens on GitHub81.0 KiB
- assets/assets/24.mp3(opens on GitHub)Not mirrored: opens on GitHub77.2 KiB
- assets/assets/25.mp3(opens on GitHub)Not mirrored: opens on GitHub83.4 KiB
- assets/assets/26.mp3(opens on GitHub)Not mirrored: opens on GitHub80.7 KiB
- assets/assets/27.mp3(opens on GitHub)Not mirrored: opens on GitHub80.6 KiB
- assets/assets/28.mp3(opens on GitHub)Not mirrored: opens on GitHub84.2 KiB
- assets/assets/29.mp3(opens on GitHub)Not mirrored: opens on GitHub78.9 KiB
- assets/assets/3.mp3(opens on GitHub)Not mirrored: opens on GitHub86.7 KiB
- assets/assets/30.mp3(opens on GitHub)Not mirrored: opens on GitHub83.8 KiB
- assets/assets/31.mp3(opens on GitHub)Not mirrored: opens on GitHub85.7 KiB
- assets/assets/32.mp3(opens on GitHub)Not mirrored: opens on GitHub56.2 KiB
- assets/assets/33.mp3(opens on GitHub)Not mirrored: opens on GitHub81.9 KiB
- assets/assets/34.mp3(opens on GitHub)Not mirrored: opens on GitHub83.8 KiB
- assets/assets/35.mp3(opens on GitHub)Not mirrored: opens on GitHub87.0 KiB
- assets/assets/36.mp3(opens on GitHub)Not mirrored: opens on GitHub85.9 KiB
- assets/assets/37.mp3(opens on GitHub)Not mirrored: opens on GitHub83.9 KiB
- assets/assets/38.mp3(opens on GitHub)Not mirrored: opens on GitHub89.2 KiB
- assets/assets/39.mp3(opens on GitHub)Not mirrored: opens on GitHub89.0 KiB
- assets/assets/4.mp3(opens on GitHub)Not mirrored: opens on GitHub85.3 KiB
- assets/assets/40.mp3(opens on GitHub)Not mirrored: opens on GitHub90.3 KiB
- assets/assets/41.mp3(opens on GitHub)Not mirrored: opens on GitHub86.4 KiB
- assets/assets/42.mp3(opens on GitHub)Not mirrored: opens on GitHub95.3 KiB
- assets/assets/43.mp3(opens on GitHub)Not mirrored: opens on GitHub85.6 KiB
- assets/assets/44.mp3(opens on GitHub)Not mirrored: opens on GitHub96.4 KiB
- assets/assets/45.mp3(opens on GitHub)Not mirrored: opens on GitHub90.0 KiB
- assets/assets/46.mp3(opens on GitHub)Not mirrored: opens on GitHub91.3 KiB
- assets/assets/47.mp3(opens on GitHub)Not mirrored: opens on GitHub91.3 KiB
- assets/assets/48.mp3(opens on GitHub)Not mirrored: opens on GitHub100.8 KiB
- assets/assets/49.mp3(opens on GitHub)Not mirrored: opens on GitHub95.3 KiB
- assets/assets/5.mp3(opens on GitHub)Not mirrored: opens on GitHub82.2 KiB
- assets/assets/50.mp3(opens on GitHub)Not mirrored: opens on GitHub94.0 KiB
- assets/assets/51.mp3(opens on GitHub)Not mirrored: opens on GitHub94.3 KiB
- assets/assets/52.mp3(opens on GitHub)Not mirrored: opens on GitHub84.6 KiB
- assets/assets/53.mp3(opens on GitHub)Not mirrored: opens on GitHub86.0 KiB
- assets/assets/54.mp3(opens on GitHub)Not mirrored: opens on GitHub93.0 KiB
- assets/assets/55.mp3(opens on GitHub)Not mirrored: opens on GitHub92.3 KiB
- assets/assets/56.mp3(opens on GitHub)Not mirrored: opens on GitHub94.9 KiB
- assets/assets/57.mp3(opens on GitHub)Not mirrored: opens on GitHub90.5 KiB
- assets/assets/58.mp3(opens on GitHub)Not mirrored: opens on GitHub88.6 KiB
- assets/assets/59.mp3(opens on GitHub)Not mirrored: opens on GitHub90.9 KiB
- assets/assets/6.mp3(opens on GitHub)Not mirrored: opens on GitHub87.0 KiB
- assets/assets/60.mp3(opens on GitHub)Not mirrored: opens on GitHub90.9 KiB
- assets/assets/61.mp3(opens on GitHub)Not mirrored: opens on GitHub91.4 KiB
- assets/assets/62.mp3(opens on GitHub)Not mirrored: opens on GitHub92.0 KiB
- assets/assets/63.mp3(opens on GitHub)Not mirrored: opens on GitHub95.6 KiB
- assets/assets/64.mp3(opens on GitHub)Not mirrored: opens on GitHub92.9 KiB
- assets/assets/65.mp3(opens on GitHub)Not mirrored: opens on GitHub92.1 KiB
- assets/assets/66.mp3(opens on GitHub)Not mirrored: opens on GitHub89.3 KiB
- assets/assets/67.mp3(opens on GitHub)Not mirrored: opens on GitHub88.6 KiB
- assets/assets/68.mp3(opens on GitHub)Not mirrored: opens on GitHub92.0 KiB
- assets/assets/69.mp3(opens on GitHub)Not mirrored: opens on GitHub88.5 KiB
- assets/assets/7.mp3(opens on GitHub)Not mirrored: opens on GitHub80.0 KiB
- assets/assets/70.mp3(opens on GitHub)Not mirrored: opens on GitHub89.2 KiB
- assets/assets/71.mp3(opens on GitHub)Not mirrored: opens on GitHub89.6 KiB
- assets/assets/72.mp3(opens on GitHub)Not mirrored: opens on GitHub89.0 KiB
- assets/assets/73.mp3(opens on GitHub)Not mirrored: opens on GitHub88.4 KiB
- assets/assets/74.mp3(opens on GitHub)Not mirrored: opens on GitHub89.7 KiB
- assets/assets/75.mp3(opens on GitHub)Not mirrored: opens on GitHub89.0 KiB
- assets/assets/76.mp3(opens on GitHub)Not mirrored: opens on GitHub88.7 KiB
- assets/assets/77.mp3(opens on GitHub)Not mirrored: opens on GitHub88.7 KiB
- assets/assets/78.mp3(opens on GitHub)Not mirrored: opens on GitHub90.5 KiB
- assets/assets/79.mp3(opens on GitHub)Not mirrored: opens on GitHub91.2 KiB
- assets/assets/8.mp3(opens on GitHub)Not mirrored: opens on GitHub83.9 KiB
- assets/assets/80.mp3(opens on GitHub)Not mirrored: opens on GitHub90.7 KiB
- assets/assets/81.mp3(opens on GitHub)Not mirrored: opens on GitHub90.1 KiB
- assets/assets/82.mp3(opens on GitHub)Not mirrored: opens on GitHub90.5 KiB
- assets/assets/83.mp3(opens on GitHub)Not mirrored: opens on GitHub90.5 KiB
- assets/assets/84.mp3(opens on GitHub)Not mirrored: opens on GitHub91.5 KiB
- assets/assets/85.mp3(opens on GitHub)Not mirrored: opens on GitHub92.0 KiB
- assets/assets/86.mp3(opens on GitHub)Not mirrored: opens on GitHub90.6 KiB
- assets/assets/87.mp3(opens on GitHub)Not mirrored: opens on GitHub90.4 KiB
- assets/assets/88.mp3(opens on GitHub)Not mirrored: opens on GitHub91.1 KiB
- assets/assets/9.mp3(opens on GitHub)Not mirrored: opens on GitHub75.5 KiB
- assets/ui.html7.0 KiB
- scripts/index.html957 B
- scripts/index.jsScript1.0 KiB
ATTRIBUTION.md
Attribution
This folder is an unmodified copy of the Agent Skill "virtual-piano", distributed by AutoGineer (https://autogineer.com/agent-skills).
Commit: 3972f0663b7c0a01836e9ed52acd2f6ae8b4096e
Published by: Google AI Edge (https://github.com/google-ai-edge)
Publisher: Google AI Edge (https://github.com/google-ai-edge)
Licence: Apache License 2.0 (https://github.com/google-ai-edge/gallery/blob/3972f0663b7c0a01836e9ed52acd2f6ae8b4096e/LICENSE)
Licence evidence: repository licence LICENSE
Retrieved: 2026-11-07
The skill's own files are unmodified copies. AutoGineer is not affiliated with or endorsed by the author or the publisher.
Files added by AutoGineer
ATTRIBUTION.md: this file, written by AutoGineer
LICENSE: copied from LICENSE
Requirements and compatibility
Written for: Google AI Edge Gallery
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Node.js
Security
What our scanner noticed· Low risk
- Scripts that your agent may run
This skill includes scripts that your agent may run. Read them before you use it.
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Google AI Edge
- Publisher
- Google AI Edge (Official)
- Source
- google-ai-edge/gallery · skills/featured/virtual-piano · commit 3972f06
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Google AI Edge or Google AI Edge.
Get it from the source
88 of this skill’s files are not mirrored here, so there is no ZIP. Get the complete skill from its source: google-ai-edge/gallery