← Commit history
README.md+1−1
@@ -11,7 +11,7 @@ CAD, stock/price). Dated, evidence-linked, and shaped so a new site is one copie  | Site | Bot defense | WebFetch | curl | pup | nb | Use first | |---|---|---|---|---|---|---|-| [STMicroelectronics](skills/st/SKILL.md) | Akamai Bot Manager | BLOCKED | BLOCKED | PARTIAL | OK | nb |+| [STMicroelectronics](skills/st/SKILL.md) | Akamai Bot Manager | BLOCKED | BLOCKED | BLOCKED | OK | nb | | [Mouser Electronics](skills/mouser/SKILL.md) | Akamai (AkamaiGHost) in front | untested | BLOCKED | BLOCKED | OK | nb | | [DigiKey](skills/digikey/SKILL.md) | Cloudflare managed challenge ('Just a  | BLOCKED | BLOCKED | BLOCKED | OK | nb | | [SnapEDA (SnapMagic)](skills/snapeda/SKILL.md) | Cloudflare managed challenge for non-h | untested | BLOCKED | BLOCKED | OK | nb |
SKILL.md+2−2
@@ -52,7 +52,7 @@ spoof a fingerprint. Switch lanes, then write down what you saw in that site's s | `ERR_HTTP2_PROTOCOL_ERROR` / `chrome-error://` on the SECOND page of a domain in pup; `curl: (92) HTTP/2 stream ... INTERNAL_ERROR` in ~100 ms | Akamai Bot Manager reset the stream after its sensor verdict (st.com, analog.com, arrow.com) | nb. Do not reload the pup tab; it stays dead for that domain | | `Access Denied` + `Reference #18.xxxx` | Akamai deny page (analog, arrow to pup; microchip to curl) | nb (pup passes microchip; test, do not assume) | | `Access to this page has been denied.` with **HTTP 200**, or `press and hold` | PerimeterX / HUMAN (mouser.com) | nb for the page, API for the data |-| title `Just a moment...`, 263-char body, HTTP 403, `cf-ray` header | Cloudflare managed challenge (digikey, snapeda, CSE, nordic, datasheets.com, alldatasheet) | pup passes CSE / nordic / datasheets.com; digikey + snapeda need nb; wait 9 s |+| title `Just a moment...`, 263-char body, HTTP 403, `cf-ray` header; on digikey/snapeda a `Verify you are human` CHECKBOX (Turnstile) | Cloudflare managed challenge (digikey, snapeda, CSE, nordic, datasheets.com, alldatasheet) | pup passes CSE / nordic / datasheets.com on its own; digikey + snapeda show the checkbox and never auto-clear in pup: use nb (clears in ~9 s, no click). Never click the box for the human | | HTTP 473 | Akamai to a fetcher (newsroom.st.com) | pup or nb | | WebFetch 60 s timeout on a vendor URL | the fetcher is being tarpitted, not an outage | pup, then nb | | `captcha` in the HTML but the page renders | login / download gate (ultralibrarian) | nb, `nbrowser_flash`, let the human click |@@ -79,7 +79,7 @@ at nb and why pup is still worth trying first on the sites that do not look this  | Site | Bot defense | WebFetch | curl | pup | nb | Use first | |---|---|---|---|---|---|---|-| [STMicroelectronics](skills/st/SKILL.md) | Akamai Bot Manager | BLOCKED | BLOCKED | PARTIAL | OK | nb |+| [STMicroelectronics](skills/st/SKILL.md) | Akamai Bot Manager | BLOCKED | BLOCKED | BLOCKED | OK | nb | | [Mouser Electronics](skills/mouser/SKILL.md) | Akamai (AkamaiGHost) in front | untested | BLOCKED | BLOCKED | OK | nb | | [DigiKey](skills/digikey/SKILL.md) | Cloudflare managed challenge ('Just a  | BLOCKED | BLOCKED | BLOCKED | OK | nb | | [SnapEDA (SnapMagic)](skills/snapeda/SKILL.md) | Cloudflare managed challenge for non-h | untested | BLOCKED | BLOCKED | OK | nb |
install.sh

  
package.json+1−1
@@ -1,7 +1,7 @@ {   "name": "electronics-sites-skillpack",   "slug": "electronics-sites-skillpack",-  "version": "2.0.0",+  "version": "2.0.1",   "type": "skill",   "title": "Electronics Industry Sites Skillpack",   "description": "One skill per popular electronics-industry website (ST, TI, Mouser, DigiKey, SnapEDA, Ultra Librarian, Arrow, Analog, Microchip, Nordic, CSE, Octopart, JLCPCB, datasheets.com): which access lane works (fetch, curl, pup, nb, API), the bot defense each one runs, the exact failure signatures, and the task recipes. Verified live, dated, and built to grow.",
page.json+49−3
@@ -2,7 +2,7 @@   "schema_version": 1,   "slug": "electronics-sites-skillpack",   "type": "skill",-  "version": "2.0.0",+  "version": "2.0.1",   "title": "Electronics Industry Sites Skillpack",   "brief": "One skill per popular electronics-industry website (ST, TI, Mouser, DigiKey, SnapEDA, Ultra Librarian, Arrow, Analog, Microchip, Nordic, CSE, Octopart, JLCPCB, datasheets.com): which access lane works (fetch, curl, pup, nb, API), the bot defense each one runs, the exact failure signatures, and the task recipes. Verified live, dated, and built to grow.",   "readme": "# Electronics Industry Sites Skillpack\n\nOne skill per popular electronics-industry website (ST, TI, Mouser, DigiKey, SnapEDA, Ultra Librarian, Arrow, Analog, Microchip, Nordic, CSE, Octopart, JLCPCB, datasheets.com): which access lane works (fetch, curl, pup, nb, API), the bot defense each one runs, the exact failure signatures, and the task recipes. Verified live, dated, and built to grow.\n\nEvery vendor site is different and most of them refuse anything that does not look like a person. This\npack turns that into a table an AI can act on: per site, which lane works (WebFetch, curl, pup, nb, API),\nwhich wall you hit when it does not, and the recipe for the common tasks (datasheet, product page,\nCAD, stock/price). Dated, evidence-linked, and shaped so a new site is one copied template away.\n\n## The matrix (verified 2026-09-12)\n\n| Site | Bot defense | WebFetch | curl | pup | nb | Use first |\n|---|---|---|---|---|---|---|\n| [STMicroelectronics](skills/st/SKILL.md) | Akamai Bot Manager | BLOCKED | BLOCKED | PARTIAL | OK | nb |\n| [Mouser Electronics](skills/mouser/SKILL.md) | Akamai (AkamaiGHost) in front | untested | BLOCKED | BLOCKED | OK | nb |\n| [DigiKey](skills/digikey/SKILL.md) | Cloudflare managed challenge ('Just a  | BLOCKED | BLOCKED | BLOCKED | OK | nb |\n| [SnapEDA (SnapMagic)](skills/snapeda/SKILL.md) | Cloudflare managed challenge for non-h | untested | BLOCKED | BLOCKED | OK | nb |\n| [Texas Instruments](skills/ti/SKILL.md) | None observed | untested | OK | OK | OK | curl |\n| [Microchip Technology](skills/microchip/SKILL.md) | Akamai | untested | BLOCKED | OK | OK | pup |\n| [Analog Devices (incl. Maxim, Linear)](skills/analog/SKILL.md) | Akamai Bot Manager | untested | BLOCKED | BLOCKED | OK | nb |\n| [Arrow Electronics](skills/arrow/SKILL.md) | Akamai Bot Manager | untested | BLOCKED | BLOCKED | OK | nb |\n| [Nordic Semiconductor](skills/nordic/SKILL.md) | Cloudflare in front of www: curl gets  | untested | BLOCKED | OK | OK | pup |\n| [Ultra Librarian](skills/ultralibrarian/SKILL.md) | Open to curl (nginx | untested | OK | OK | OK | curl |\n| [Component Search Engine (SamacSys)](skills/componentsearchengine/SKILL.md) | Cloudflare | untested | BLOCKED | OK | OK | pup |\n| [datasheets.com](skills/datasheets-com/SKILL.md) | Cloudflare for curl only; the Anthropi | OK | BLOCKED | OK | OK | WebFetch |\n| [Octopart (and findchips)](skills/octopart/SKILL.md) | Cloudflare in front | untested | OK | untested | untested | curl |\n| [JLCPCB parts and LCSC](skills/jlcpcb/SKILL.md) | Akamai | untested | OK | untested | untested | curl |\n| [Other manufacturers (generic playbook)](skills/manufacturer/SKILL.md) | Varies | untested | PARTIAL | untested | untested | nb |\n\n## Skills\n\n| Skill | Site | One line |\n|---|---|---|\n| **electronics-sites** | (root) | The lane ladder, the symptom table, what pup leaks that a real browser does not, and the matrix below. |\n| **electronics-site-st** | www.st.com | Manufacturer. |\n| **electronics-site-mouser** | www.mouser.com | Distributor. |\n| **electronics-site-digikey** | www.digikey.com | Distributor. |\n| **electronics-site-snapeda** | www.snapeda.com | CAD library. |\n| **electronics-site-ti** | www.ti.com | Manufacturer. |\n| **electronics-site-microchip** | www.microchip.com | Manufacturer (incl. |\n| **electronics-site-analog** | www.analog.com | Manufacturer. |\n| **electronics-site-arrow** | www.arrow.com | Distributor. |\n| **electronics-site-nordic** | www.nordicsemi.com | Manufacturer. |\n| **electronics-site-ultralibrarian** | www.ultralibrarian.com | CAD library (also the engine behind many manufacturer CAD embeds). |\n| **electronics-site-componentsearchengine** | componentsearchengine.com | CAD library (SamacSys / Supplyframe). |\n| **electronics-site-datasheets-com** | www.datasheets.com | Aggregator (Supplyframe). |\n| **electronics-site-octopart** | octopart.com | Aggregators (Nexar / Supplyframe). |\n| **electronics-site-jlcpcb** | jlcpcb.com | Assembly-house parts library (JLCPCB SMT) and its distributor sibling LCSC. |\n| **electronics-site-manufacturer** | www.nxp.com | The generic approach for a manufacturer or distributor site that does not have its own skill yet, plus lane-0 readings for a few we have only curl-tested. |\n| **_template** | (copy me) | The fixed section layout for a new site skill. |\n\n## Install\n\n```bash\nadom-wiki pkg install john/electronics-sites-skillpack\n```\n\nThe root skill `electronics-sites` carries the lane ladder and the symptom table; each site skill\nauto-surfaces on its domain name. Old `chip-sourcing-*` copies from v1 are retired by the installer.\n\n## Why this exists\n\nAn AI that fetches st.com gets a 60 s timeout; the same URL opens instantly in the user's own Chrome.\nThe failure was the client, not the site, but without a record the AI reports an outage and stops.\nRecording each site's behavior once, with the date, is cheaper than every AI rediscovering it.\nThe two browser lanes are Adom's: `pup` (a real Chrome for Testing window, background, durable profile)\nand `nb` (the user's real signed-in browser via the Native Browser Extension). The API lane is\n`adom-parts-search` (Mouser, DigiKey, JLCPCB backends).\n\n## Contributing\n\nCopy `skills/_template/SKILL.md`, run the ladder, write down what you saw, list the skill in\n`install.sh`, `uninstall.sh` and `package.json`, bump the version, publish. ASCII punctuation only.\nNo captcha solving, no fingerprint spoofing: this pack routes around walls, it does not break them.\n",@@ -77,5 +77,51 @@   "updated_at": "2026-06-23T02:23:02.894Z",   "source_path": "SKILL.md",   "sub_skills": [],-  "parent_app": null-}+  "parent_app": null,+  "name": "electronics-sites-skillpack",+  "description": "One skill per popular electronics-industry website (ST, TI, Mouser, DigiKey, SnapEDA, Ultra Librarian, Arrow, Analog, Microchip, Nordic, CSE, Octopart, JLCPCB, datasheets.com): which access lane works (fetch, curl, pup, nb, API), the bot defense each one runs, the exact failure signatures, and the task recipes. Verified live, dated, and built to grow.",+  "files": [+    "SKILL.md",+    "README.md",+    "page.json",+    "package.json",+    "install.sh",+    "uninstall.sh",+    "skills/_template/SKILL.md",+    "skills/st/SKILL.md",+    "skills/mouser/SKILL.md",+    "skills/digikey/SKILL.md",+    "skills/snapeda/SKILL.md",+    "skills/ti/SKILL.md",+    "skills/microchip/SKILL.md",+    "skills/analog/SKILL.md",+    "skills/arrow/SKILL.md",+    "skills/nordic/SKILL.md",+    "skills/ultralibrarian/SKILL.md",+    "skills/componentsearchengine/SKILL.md",+    "skills/datasheets-com/SKILL.md",+    "skills/octopart/SKILL.md",+    "skills/jlcpcb/SKILL.md",+    "skills/manufacturer/SKILL.md"+  ],+  "scripts": {+    "install": "./install.sh",+    "uninstall": "./uninstall.sh"+  },+  "dependencies": {},+  "keywords": [+    "electronics",+    "skillpack",+    "vendor-sites",+    "bot-defense",+    "akamai",+    "cloudflare",+    "perimeterx",+    "pup",+    "nb",+    "datasheets",+    "digikey",+    "mouser",+    "st"+  ]+}\ No newline at end of file
skills/digikey/SKILL.md+3−3
@@ -18,16 +18,16 @@ Parent skill: **electronics-sites-skillpack** (the `electronics-sites` root skil |---|---|---| | WebFetch | **BLOCKED** | HTTP 403 | | curl | **BLOCKED** | HTTP 403, body 'Just a moment...', server cloudflare, cf-ray present |-| pup | **BLOCKED** | stuck on the 'Just a moment...' challenge (263-char body, never resolves) |-| nb | **OK** | product page title 'VL53L9CXV0VE/1 STMicroelectronics | Camera Modules | DigiKey' after ~9 s; the challenge clears itself in a trusted profile |+| pup | **BLOCKED** | Cloudflare Turnstile: title 'Just a moment...', 263-char body, a 'Verify you are human' CHECKBOX that never auto-clears (12 s settle, adom-you and cold profiles alike). A human clicking that box in a foregrounded pup window would pass it; the AI must not |+| nb | **OK** | product page title 'VL53L9CXV0VE/1 STMicroelectronics | Camera Modules | DigiKey' after ~9 s; the challenge clears itself in a trusted profile, no click |  **Use first:** `nb` (cheapest lane that works). For numbers you will act on (stock, price, lead time) use the API lane below, never a scrape.  ## Failure signatures  - title 'Just a moment...' and a 263-char body+- 'Performing security verification' + a 'Verify you are human' checkbox (Turnstile) - HTTP 403 with cf-ray-- endless spinner in pup  ## Recipes 
skills/snapeda/SKILL.md+3−3
@@ -18,14 +18,14 @@ Parent skill: **electronics-sites-skillpack** (the `electronics-sites` root skil |---|---|---| | WebFetch | **untested** | - | | curl | **BLOCKED** | HTTP 403 'Just a moment...' |-| pup | **BLOCKED** | stuck on 'Just a moment...' (263-char body) |-| nb | **OK** | part page renders after ~9 s; the signed-in profile skips the email gate on downloads |+| pup | **BLOCKED** | Cloudflare Turnstile: 'Just a moment...' with a 'Verify you are human' checkbox that never auto-clears (12 s, both profiles). A human can click it in a foregrounded pup window; the AI must not |+| nb | **OK** | part page renders after ~9 s with no click; the signed-in profile skips the email gate on downloads |  **Use first:** `nb` (cheapest lane that works). For numbers you will act on (stock, price, lead time) use the API lane below, never a scrape.  ## Failure signatures -- 'Just a moment...'+- 'Just a moment...' + 'Verify you are human' checkbox (Turnstile) - Download bounces to a login modal (session lost) - 'Request this design' instead of Download (no model yet) 
skills/st/SKILL.md+1−1
@@ -18,7 +18,7 @@ Parent skill: **electronics-sites-skillpack** (the `electronics-sites` root skil |---|---|---| | WebFetch | **BLOCKED** | product page, datasheet PDF and eval-tool pages time out at 60 s; newsroom returns HTTP 473; community.st.com works | | curl | **BLOCKED** | curl: (92) HTTP/2 stream 1 was not closed cleanly: INTERNAL_ERROR in ~60 ms, even for /resource/*.pdf; community + newsroom return 200 |-| pup | **PARTIAL** | the FIRST page load renders, then every further www.st.com HTML navigation lands on chrome-error:// with ERR_HTTP2_PROTOCOL_ERROR (site root included). /resource/*.pdf still renders in the PDF viewer. A cold isolated profile and 15 s pacing do not help: it is the client verdict, not rate |+| pup | **BLOCKED** | at most ONE page renders (the first load of the day did), then every www.st.com HTML navigation lands on chrome-error:// with ERR_HTTP2_PROTOCOL_ERROR, site root included; by afternoon even the first page failed in a cold isolated profile, so the verdict sticks to the box's CfT client, not to a profile. /resource/*.pdf still renders in the PDF viewer. 15 s pacing does not help | | nb | **OK** | every page loads, hash-tab navigation works, nbrowser_fetch_url returns PDFs (200, base64) in under a second |  **Use first:** `nb` (cheapest lane that works). For numbers you will act on (stock, price, lead time) use the API lane below, never a scrape.
uninstall.sh