aradotso/trending-skills/awawausb-webusb-firefox
Claude Code and agent skill by aradotso/trending-skills
- community
- ext:[{"type":"plugin","description":"Custom plugin integration"}]
Checking that the SKILL.md file is still in the repository.
WebUSB extension for Firefox using native messaging to enable USB device access from web pages
Install
npx vskill@latest install aradotso/trending-skills/awawausb-webusb-firefoxSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
awawausb — WebUSB Extension for Firefox
Skill by ara.so — Daily 2026 Skills collection.
awawausb adds WebUSB (navigator.usb) to Firefox via a two-part system: a browser extension (.xpi) and a native stub binary (compiled Rust) that communicates over native messaging.
Architecture
Installation (End Users)
1. Install the Extension
- Signed release: Download
.xpifrom GitHub Releases, open in Firefox. - Developer/testing:
about:debugging→ "This Firefox" → "Load Temporary Add-on…" → selectextension/manifest.json.
2. Install the Native Stub
Download and unzip the release archive for your platform, then run:
Supported platforms: macOS x86_64/ARM64, Linux x86_64/aarch64, Windows AMD64/ARM64.
Building from Source
Platform Notes
| Platform | Notes | |
|---|---|---|
| macOS | Should "just work"; vendored .tbd files included | |
| Linux | Uses musl libc by default for static binaries; glibc builds work but untested | |
| Windows | Uses mingw-w64 UCRT (*-windows-gnullvm); MSVC not supported |
Cross-compiling (Linux → Windows example)
Manual Native Manifest Setup
After building, tell Firefox where the native stub binary is by placing a JSON manifest file in the correct location.
Manifest Content
On Windows, path can be just "awawausb-native-stub.exe" (no absolute path required).
Manifest Locations
macOS
Linux
Windows (registry keys)
The registry value should be the full path to the manifest .json file.
Quick Linux user-local setup script
Quick macOS user-local setup
Windows PowerShell setup
Using WebUSB in Web Pages
Once installed, navigator.usb is available. Usage is identical to Chrome's WebUSB API:
Note: The WebUSB API is only available on the main page — not in Web Workers.
System Requirements
| OS | Requirement | |
|---|---|---|
| macOS | 10.15+; macOS 12 recommended | |
| Windows | Windows 10+ (WinUSB driver required for target device) | |
| Linux | Kernel 4.8+; udev daemon; /dev and /sys mounted |
Linux udev Rules (if device access is denied)
Windows: Switching to WinUSB Driver
If a device isn't listed, it may not use WinUSB. Use Zadig:
- Open Zadig, select the device
- Choose "WinUSB" as the driver
- Click "Replace Driver"
⚠️ Switching to WinUSB removes the device from other Windows subsystems (e.g., a printer will no longer appear as a printer).
Troubleshooting
Check Extension Debugging Page
Click the awawausb toolbar button (under the Extensions icon) → use "List devices" to see all USB devices the extension can see.
- Device listed but page can't use it → likely a permissions/origin issue in the web page.
- Device NOT listed → OS-level configuration problem (driver, udev rules, permissions).
Native Stub Not Found
Symptoms: extension toolbar shows an error; no devices listed.
- Verify the manifest file exists at the correct path for your OS.
- Verify
"path"in the manifest points to the actual binary. - Verify the binary is executable:
chmod +x /path/to/awawausb-native-stub - Check Firefox's browser console (
about:debugging→ inspect extension) for native messaging errors.
Linux: Device Not Detected
Build Fails on Linux (musl)
Shared Home Directory / Roaming Profiles
The native manifest uses absolute paths, which breaks when the same home directory is used across machines with different CPU architectures. Workarounds:
- Use a wrapper script at a fixed path that
execs the correct binary based onuname -m. - Use separate per-machine manifest directories if your OS supports it.
Known Limitations
- No Web Worker support (API only on main page).
- No Android support (no native messaging on Android Firefox).
- Windows requires WinUSB driver on target device.
- Linux requires udev-compatible daemon for hotplug detection.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/awawausb-webusb-firefox/SKILL.md
Popularity
- Repository stars
- 74
- Repository forks
- 13
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 26 Aug 2026, 2 months ago.
Extension points
pluginCustom plugin integration
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/aradotso/trending-skills/awawausb-webusb-firefox)