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 skills add omnigentx/jarvis --skill iot-controlgit clone --depth 1 https://github.com/omnigentx/jarvisWrote 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/omnigentx/jarvis/iot-control)<a href="https://agentmods.dev/skills/omnigentx/jarvis/iot-control"><img src="https://agentmods.dev/badge/skills/omnigentx/jarvis/iot-control.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 65 Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.Fix: Add human-in-the-loop confirmation for destructive, irreversible, or high-impact operations. Never auto-execute commands that modify files, send data, or alter system state.
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.1 | $0.00048 | $0.00962 |
| Opus 5 | $0.00024 | $0.00481 |
| Sonnet 5 | $0.00010 | $0.00192 |
| Haiku 4.5 | $0.00005 | $0.00096 |
Grade A, and why
iot-control 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 7d 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 — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ROBOT VACUUM CONTROL (ROBOROCK)
Available Tools (exact MCP names)
| Intent | Tool |
|---|---|
| List all devices on account | list_devices() |
| Status / battery / online check | get_robot_status(device_name=None) |
| Consumable wear (brush, filter, dustbin) | get_consumable_status(device_name=None) |
| Start cleaning | start_cleaning(device_name=None) |
| Stop / pause | stop_cleaning(device_name=None) |
| Send back to dock | return_to_dock(device_name=None) |
| Find robot (beep) | find_robot(device_name=None) |
| List rooms on map | get_room_mapping(device_name=None) |
| Clean specific room | clean_specific_room(room_id, device_name=None) |
| Set suction power | set_fan_speed(speed, device_name=None) — speed ∈ {quiet, balanced, turbo, max} |
| Wait before re-checking status | wait_for_seconds(seconds=5) |
device_name is optional — omit to target the first / only device.
Decision tree
User intent → tool:
- Status / location / battery →
get_robot_status() - Start cleaning / vacuum →
start_cleaning() - Stop / pause →
stop_cleaning() - Return to dock →
return_to_dock() - Locate / make a sound →
find_robot() - Clean a specific room →
get_room_mapping()→clean_specific_room(id)
For a PURE STATUS question, call get_robot_status() directly and return the result.
<2fa_flow> When any Roborock tool returns an AUTHENTICATION_REQUIRED error:
- Call
request_roborock_code()— system sends a code to the Roborock account email. - Call
gmail_search(query="from:roborock.com newer_than:1h in:anywhere", max_results=5).- Substring match on
roborock.comcatches every subdomain ([email protected],[email protected], etc.) — do NOT hard-code the full sender address. in:anywherecovers Spam/Promotions in case Gmail mis-classifies the OTP email.- If still empty, retry once with
newer_than:6h.
- Substring match on
- Call
gmail_read_thread(thread_id)on the most recent hit. - Extract the numeric OTP from the email body.
- Call
submit_roborock_code(code=<otp>). - Retry the original command.
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.
- 7d ago First seen · 81 lines · 48 tokens per session scan A f23cc39809d5
iot-control is a skill published in the GitHub repository omnigentx/jarvis (36 stars, last pushed 11d ago), licensed MIT. It adds 48 tokens to every session and 962 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-30.
Other skills, from other repositories
gke-compute-classes
Configures, optimizes, and troubleshoots GKE ComputeClasses. Use when configuring Spot VMs with on-demand fallback, targeting specific accelerators (GPUs/TPUs) or machine families, restricting ComputeClass access, or debugging pending pods related to node pool auto-creation. Do not use for cluster-level Node Auto…
jetson-diagnostic
Read-only Jetson health snapshot for identity, memory, GPU, thermal, power, storage, services, and top processes.
doca-socket-relay
Use this skill when the operator is driving the DOCA Socket Relay to bridge a socket-oriented host application onto a BlueField DPU peer without rewriting it — picking the deployment shape (in-process, sidecar, or BlueField service container), configuring the host-side socket and the DPU-side forwarding endpoint…
offensive-z-wave
Z-Wave attack methodology — sniffing with Z-Force / EZ-Wave / RTL-SDR + ZniffMobile, S0 (legacy) network-key derivation flaw and key reuse, S2 (modern) ECDH commissioning analysis, replay/injection on unauthenticated nodes, default-key brute-force on test deployments, and home-automation hub pivots. Use when targeting…
hsb-flash
Flash the FPGA on an HSB board connected to an NVIDIA devkit. Supports HSB Lattice boards (FPGA versions 2407, 2412, 2507, 2510) and Leopard Imaging VB1940 "all-in-one" cameras (FPGA versions 2507, 2510). Uses release-specific YAML manifests and board-type-specific program commands. Lattice and VB1940 commands must…
jetson-validate-image
Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build or flash steps. Triggers: validate bsp, on-target validation.