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 Ed3Design/ed3design-engineering-bundles --skill victron-cerbo-modbus-device-onboardinggit clone --depth 1 https://github.com/Ed3Design/ed3design-engineering-bundlesWrote 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/ed3design/ed3design-engineering-bundles/victron-cerbo-modbus-device-onboarding)<a href="https://agentmods.dev/skills/ed3design/ed3design-engineering-bundles/victron-cerbo-modbus-device-onboarding"><img src="https://agentmods.dev/badge/skills/ed3design/ed3design-engineering-bundles/victron-cerbo-modbus-device-onboarding/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ed3design/ed3design-engineering-bundles/victron-cerbo-modbus-device-onboarding"><img src="https://agentmods.dev/badge/skills/ed3design/ed3design-engineering-bundles/victron-cerbo-modbus-device-onboarding.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00161 | $0.01494 |
| Opus 5 | $0.00081 | $0.00747 |
| Sonnet 5 | $0.00032 | $0.00299 |
| Haiku 4.5 | $0.00016 | $0.00149 |
Grade A, and why
victron-cerbo-modbus-device-onboarding 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 12d 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 — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Victron Cerbo GX — Onboarding a new Modbus-TCP device
Pattern verified against a real Cerbo GX with a JK-BMS that remained invisible at the Modbus layer despite correct VLAN routing. The non-obvious cause is the per-port
Enabled=0factory-default. The 5-step sequence +dbus-sendfix is the deterministic onboarding workflow; the fallback branch coversEnabled=1cases where the device is still invisible.
The non-obvious problem
dbus-modbus-client discovers new Modbus devices via TCP subnet scan (port 502, every 25 s) — creates settings in localsettings and sets Enabled = 0 as the default. The device is registered but invisible. No hint in the log, no error in the UI.
Applies to all Victron Modbus-TCP devices: EV Charging Station, Carlo Gavazzi meters, SolarEdge, external inverters.
Diagnostic sequence (5 steps)
SSH access pattern (replace placeholders with your own credentials and hosts):
ssh -J <your-jumphost-user>@<your-jumphost-ip> root@<cerbo-ip>
Note: the Cerbo's root SSH access is enabled via the Cerbo UI under Settings → General → Access Level → Superuser. Use ssh-copy-id to set up key-auth and avoid password prompts. Do NOT hardcode passwords into shell scripts or skill bodies.
1 — Network check
ping -c 2 <device-ip>
No response → LAN/VLAN problem, check DHCP. Response → continue.
2 — D-Bus check
dbus -y | grep -i "evcharger\|evc_\|<device-type>"
Empty → settings problem (Enabled=0 candidate). Service visible → check UI refresh / VRM cache.
3 — Read the modbus-client log
cat /var/log/dbus-modbus-client/current | tr -d "\000" | grep -v "^$" | tail -30
Watch for these patterns:
Found EV charger: Victron Energy AC22NS→ device detected ✓Setting /Settings/Devices/<id>/Enabled does not exist yet→ default-Enabled problem
4 — Check the Enabled value
dbus -y com.victronenergy.settings /Settings/Devices/<device-id>/Enabled GetValue
Returns 0 → that's the bug. Device-ID from log (format: evc_<Serial>).
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.
- 12d ago First seen · 112 lines · 161 tokens per session scan A 1e5284327ac7
victron-cerbo-modbus-device-onboarding is a skill published in the GitHub repository Ed3Design/ed3design-engineering-bundles (2 stars, last pushed 1mo ago), licensed MIT. It adds 161 tokens to every session and 1,494 once invoked, about $0.0008 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
ros2-microros
Skill "ros2-microros" from Leehyunbin0131/claude-ros2-skills, covering micro-ros instructions (ubuntu 24.04 lts & ros 2 jazzy), 1. architecture, 2. documentation entry points, 3. key concepts & patterns and a. embedded client node setup (rclc in c).
nurb
Design 3D-printable parts as Python functions with nurb. Use when the user wants a part designed, changed, or checked for 3D printing (a bracket, mount, holder, enclosure, shelf, or any STL/STEP to print), and in any directory with a parts/ folder. The user describes the part and judges it in a browser; you model it.
esp32-expert
This skill should be used for ESP32-specific hardware and runtime work in ESP-IDF, Arduino-ESP32, or PlatformIO projects: target/build detection, FreeRTOS tasks and ISRs, memory/DMA, peripherals, power, networking/security, OTA, crash diagnosis, and unattended reliability. Trigger on "debug this ESP32 crash", "review…
esp32-expert
This skill should be used when the user is writing, reviewing, debugging, or architecting C++ firmware for ESP32 and variants (ESP32-S2, S3, C3, C6, H2, P4) using ESP-IDF or PlatformIO. Provides expert critique covering FreeRTOS task design, memory management (IRAM/DRAM/PSRAM), peripheral drivers (I2C/SPI/UART/GPIO)…
continuum-fea
Run the continuum (tier-3) FEA on a part a beam model can't capture — bracket, fitting, lug, hull bottom panel, pressure shell, sponson root — with gmsh + CalculiX (ccx). Use when an audit's analytic check or the in-house beam FEA is too coarse and you need a real 3-D stress/displacement or buckling field. Drives the…
add-scored-audit
Add a new executable scored check (PASS/WARN/FAIL) for a requirement to a hardware-as-code project's audit harness. Use when a requirement, clearance, mass budget, margin, or anchor needs to be verified automatically. Enforces the rules: read the build's exported JSON artifacts, never duplicate a geometry constant…