Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/lxman/obsbot-mcp/verifynpx skills add lxman/obsbot-mcp --skill verifygit clone --depth 1 https://github.com/lxman/obsbot-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/lxman/obsbot-mcp/verify)<a href="https://agentmods.dev/skills/lxman/obsbot-mcp/verify"><img src="https://agentmods.dev/badge/skills/lxman/obsbot-mcp/verify.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00039 | $0.01798 |
| Opus 5 | $0.00019 | $0.00899 |
| Sonnet 5 | $0.00008 | $0.00360 |
| Haiku 4.5 | $0.00004 | $0.00180 |
Grade A, and why
verify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 166 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Verifying obsbot-mcp
The product is camera control. Tests and typecheck prove nothing here — drive the real camera.
This skill covers macOS and Linux. Steps that differ are marked; where only one is given, it applies to both. Read the section for your platform — running the macOS commands on Linux is a waste of a turn.
Build both halves
The Node stack loads the prebuilt helper, not the one next to the source. Always rebuild both, or you will verify a stale binary. This has burned us repeatedly, most recently with a helper 11 days out of date — the failure is silent, because a stale binary answers every op correctly and merely lacks whatever you just added, so hardware checks pass against code you did not write:
npm run build:all # TypeScript -> dist/, AND helper -> native/prebuilt/
build:all is build + build:helper; build:helper (scripts/build-helper.mjs)
configures CMake for the current platform, builds, and stages the binary into
native/prebuilt/<platform>-<arch>/. Use it rather than invoking CMake by
hand — HelperProcess.resolveBinaryPath() reads only the staged copy, so a
raw cmake --build leaves the old binary in place.
Confirm the staged binary really is the one you just built before trusting any result:
ls -la native/prebuilt/*/obsbot-helper # timestamp should be seconds old
strings native/prebuilt/*/obsbot-helper | grep <a-string-you-just-added>
Is the camera actually there?
Check before blaming the code.
macOS:
system_profiler SPCameraDataType # should list OBSBOT Tiny 2
ioreg -r -c IOUSBHostDevice -w0 | grep '"USB Product Name"'
Linux:
lsusb | grep -i obsbot # -> ID 3564:fef8 ... OBSBOT Tiny 2
v4l2-ctl --list-devices # -> /dev/videoN pair for the Tiny 2
uname -r # which kernel? see "Linux kernel note" below
The Tiny 2 exposes two video nodes; the lower-numbered one carries the
Extension Unit. enumerate lists both, and opening the wrong one gives
"no XU extension unit found" on stderr before the helper retries.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 166 lines · 39 tokens per session scan A 7792ee7ae136
verify is a skill published in the GitHub repository lxman/obsbot-mcp (0 stars, last pushed 3d ago), licensed MIT. It adds 39 tokens to every session and 1,798 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
jetson-video-pipeline
Use when executing and verifying Jetson Video Codec SDK or PyNvVideoCodec encode/decode, transcode, segmentation, container decode, AV1, or acceptance workflows with exact artifact handoffs.
mixed-signal-cosim
Run mixed-signal co-simulation — digital gate-level Verilog + analog behavioral models together. Use when the user says "mixed-signal sim", "co-simulation", "digital-analog integration test", or at Step A9 of the analog track.
native-sim
Host-based simulation using the Zephyr nativesim board. Covers building for Linux/macOS/Windows, automated testing, host-side debugging (GDB, Valgrind), and host-target integration. Trigger when developing application logic without hardware or setting up CI/CD tests.
live-test
Execute end-to-end functional testing on real MATLAB/Simulink hardware. Schema-driven discovery makes this version-agnostic — no updates needed when plugin actions change. Use when asked to "run live test", "test on real device", "实机测试", or "/live-test". Supports full, incremental, and targeted re-test modes.
verify
Verify lg-tv-mcp changes at the real surface — drive the stdio MCP server as a child process, against the fake TV or the real one.
android-hardware-testing
Automated UIAutomator tests and Hardware mocking setup.