A presentation and technical exploration by Brett Morgan categorizing how Agent Skills (following the agentskills.io open specification) are authored, generated, and applied in practice—using the reverse-engineering of embedded firmware for the this.is.NOISE Gamma mini synth (powered by an Electro-Smith Daisy Seed 2 DFM) as a real-world case study.
- Companion Hardware & Firmware Repository: github.com/domesticmouse/reverse-engineering-gamma
- Blog Post: Reverse Engineering a this.is.NOISE Gamma Synth (Medium)
When reverse-engineering the Gamma mini synth without schematics or source code, seven custom Agent Skills emerged across three distinct authoring patterns (plus a capstone mashup):
-
Way 1: Library Review Skills
libdaisy-guide&daisysp-guide- Created by having an agent inspect C++ library source trees (
libDaisyandDaisySP), synthesize architectural and real-time DSP reference reports, and package those findings into reusable skills.
-
Way 2: DFU Operational Skills
gamma-firmware-flash&gamma-firmware-restore- Created by solving USB-C
dfu-utilbootloader flashing requirements (BOOT_SRAM0x24000000vector table relocation and the ~2.5s Daisy bootloader grace window) and wrapping the workflow into deterministic Python scripts and operational runbooks.
-
Way 3: Hardware Discovery Skills
gamma-pinout&gamma-hardware-controls- Distilled from a phased series of interactive diagnostic firmwares that mapped physical pins, ADC channels, polarities, and C++ driver idioms for the 14 tactile keys, 4 potentiometers, 2 dual-axis thumbsticks, rotary encoder, and SSD1306 OLED display.
-
The Capstone Mashup Skill
gamma-usb-connectivity- Combines all three patterns into a single skill package: discovered USB pinout facts (
UsbHandle::FS_EXTERNALonD29/D30), a deadlock-immune C++ firmware driver (gamma_usb.h), and a host-side Python communication utility (gamma_usb.py).
slides/— Slidev presentation deck, custom Vue components, layouts, and acts (01-primer.mdthrough06-experiment-and-conclusion.md)..agents/skills/— Agent Skills packages used both in the Gamma mini synth case study and for authoring/maintaining this repository.terminal-recordings/— Sanitized asciinema.castrecordings embedded in the presentation.GLOSSARY.md— Canonical project terminology and domain language.
The presentation is built with Slidev (Vue 3 + Vite).
cd slides
npm install
npm run devTo build the static bundle locally:
cd slides
npm run buildLicensed under the Apache License, Version 2.0. See LICENSE for full terms and conditions.
Disclaimer: This is not an official Google product.