feat(uno-q): bundle the granular skill set alongside arduino-uno-q on every node

Vendors the fork's 11 granular UNO Q skills (bridge, flashing, led-matrix,
uno-q-hardware, sketch-patterns, modulino, linux-led, audio, vision, wireless,
arduino-app-lab) next to the comprehensive arduino-uno-q skill, and installs the
whole set into every agent's workspace on each board.

Why both: the comprehensive skill is the rich cloud reference (read_skill →
references); the granular skills are keyword-triggered and match the fork's eager
skill-inliner rules, so the on-board Qwen auto-inlines them (no read_skill
round-trip). flashing + led-matrix carry the exact uno_q_flash + frame-API /
ArduinoGraphics-not-installed detail that makes flashing reliable.

- push-skill.sh generalized: a single skill dir (has SKILL.md) OR a parent dir
  installs every skill under it; provision-fleet now ships all of skills/.
- Verified on board 65301572: cloud/Sonnet-5 lists all 12 skills.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Omar Sobh
2026-07-16 09:32:11 -07:00
co-authored by Claude Opus 4.8
parent d2135a1938
commit 62c435c648
14 changed files with 555 additions and 37 deletions
+30
View File
@@ -0,0 +1,30 @@
---
name: linux-led
description: The Arduino Uno Q's MPU-side RGB LEDs, driven from Linux via /sys/class/leds (active-low). Load this to control the on-board Linux LEDs, as opposed to LEDs wired to Arduino pins.
---
# Linux-side RGB LEDs (MPU)
The Uno Q has RGB LEDs owned by the **MPU (Linux)**, exposed under
`/sys/class/leds/*` (e.g. `red:user`, `green:user`, `blue:bt`). These are separate
from the MCU-owned LEDs you drive with `digitalWrite`/`analogWrite` in a sketch.
## Use the `sysfs_led` tool
- `action=list` — enumerate available LEDs.
- `action=set`, `led=<name>`, `brightness=0..255` — set brightness in **natural
sense** (0 = off, 255 = full). The tool handles the active-low inversion and
scales to each LED's `max_brightness` for you.
## Under the hood
The LEDs are **active-low**: writing `0` to `<led>/brightness` turns it fully ON,
`max_brightness` turns it OFF. `sysfs_led` inverts your natural-sense value so you
never have to think about it.
## Which LED tool to use
- On-board **Linux** RGB LEDs → `sysfs_led` (this skill).
- LEDs wired to **Arduino pins**, or the built-in D13 → flash a sketch with
`uno_q_flash`, or toggle via `gpio_write` on a running sketch.
- The 13×8 blue **LED matrix** → the `led-matrix` skill (it's an MCU device).