← Commit history
BUILD-SKILL.md+1
@@ -46,4 +46,5 @@ description: Build and release a new version of adom-parts-search. Use when the - The dock reads `dockbar.json` from the PAGE REPO, not the registry tarball; publish.sh pushes it, but a manual edit needs `adom-wiki repo push adom/adom-parts-search --files dockbar.json -m "..."`. - The hero is human-gated: `hero-studio pose adom/adom-parts-search --surface pup --headline "Parts Search"`, then `adom-wiki repo push ... --files docs/hero.png` and `adom-wiki page hero adom/adom-parts-search --image docs/hero.png`. - UI changes visible to the user: minor bump.+- Demo narration lives in `src/app/audio/demo-N.mp3`, pre-rendered with `adom-tts say --out` (house voice, server-side pronunciations) and embedded via include_bytes. If the demo copy changes, regenerate the affected clips (the texts are in `src/app/audio/narration.json`) and rebuild; never synthesize at runtime. - Policy changes (e.g. new vendor, different preference rules): minor bump + update the `adom-parts-search` skill to match.
CHANGELOG.md+8
@@ -1,5 +1,13 @@ # Changelog +## 1.2.0 (2026-08-24)++Narrated guided demo with a transport floaty++- A play button in the header (and `adom-parts-search demo`) runs an eight-step guided tour: Say it strip, a live search, the vendor columns, the best-source banner, Settings, and the health lights. A draggable floaty carries play/pause, next, previous, and exit (Space, arrows, and Escape work too), a spotlight ring tracks each step, and steps auto-advance when their narration ends.+- The narration is pre-rendered at build time with adom-tts (house voice, Adom pronunciations) and shipped inside the binary as eight mp3 clips served same-origin; nothing is synthesized at runtime.+- The demo's single search rides the normal quota guard; Settings opens non-modally during its step so the transport stays clickable, and exiting puts everything back (strip visibility, dialog, audio).+ ## 1.1.3 (2026-08-23)  Fleet-standard scrollbars
README.md+5
@@ -109,6 +109,10 @@ error and the recommendation reasons around it. - **A recommendation that flips**: DigiKey wins when Mouser is out of stock or long-lead, and a   second policy, cheapest in stock, compares unit prices across every vendor that answered. - **Two faces**: a page for browsing, a JSON CLI for scripting and BOMs.+- **A narrated demo**: the play button in the header runs a two-minute guided tour with a+  draggable play / pause / next / previous / exit floaty; the narration is pre-rendered speech+  shipped inside the binary (nothing is synthesized at runtime). `adom-parts-search demo` starts+  it from the CLI. - **Dock Bar ready**: a version-aware idempotent `serve`, a fast `/api/status` with per-vendor   LEDs, webview ownership, and a Say it strip. - **Taskbar progress**: while a search runs, a progress bar sized from measured durations is@@ -139,6 +143,7 @@ error and the recommendation reasons around it. | `adom-parts-search ui click <id>` | Click a control on the page (search, instock, settings, restore, policy ...) | | `adom-parts-search ui search "<q>"` | Run a search through the page | | `adom-parts-search settings get\|set\|restore` | Read or change `~/.adom/parts-search-settings.json` |+| `adom-parts-search demo` | Run the narrated guided demo on the page | | `--limit N` / `--in-stock-only` | Cap hits per vendor / hide zero-stock (defaults come from Settings) |  ## Open source: make it yours, then give it back
SKILL.md+12
@@ -166,6 +166,18 @@ Every `/api/*` route answers OPTIONS and sends `Access-Control-Allow-Origin: *`  For the Dock Bar card (what a click does, `dockbar.json`, the LED, diagnosis) read the companion skill `adom-parts-search-dock`. +### The guided demo++`adom-parts-search demo` (or the play button in the page header, or `ui click demo`) runs a+narrated eight-step tour of the page: welcome, the Say it strip, a live LM555 search, the vendor+columns, the best-source banner, Settings, the health lights, and a wrap. A draggable floaty+carries play/pause, next, previous, and exit (arrow keys, Space, and Escape work too), and a+spotlight ring tracks the element each step is about. The narration is pre-rendered with+`adom-tts` at build time and shipped inside the binary; nothing is synthesized at runtime.+Browsers unlock audio only after a real click, so a demo started by an AI may need the user to+press Play once. The demo's one search goes through the normal quota guard (an identical repeat+within 5 minutes is served from cache).+ ## Pin-1 alignment check: moved to `adom-chipfit`  The footprint ↔ 3D-chip validator that used to live here as
bin/adom-parts-searchadded
⋯ 1 unchanged line ⋯
package.json+41−2
@@ -1,6 +1,6 @@ {   "slug": "adom-parts-search",-  "version": "1.1.3",+  "version": "1.2.0",   "type": "app",   "description": "One search box across Mouser, DigiKey and JLCPCB. Parallel queries, side-by-side product photos, and a Mouser-preferred recommendation that reasons around stock and lead time. Dock Bar ready: serve, health, settings, Say it.",   "dependencies": {@@ -38,5 +38,44 @@     "SKILL.md",     "BUILD-SKILL.md",     "CHANGELOG.md"+  ],+  "changelog": "Narrated guided demo with a transport floaty",+  "discovery_triggers": [+    "parts search",+    "find part",+    "source component",+    "source part",+    "compare distributors",+    "compare vendors",+    "Mouser or DigiKey",+    "BOM sourcing",+    "price this part",+    "where can I get",+    "check stock",+    "parts availability",+    "fastest delivery",+    "cheapest part",+    "component search",+    "part lookup",+    "price breaks"+  ],+  "discovery_pitch": "Search Mouser, DigiKey and JLCPCB in parallel with product photos; Mouser-preferred best-source pick. Say 'with parts search' to your AI.",+  "sample_prompts": [+    {+      "label": "source an STM32F103RBT6",+      "prompt": "source an STM32F103RBT6"+    },+    {+      "label": "where can I get an ESP32-S3-WROOM cheape",+      "prompt": "where can I get an ESP32-S3-WROOM cheapest and fastest"+    },+    {+      "label": "compare Mouser, DigiKey and JLCPCB for a",+      "prompt": "compare Mouser, DigiKey and JLCPCB for an LM555"+    },+    {+      "label": "price this BOM across distributors",+      "prompt": "price this BOM across distributors"+    }   ]-}+}\ No newline at end of file
page.json+49−8
@@ -4,7 +4,7 @@   "slug": "adom-parts-search",   "title": "Parts Search",   "brief": "One search box across Mouser, DigiKey and JLCPCB: parallel queries, side-by-side product photos, and a Mouser-preferred recommendation that reasons around stock and lead time.",-  "version": "1.1.3",+  "version": "1.2.0",   "install": {     "binary_name": "adom-parts-search",     "install_dir": "",@@ -36,10 +36,22 @@     "path": "screenshots/hero.png"   },   "sample_prompts": [-    "source an STM32F103RBT6",-    "where can I get an ESP32-S3-WROOM cheapest and fastest",-    "compare Mouser, DigiKey and JLCPCB for an LM555",-    "price this BOM across distributors"+    {+      "label": "source an STM32F103RBT6",+      "prompt": "source an STM32F103RBT6"+    },+    {+      "label": "where can I get an ESP32-S3-WROOM cheape",+      "prompt": "where can I get an ESP32-S3-WROOM cheapest and fastest"+    },+    {+      "label": "compare Mouser, DigiKey and JLCPCB for a",+      "prompt": "compare Mouser, DigiKey and JLCPCB for an LM555"+    },+    {+      "label": "price this BOM across distributors",+      "prompt": "price this BOM across distributors"+    }   ],   "discovery_triggers": [     "parts search",@@ -54,12 +66,41 @@     "where can I get",     "check stock",     "parts availability",-    "fastest delivery"+    "fastest delivery",+    "cheapest part",+    "component search",+    "part lookup",+    "price breaks"   ],-  "discovery_pitch": "Search Mouser + DigiKey + JLCPCB in parallel from one interface, with product photos and a Mouser-preferred best-source pick.",+  "discovery_pitch": "Search Mouser, DigiKey and JLCPCB in parallel with product photos; Mouser-preferred best-source pick. Say 'with parts search' to your AI.",   "metadata": {     "platform": "linux"   },   "category": "tools",-  "org": "adom"+  "org": "adom",+  "description": "One search box across Mouser, DigiKey and JLCPCB. Parallel queries, side-by-side product photos, and a Mouser-preferred recommendation that reasons around stock and lead time. Dock Bar ready: serve, health, settings, Say it.",+  "dependencies": {+    "adom/adom-mouser": "*",+    "adom/adom-digikey": "*",+    "adom/adom-jlcpcb": "*"+  },+  "needs_sudo": false,+  "scripts": {+    "install": "./install.sh",+    "uninstall": "./uninstall.sh"+  },+  "files": [+    "bin/**",+    "skills/**",+    "docs/icon.svg",+    "dockbar.json",+    "install.sh",+    "uninstall.sh",+    "package.json",+    "README.md",+    "SKILL.md",+    "BUILD-SKILL.md",+    "CHANGELOG.md"+  ],+  "changelog": "Narrated guided demo with a transport floaty" }\ No newline at end of file
skills/adom-parts-search-build/SKILL.md+1
@@ -46,4 +46,5 @@ description: Build and release a new version of adom-parts-search. Use when the - The dock reads `dockbar.json` from the PAGE REPO, not the registry tarball; publish.sh pushes it, but a manual edit needs `adom-wiki repo push adom/adom-parts-search --files dockbar.json -m "..."`. - The hero is human-gated: `hero-studio pose adom/adom-parts-search --surface pup --headline "Parts Search"`, then `adom-wiki repo push ... --files docs/hero.png` and `adom-wiki page hero adom/adom-parts-search --image docs/hero.png`. - UI changes visible to the user: minor bump.+- Demo narration lives in `src/app/audio/demo-N.mp3`, pre-rendered with `adom-tts say --out` (house voice, server-side pronunciations) and embedded via include_bytes. If the demo copy changes, regenerate the affected clips (the texts are in `src/app/audio/narration.json`) and rebuild; never synthesize at runtime. - Policy changes (e.g. new vendor, different preference rules): minor bump + update the `adom-parts-search` skill to match.
skills/adom-parts-search/SKILL.md+12
@@ -166,6 +166,18 @@ Every `/api/*` route answers OPTIONS and sends `Access-Control-Allow-Origin: *`  For the Dock Bar card (what a click does, `dockbar.json`, the LED, diagnosis) read the companion skill `adom-parts-search-dock`. +### The guided demo++`adom-parts-search demo` (or the play button in the page header, or `ui click demo`) runs a+narrated eight-step tour of the page: welcome, the Say it strip, a live LM555 search, the vendor+columns, the best-source banner, Settings, the health lights, and a wrap. A draggable floaty+carries play/pause, next, previous, and exit (arrow keys, Space, and Escape work too), and a+spotlight ring tracks the element each step is about. The narration is pre-rendered with+`adom-tts` at build time and shipped inside the binary; nothing is synthesized at runtime.+Browsers unlock audio only after a real click, so a demo started by an AI may need the user to+press Play once. The demo's one search goes through the normal quota guard (an identical repeat+within 5 minutes is served from cache).+ ## Pin-1 alignment check: moved to `adom-chipfit`  The footprint ↔ 3D-chip validator that used to live here as