{"id":"fa471111-a606-4cf6-a0af-630eabd46b92","entityType":"agent","slug":"clawhub-zw008-iaiops-energy","name":"iaiops-energy","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zw008-iaiops-energy","canonicalPath":"/agent/clawhub-zw008-iaiops-energy","generatedAt":"2026-10-11T20:59:55.551Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:51:15.998Z","emptyReason":null},"description":"Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap — the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device directory, model browse, data-attribute reads) — plus the base cross-protocol brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE, asset inventory, compliance self-assessment) mounted on the same server. Use when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 / outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway / telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 / 电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no control/operate (CROB, setpoints, select-before-operate, IEC-104 command ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA, Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for IT/network gear, Kubernetes, hypervisors, or backups.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:iaiops-energy","sourceUrl":"https://clawhub.ai/zw008/iaiops-energy","homepage":"https://clawhub.ai/zw008/skills/iaiops-energy","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zw008/iaiops-energy","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zw008/skills/iaiops-energy","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"iaiops-energy technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:51:15.998Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:51:15.998Z","emptyReason":null},"stars":null,"forks":null,"downloads":1024,"packageName":null,"latestVersion":"0.1.12","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:51:15.983Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T16:51:15.998Z","lastCrawledAt":"2026-10-11T16:51:15.983Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T16:51:15.983Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.12","createdAt":"2026-08-02T13:57:32.970Z","changelog":"0.1.12 — version reporting fixed (__init__ and MCP handshake); base pin raised to iaiops>=0.22.0","fileCount":3,"zipByteSize":6338},{"version":"0.1.11","createdAt":"2026-08-01T04:42:25.806Z","changelog":"all three protocol round-trips CI-gated (DNP3 included); inherits audit-status + runaway-guard fixes from iaiops 0.20.3","fileCount":3,"zipByteSize":6462},{"version":"0.1.10","createdAt":"2026-07-31T14:52:05.744Z","changelog":"inherited security fix: credentials no longer written to the audit log (iaiops>=0.20.2)","fileCount":3,"zipByteSize":6280},{"version":"0.1.9","createdAt":"2026-07-30T00:38:31.558Z","changelog":"iaiops-energy 0.1.9 — MCP tool annotations derived from the governance harness","fileCount":3,"zipByteSize":6414},{"version":"0.1.8","createdAt":"2026-07-21T15:07:17.704Z","changelog":"0.1.8 — drop IAIOPS_READ_ONLY gate; align with iaiops 0.19.0","fileCount":3,"zipByteSize":6350},{"version":"0.1.7","createdAt":"2026-07-19T09:23:35.306Z","changelog":"iaiops-energy 0.1.7 — Initial Release - Introduces a vendor-neutral, audited, read-only telemetry data tap for energy/substation environments using IEC 60870-5-104, DNP3/IEEE 1815, and IEC 61850 MMS protocols. - Supports monitor-direction (read-only) data collection: no control or operate actions are exposed by design. - Includes protocol-specific tools for RTU/IED link status, point reads, general interrogations, and integrity polls. - Integrates \"cross-protocol brain\" analytics, diagnostics, asset inventory, and compliance self-assessment features from the base iaiops package. - Clear separation from protocols and use cases outside substation/utility telemetry (e.g., factory/process protocols), which are routed to the base iaiops server. - Honest verification matrix provided: IEC 104 monitor path is CI-verified; DNP3 and IEC 61850 are manually tested with live round-trips.","fileCount":3,"zipByteSize":6292}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:iaiops-energy","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:iaiops-energy` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/zw008/iaiops-energy before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T20:59:55.549Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-energy/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:51:15.998Z","emptyReason":null},"readme":"Skill: iaiops-energy\n\nOwner: zw008\n\nSummary: Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap — the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device directory, model browse, data-attribute reads) — plus the base cross-protocol brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE, asset inventory, compliance self-assessment) mounted on the same server. Use when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 / outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway / telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 / 电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no control/operate (CROB, setpoints, select-before-operate, IEC-104 command ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA, Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for IT/network gear, Kubernetes, hypervisors, or backups.\n\nTags: latest:0.1.12\n\nVersion history:\n\nv0.1.12 | 2026-08-02T13:57:32.970Z | user\n\n0.1.12 — version reporting fixed (__init__ and MCP handshake); base pin raised to iaiops>=0.22.0\n\nv0.1.11 | 2026-08-01T04:42:25.806Z | user\n\nall three protocol round-trips CI-gated (DNP3 included); inherits audit-status + runaway-guard fixes from iaiops 0.20.3\n\nv0.1.10 | 2026-07-31T14:52:05.744Z | user\n\ninherited security fix: credentials no longer written to the audit log (iaiops>=0.20.2)\n\nv0.1.9 | 2026-07-30T00:38:31.558Z | user\n\niaiops-energy 0.1.9 — MCP tool annotations derived from the governance harness\n\nv0.1.8 | 2026-07-21T15:07:17.704Z | user\n\n0.1.8 — drop IAIOPS_READ_ONLY gate; align with iaiops 0.19.0\n\nv0.1.7 | 2026-07-19T09:23:35.306Z | auto\n\niaiops-energy 0.1.7 — Initial Release\n\n- Introduces a vendor-neutral, audited, read-only telemetry data tap for energy/substation environments using IEC 60870-5-104, DNP3/IEEE 1815, and IEC 61850 MMS protocols.\n- Supports monitor-direction (read-only) data collection: no control or operate actions are exposed by design.\n- Includes protocol-specific tools for RTU/IED link status, point reads, general interrogations, and integrity polls.\n- Integrates \"cross-protocol brain\" analytics, diagnostics, asset inventory, and compliance self-assessment features from the base iaiops package.\n- Clear separation from protocols and use cases outside substation/utility telemetry (e.g., factory/process protocols), which are routed to the base iaiops server.\n- Honest verification matrix provided: IEC 104 monitor path is CI-verified; DNP3 and IEC 61850 are manually tested with live round-trips.\n\nArchive index:\n\nArchive v0.1.12: 3 files, 6338 bytes\n\nFiles: skill-card.md (2266b), SKILL.md (9812b), _meta.json (133b)\n\nFile v0.1.12:SKILL.md\n\n---\nname: iaiops-energy\ndescription: >-\n  Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap —\n  the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry\n  over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single\n  monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link\n  status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device\n  directory, model browse, data-attribute reads) — plus the base cross-protocol\n  brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE,\n  asset inventory, compliance self-assessment) mounted on the same server. Use\n  when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 /\n  outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT\n  supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway /\n  telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 /\n  电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no\n  control/operate (CROB, setpoints, select-before-operate, IEC-104 command\n  ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA,\n  Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for\n  IT/network gear, Kubernetes, hypervisors, or backups.\n---\n\n# iaiops-energy — substation / utility telecontrol data tap (变电 / 电力)\n\nThe **energy edition** of Industrial-AIOps as one governed MCP server: read-only\nconnectors for the three utility telecontrol protocols — **IEC 60870-5-104**,\n**DNP3 / IEEE 1815**, **IEC 61850 MMS** — built on the base `iaiops` core, plus the\nbase cross-protocol **brain** mounted onto the same server. Every tool runs\nthrough the iaiops governance harness (audit / budget / risk-tier); startup\nrefuses to serve any tool missing the `_is_governed_tool` marker.\n\n**Monitor-direction ONLY — deliberately.** No control/operate surface exists in\nthis edition: no DNP3 CROB or analog-output, no setpoints, no\nselect-before-operate, no IEC-104 command ASDUs (C_SC / C_DC / C_SE), no\nIEC 61850 control model. This is not a gated write — the tools simply do not\nexist, so an agent cannot be talked into operating a breaker.\n未经授权勿对生产控制系统写入。\n\n## When to route here\n\nTask mentions: IEC 60870-5-104 / IEC-104 / 104规约 / general interrogation /\n总召 / IOA, DNP3 / IEEE 1815 / outstation / integrity poll / Class 0/1/2/3,\nIEC 61850 / MMS / IED / logical device / logical node / data attribute /\nfunctional constraint, substation / 变电站 / RTU / telecontrol / SCADA gateway,\nenergy / power / utility telemetry, 遥测 / 遥信 / 电力监控.\n\n**Explicitly out of scope:** IEC 61850 **GOOSE** and **Sampled Values** (layer-2\npub/sub — not supported; MMS client reads only), protection-relay settings\nchanges, any control/operate action.\n\n**Factory / building / process protocols route elsewhere:** OPC-UA, Modbus,\nSiemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, EtherNet/IP, EtherCAT,\nSECS/GEM, PROFINET, HART-IP, BACnet → use the base **iaiops** server\n(`pip install iaiops`, then `iaiops-mcp`), not this one.\n\n## Install & run\n\n```bash\npip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio\n```\n\n`iaiops-energy` pulls in the base `iaiops` package (shared core) automatically.\nProtocol client libs are lazy optional extras — a missing lib degrades to a\nteaching error naming the exact `pip install`, not a crash. Targets live in\n`~/.iaiops/config.yaml` (override path via `IAIOPS_CONFIG`):\n`protocol: iec104|dnp3|iec61850`, `host`, `port`, plus `common_address` /\n`unit_id` as the protocol needs. Credentials go to the encrypted secret store,\nunlocked via `IAIOPS_MASTER_PASSWORD` — never into config or chat.\n\nMCP client config (stdio):\n\n```json\n{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}\n```\n\nEvery tool takes an optional `endpoint` selecting a named target from that\nconfig; omitted, the sole/default target of the protocol is used.\n\n## Tools by protocol (all `[READ][risk=low]`)\n\n### IEC 60870-5-104 (c104; RTU / substation telemetry — 遥测遥信)\n- `iec104_connection_info` — connect and report link status + discovered\n  stations (common addresses) — the IEC-104 doctor step\n- `iec104_interrogate` — general interrogation (总召): all monitored points of\n  one station by ASDU common address, with type / quality / timestamp\n- `iec104_read_point` — read ONE monitored point by information-object\n  address (IOA)\n\n### DNP3 / IEEE 1815 (pydnp3; outstation monitoring)\n- `dnp3_link_status` — bring the DNP3 master online and report link /\n  outstation status — the DNP3 doctor step\n- `dnp3_integrity_poll` — Class 0/1/2/3 integrity poll: the outstation's\n  database grouped by measurement type (binary / analog / counter …)\n\n### IEC 61850 MMS (pyiec61850; substation IED reads — linux-only wheel)\n- `iec61850_device_directory` — list the IED's logical devices (optionally\n  their logical-node children) — the IEC 61850 doctor step\n- `iec61850_browse` — browse immediate model children under a reference\n  (LD / LN / DO)\n- `iec61850_read` — read one data attribute by object reference + functional\n  constraint (e.g. `LD0/MMXU1.TotW.mag.f`, FC `MX`)\n\n### Substation intelligence (pure analysis — no live I/O)\n- `substation_event_analysis` — Sequence-of-Events (SOE) protection-trip /\n  selectivity analysis: feed injected relay pickups/trips + breaker open/close +\n  lockouts (`{ref, timestamp, type}`) and it decides what tripped and whether\n  protection coordinated — selective trip vs non-selective backup operation vs\n  breaker failure, cite-first, monitor-only（变电事件序列/保护选择性分析：判定\n  跳闸与保护配合是否正确——选择性跳闸/后备越级动作/断路器失灵；纯分析、只读，\n  不做任何 live I/O）\n\n### Cross-protocol brain (mounted from the base `iaiops` package)\nThe base brain tools register onto this server too — diagnostics\n(`diagnose_dataflow`, `alarm_bad_actors`, `tag_health`, `historian_health`,\n`data_quality_scorecard`, downtime root-cause), analytics (OEE / downtime,\n`monitor_changes`), asset inventory + unified asset model / alias governance,\nand compliance self-assessment (防护指南 / 等保 2.0 / IEC 62443) — plus\n`protocols_supported` for the capability map. Same governance harness; see the\nbase `iaiops` skill for the full brain reference.\n\n## Supported versions (honest matrix)\n\n| Protocol | Lib pin (this release) | Spec / transport | Verification status | CI |\n| --- | --- | --- | --- | --- |\n| IEC 60870-5-104 | `c104>=2.0,<3` | IEC 60870-5-104 over TCP/2404 | **verified (monitor path)** — real client↔server round-trip vs an in-process `c104` server (`tests/test_iec104_live.py`, passes in a Linux container): general interrogation returns seeded points, bad IOA → no fabricated value, no control ASDU issued; skips on macOS (no `c104` wheel). Live RTU 待核实 | ✅ runs every push |\n| DNP3 / IEEE 1815 | `pydnp3>=0.1,<1` | IEEE 1815, TCP; monitor direction only | **verified (monitor path)** — real master↔outstation round-trip vs a live opendnp3 outstation; physical RTU 待核实 | ✅ runs every push ¹ |\n| IEC 61850 MMS | `pyiec61850>=1.5.2a1,<2` (linux-only wheel) | MMS over ISO-on-TCP/102; no GOOSE/SV | **verified (monitor path)** — real client↔server round-trip vs an in-process libiec61850 MMS server; physical IED 待核实 | ✅ runs every push |\n\n**¹ All three monitor paths are CI-gated (since 0.1.11)**, and a skipped live test now\n**fails** the build — a skip and a pass look identical in a green badge, which is how the\nDNP3 gap survived. This block used to say DNP3 and IEC-61850 were not covered by CI.\nIEC-61850 had in fact been running there for some time and nobody rechecked; DNP3 was\nbelieved unbuildable on hosted runners, which was wrong — opendnp3 compiles clean and the\n2019 binding layer needed three mechanical fixes, scripted in `scripts/build_pydnp3.sh`.\n\n`pydnp3` ships no wheel (opendnp3 is built from source by that script);\n`pyiec61850` is a linux-only SWIG wheel — both protocols no-op with a teaching\nerror elsewhere. **CI coverage is level ② (real library, loopback), never level ③.**\nAnything not yet proven against real gear stays marked 待核实 — do not claim otherwise.\n\n## Doctor-first workflow\n\n1. `protocols_supported` — see what this server exposes and what's configured.\n2. Prove the link with the protocol's cheap status tool **before** any deep\n   read: `iec104_connection_info` / `dnp3_link_status` /\n   `iec61850_device_directory`.\n3. Only then interrogate: `iec104_interrogate` / `dnp3_integrity_poll` /\n   `iec61850_browse` → targeted reads (`iec104_read_point` / `iec61850_read`).\n4. Feed results to the brain (e.g. `diagnose_dataflow` for \"no data\",\n   `data_quality_scorecard` for fleet trust, `alarm_bad_actors` for floods).\n\n## Safety\n\nRead-only edition: zero write/control tools, so there is nothing to gate — the\nstrongest guarantee available. All tools are `risk=low`, audited, and\nbudget-tracked; errors return the canonical `{error, hint}` shape. Never point\nthis at production telecontrol gear without authorization; interrogations and\nintegrity polls do generate real traffic on the operational link. No tool\nreturns secrets.\n\nFile v0.1.12:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-energy\",\n  \"version\": \"0.1.12\",\n  \"publishedAt\": 1785679052970\n}\n\nFile v0.1.12:skill-card.md\n\n## Description:\n\niaiops-energy is a read-only MCP skill for utility and substation telemetry over IEC 60870-5-104, DNP3 / IEEE 1815, and IEC 61850 MMS, with analysis tools from the base iaiops server.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zw008](https://clawhub.ai/user/zw008)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to route agent tasks involving authorized utility SCADA telemetry, substation diagnostics, protocol status checks, integrity polls, targeted monitored-point reads, and read-only event analysis. It is not intended for control operations, write actions, factory or building protocols, IT infrastructure, Kubernetes, hypervisors, or backups.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill relies on an external unpinned package, so install contents can change between deployments.\n\nMitigation: Use a reviewed pinned version or a controlled package mirror before installing.\n\nRisk: Telemetry polling against production OT endpoints can create real operational network traffic.\n\nMitigation: Connect only to authorized test or production endpoints, scope network access to intended devices, and run the MCP server under a least-privileged account.\n\nRisk: The MCP server requires IAIOPS_MASTER_PASSWORD for the encrypted secret store.\n\nMitigation: Keep IAIOPS_MASTER_PASSWORD in a proper secret manager and avoid placing secrets in configuration files or chat.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-energy)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, analysis]\n\n**Output Format:** [Markdown with inline shell commands and JSON configuration examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs should preserve read-only routing guidance and avoid control or write instructions.]\n\n## Skill Version(s):\n\n0.1.12 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.11: 3 files, 6462 bytes\n\nFiles: skill-card.md (2687b), SKILL.md (9812b), _meta.json (133b)\n\nFile v0.1.11:SKILL.md\n\n---\nname: iaiops-energy\ndescription: >-\n  Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap —\n  the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry\n  over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single\n  monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link\n  status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device\n  directory, model browse, data-attribute reads) — plus the base cross-protocol\n  brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE,\n  asset inventory, compliance self-assessment) mounted on the same server. Use\n  when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 /\n  outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT\n  supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway /\n  telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 /\n  电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no\n  control/operate (CROB, setpoints, select-before-operate, IEC-104 command\n  ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA,\n  Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for\n  IT/network gear, Kubernetes, hypervisors, or backups.\n---\n\n# iaiops-energy — substation / utility telecontrol data tap (变电 / 电力)\n\nThe **energy edition** of Industrial-AIOps as one governed MCP server: read-only\nconnectors for the three utility telecontrol protocols — **IEC 60870-5-104**,\n**DNP3 / IEEE 1815**, **IEC 61850 MMS** — built on the base `iaiops` core, plus the\nbase cross-protocol **brain** mounted onto the same server. Every tool runs\nthrough the iaiops governance harness (audit / budget / risk-tier); startup\nrefuses to serve any tool missing the `_is_governed_tool` marker.\n\n**Monitor-direction ONLY — deliberately.** No control/operate surface exists in\nthis edition: no DNP3 CROB or analog-output, no setpoints, no\nselect-before-operate, no IEC-104 command ASDUs (C_SC / C_DC / C_SE), no\nIEC 61850 control model. This is not a gated write — the tools simply do not\nexist, so an agent cannot be talked into operating a breaker.\n未经授权勿对生产控制系统写入。\n\n## When to route here\n\nTask mentions: IEC 60870-5-104 / IEC-104 / 104规约 / general interrogation /\n总召 / IOA, DNP3 / IEEE 1815 / outstation / integrity poll / Class 0/1/2/3,\nIEC 61850 / MMS / IED / logical device / logical node / data attribute /\nfunctional constraint, substation / 变电站 / RTU / telecontrol / SCADA gateway,\nenergy / power / utility telemetry, 遥测 / 遥信 / 电力监控.\n\n**Explicitly out of scope:** IEC 61850 **GOOSE** and **Sampled Values** (layer-2\npub/sub — not supported; MMS client reads only), protection-relay settings\nchanges, any control/operate action.\n\n**Factory / building / process protocols route elsewhere:** OPC-UA, Modbus,\nSiemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, EtherNet/IP, EtherCAT,\nSECS/GEM, PROFINET, HART-IP, BACnet → use the base **iaiops** server\n(`pip install iaiops`, then `iaiops-mcp`), not this one.\n\n## Install & run\n\n```bash\npip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio\n```\n\n`iaiops-energy` pulls in the base `iaiops` package (shared core) automatically.\nProtocol client libs are lazy optional extras — a missing lib degrades to a\nteaching error naming the exact `pip install`, not a crash. Targets live in\n`~/.iaiops/config.yaml` (override path via `IAIOPS_CONFIG`):\n`protocol: iec104|dnp3|iec61850`, `host`, `port`, plus `common_address` /\n`unit_id` as the protocol needs. Credentials go to the encrypted secret store,\nunlocked via `IAIOPS_MASTER_PASSWORD` — never into config or chat.\n\nMCP client config (stdio):\n\n```json\n{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}\n```\n\nEvery tool takes an optional `endpoint` selecting a named target from that\nconfig; omitted, the sole/default target of the protocol is used.\n\n## Tools by protocol (all `[READ][risk=low]`)\n\n### IEC 60870-5-104 (c104; RTU / substation telemetry — 遥测遥信)\n- `iec104_connection_info` — connect and report link status + discovered\n  stations (common addresses) — the IEC-104 doctor step\n- `iec104_interrogate` — general interrogation (总召): all monitored points of\n  one station by ASDU common address, with type / quality / timestamp\n- `iec104_read_point` — read ONE monitored point by information-object\n  address (IOA)\n\n### DNP3 / IEEE 1815 (pydnp3; outstation monitoring)\n- `dnp3_link_status` — bring the DNP3 master online and report link /\n  outstation status — the DNP3 doctor step\n- `dnp3_integrity_poll` — Class 0/1/2/3 integrity poll: the outstation's\n  database grouped by measurement type (binary / analog / counter …)\n\n### IEC 61850 MMS (pyiec61850; substation IED reads — linux-only wheel)\n- `iec61850_device_directory` — list the IED's logical devices (optionally\n  their logical-node children) — the IEC 61850 doctor step\n- `iec61850_browse` — browse immediate model children under a reference\n  (LD / LN / DO)\n- `iec61850_read` — read one data attribute by object reference + functional\n  constraint (e.g. `LD0/MMXU1.TotW.mag.f`, FC `MX`)\n\n### Substation intelligence (pure analysis — no live I/O)\n- `substation_event_analysis` — Sequence-of-Events (SOE) protection-trip /\n  selectivity analysis: feed injected relay pickups/trips + breaker open/close +\n  lockouts (`{ref, timestamp, type}`) and it decides what tripped and whether\n  protection coordinated — selective trip vs non-selective backup operation vs\n  breaker failure, cite-first, monitor-only（变电事件序列/保护选择性分析：判定\n  跳闸与保护配合是否正确——选择性跳闸/后备越级动作/断路器失灵；纯分析、只读，\n  不做任何 live I/O）\n\n### Cross-protocol brain (mounted from the base `iaiops` package)\nThe base brain tools register onto this server too — diagnostics\n(`diagnose_dataflow`, `alarm_bad_actors`, `tag_health`, `historian_health`,\n`data_quality_scorecard`, downtime root-cause), analytics (OEE / downtime,\n`monitor_changes`), asset inventory + unified asset model / alias governance,\nand compliance self-assessment (防护指南 / 等保 2.0 / IEC 62443) — plus\n`protocols_supported` for the capability map. Same governance harness; see the\nbase `iaiops` skill for the full brain reference.\n\n## Supported versions (honest matrix)\n\n| Protocol | Lib pin (this release) | Spec / transport | Verification status | CI |\n| --- | --- | --- | --- | --- |\n| IEC 60870-5-104 | `c104>=2.0,<3` | IEC 60870-5-104 over TCP/2404 | **verified (monitor path)** — real client↔server round-trip vs an in-process `c104` server (`tests/test_iec104_live.py`, passes in a Linux container): general interrogation returns seeded points, bad IOA → no fabricated value, no control ASDU issued; skips on macOS (no `c104` wheel). Live RTU 待核实 | ✅ runs every push |\n| DNP3 / IEEE 1815 | `pydnp3>=0.1,<1` | IEEE 1815, TCP; monitor direction only | **verified (monitor path)** — real master↔outstation round-trip vs a live opendnp3 outstation; physical RTU 待核实 | ✅ runs every push ¹ |\n| IEC 61850 MMS | `pyiec61850>=1.5.2a1,<2` (linux-only wheel) | MMS over ISO-on-TCP/102; no GOOSE/SV | **verified (monitor path)** — real client↔server round-trip vs an in-process libiec61850 MMS server; physical IED 待核实 | ✅ runs every push |\n\n**¹ All three monitor paths are CI-gated (since 0.1.11)**, and a skipped live test now\n**fails** the build — a skip and a pass look identical in a green badge, which is how the\nDNP3 gap survived. This block used to say DNP3 and IEC-61850 were not covered by CI.\nIEC-61850 had in fact been running there for some time and nobody rechecked; DNP3 was\nbelieved unbuildable on hosted runners, which was wrong — opendnp3 compiles clean and the\n2019 binding layer needed three mechanical fixes, scripted in `scripts/build_pydnp3.sh`.\n\n`pydnp3` ships no wheel (opendnp3 is built from source by that script);\n`pyiec61850` is a linux-only SWIG wheel — both protocols no-op with a teaching\nerror elsewhere. **CI coverage is level ② (real library, loopback), never level ③.**\nAnything not yet proven against real gear stays marked 待核实 — do not claim otherwise.\n\n## Doctor-first workflow\n\n1. `protocols_supported` — see what this server exposes and what's configured.\n2. Prove the link with the protocol's cheap status tool **before** any deep\n   read: `iec104_connection_info` / `dnp3_link_status` /\n   `iec61850_device_directory`.\n3. Only then interrogate: `iec104_interrogate` / `dnp3_integrity_poll` /\n   `iec61850_browse` → targeted reads (`iec104_read_point` / `iec61850_read`).\n4. Feed results to the brain (e.g. `diagnose_dataflow` for \"no data\",\n   `data_quality_scorecard` for fleet trust, `alarm_bad_actors` for floods).\n\n## Safety\n\nRead-only edition: zero write/control tools, so there is nothing to gate — the\nstrongest guarantee available. All tools are `risk=low`, audited, and\nbudget-tracked; errors return the canonical `{error, hint}` shape. Never point\nthis at production telecontrol gear without authorization; interrogations and\nintegrity polls do generate real traffic on the operational link. No tool\nreturns secrets.\n\nFile v0.1.11:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-energy\",\n  \"version\": \"0.1.11\",\n  \"publishedAt\": 1785559345806\n}\n\nFile v0.1.11:skill-card.md\n\n## Description: <br>\nProvides read-only energy and substation telecontrol telemetry over IEC 60870-5-104, DNP3/IEEE 1815, and IEC 61850 MMS, with Industrial-AIOps analysis for authorized utility monitoring. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[zw008](https://clawhub.ai/user/zw008) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, utility engineers, and authorized operations teams use this skill to monitor substation telemetry, inspect protocol link status, run read-only interrogations or integrity polls, and analyze operational data quality across supported energy protocols. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Unauthorized use on operational utility or substation networks could create safety, compliance, or service risks even though the skill is read-only. <br>\nMitigation: Install and run the skill only for systems the operator is authorized to monitor, and confirm target scope before connecting to live equipment. <br>\nRisk: Status checks, interrogations, integrity polls, and model reads generate real traffic on operational links. <br>\nMitigation: Start with low-impact status or directory tools, then proceed to broader reads only after confirming the endpoint, protocol, and operational window. <br>\nRisk: Credentials or endpoint details could be mishandled during setup. <br>\nMitigation: Keep credentials in the documented secret mechanism, pass runtime configuration through environment or config files, and avoid placing secrets in prompts or chat history. <br>\nRisk: The release depends on external pip packages and protocol client libraries. <br>\nMitigation: Review package provenance and install only the protocol extras required for the monitored environment. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-energy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, JSON, guidance, shell commands, configuration] <br>\n**Output Format:** [Markdown guidance with inline shell commands and JSON configuration snippets; MCP tool results may be structured text or JSON.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Monitor-only workflows; no control or operate actions are exposed.] <br>\n\n## Skill Version(s): <br>\n0.1.11 (source: ClawHub release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.10: 3 files, 6280 bytes\n\nFiles: skill-card.md (2328b), SKILL.md (9919b), _meta.json (133b)\n\nFile v0.1.10:SKILL.md\n\n---\nname: iaiops-energy\ndescription: >-\n  Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap —\n  the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry\n  over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single\n  monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link\n  status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device\n  directory, model browse, data-attribute reads) — plus the base cross-protocol\n  brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE,\n  asset inventory, compliance self-assessment) mounted on the same server. Use\n  when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 /\n  outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT\n  supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway /\n  telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 /\n  电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no\n  control/operate (CROB, setpoints, select-before-operate, IEC-104 command\n  ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA,\n  Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for\n  IT/network gear, Kubernetes, hypervisors, or backups.\n---\n\n# iaiops-energy — substation / utility telecontrol data tap (变电 / 电力)\n\nThe **energy edition** of Industrial-AIOps as one governed MCP server: read-only\nconnectors for the three utility telecontrol protocols — **IEC 60870-5-104**,\n**DNP3 / IEEE 1815**, **IEC 61850 MMS** — built on the base `iaiops` core, plus the\nbase cross-protocol **brain** mounted onto the same server. Every tool runs\nthrough the iaiops governance harness (audit / budget / risk-tier); startup\nrefuses to serve any tool missing the `_is_governed_tool` marker.\n\n**Monitor-direction ONLY — deliberately.** No control/operate surface exists in\nthis edition: no DNP3 CROB or analog-output, no setpoints, no\nselect-before-operate, no IEC-104 command ASDUs (C_SC / C_DC / C_SE), no\nIEC 61850 control model. This is not a gated write — the tools simply do not\nexist, so an agent cannot be talked into operating a breaker.\n未经授权勿对生产控制系统写入。\n\n## When to route here\n\nTask mentions: IEC 60870-5-104 / IEC-104 / 104规约 / general interrogation /\n总召 / IOA, DNP3 / IEEE 1815 / outstation / integrity poll / Class 0/1/2/3,\nIEC 61850 / MMS / IED / logical device / logical node / data attribute /\nfunctional constraint, substation / 变电站 / RTU / telecontrol / SCADA gateway,\nenergy / power / utility telemetry, 遥测 / 遥信 / 电力监控.\n\n**Explicitly out of scope:** IEC 61850 **GOOSE** and **Sampled Values** (layer-2\npub/sub — not supported; MMS client reads only), protection-relay settings\nchanges, any control/operate action.\n\n**Factory / building / process protocols route elsewhere:** OPC-UA, Modbus,\nSiemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, EtherNet/IP, EtherCAT,\nSECS/GEM, PROFINET, HART-IP, BACnet → use the base **iaiops** server\n(`pip install iaiops`, then `iaiops-mcp`), not this one.\n\n## Install & run\n\n```bash\npip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio\n```\n\n`iaiops-energy` pulls in the base `iaiops` package (shared core) automatically.\nProtocol client libs are lazy optional extras — a missing lib degrades to a\nteaching error naming the exact `pip install`, not a crash. Targets live in\n`~/.iaiops/config.yaml` (override path via `IAIOPS_CONFIG`):\n`protocol: iec104|dnp3|iec61850`, `host`, `port`, plus `common_address` /\n`unit_id` as the protocol needs. Credentials go to the encrypted secret store,\nunlocked via `IAIOPS_MASTER_PASSWORD` — never into config or chat.\n\nMCP client config (stdio):\n\n```json\n{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}\n```\n\nEvery tool takes an optional `endpoint` selecting a named target from that\nconfig; omitted, the sole/default target of the protocol is used.\n\n## Tools by protocol (all `[READ][risk=low]`)\n\n### IEC 60870-5-104 (c104; RTU / substation telemetry — 遥测遥信)\n- `iec104_connection_info` — connect and report link status + discovered\n  stations (common addresses) — the IEC-104 doctor step\n- `iec104_interrogate` — general interrogation (总召): all monitored points of\n  one station by ASDU common address, with type / quality / timestamp\n- `iec104_read_point` — read ONE monitored point by information-object\n  address (IOA)\n\n### DNP3 / IEEE 1815 (pydnp3; outstation monitoring)\n- `dnp3_link_status` — bring the DNP3 master online and report link /\n  outstation status — the DNP3 doctor step\n- `dnp3_integrity_poll` — Class 0/1/2/3 integrity poll: the outstation's\n  database grouped by measurement type (binary / analog / counter …)\n\n### IEC 61850 MMS (pyiec61850; substation IED reads — linux-only wheel)\n- `iec61850_device_directory` — list the IED's logical devices (optionally\n  their logical-node children) — the IEC 61850 doctor step\n- `iec61850_browse` — browse immediate model children under a reference\n  (LD / LN / DO)\n- `iec61850_read` — read one data attribute by object reference + functional\n  constraint (e.g. `LD0/MMXU1.TotW.mag.f`, FC `MX`)\n\n### Substation intelligence (pure analysis — no live I/O)\n- `substation_event_analysis` — Sequence-of-Events (SOE) protection-trip /\n  selectivity analysis: feed injected relay pickups/trips + breaker open/close +\n  lockouts (`{ref, timestamp, type}`) and it decides what tripped and whether\n  protection coordinated — selective trip vs non-selective backup operation vs\n  breaker failure, cite-first, monitor-only（变电事件序列/保护选择性分析：判定\n  跳闸与保护配合是否正确——选择性跳闸/后备越级动作/断路器失灵；纯分析、只读，\n  不做任何 live I/O）\n\n### Cross-protocol brain (mounted from the base `iaiops` package)\nThe base brain tools register onto this server too — diagnostics\n(`diagnose_dataflow`, `alarm_bad_actors`, `tag_health`, `historian_health`,\n`data_quality_scorecard`, downtime root-cause), analytics (OEE / downtime,\n`monitor_changes`), asset inventory + unified asset model / alias governance,\nand compliance self-assessment (防护指南 / 等保 2.0 / IEC 62443) — plus\n`protocols_supported` for the capability map. Same governance harness; see the\nbase `iaiops` skill for the full brain reference.\n\n## Supported versions (honest matrix)\n\n| Protocol | Lib pin (this release) | Spec / transport | Verification status | CI |\n| --- | --- | --- | --- | --- |\n| IEC 60870-5-104 | `c104>=2.0,<3` | IEC 60870-5-104 over TCP/2404 | **verified (monitor path)** — real client↔server round-trip vs an in-process `c104` server (`tests/test_iec104_live.py`, passes in a Linux container): general interrogation returns seeded points, bad IOA → no fabricated value, no control ASDU issued; skips on macOS (no `c104` wheel). Live RTU 待核实 | ✅ runs every push |\n| DNP3 / IEEE 1815 | `pydnp3>=0.1,<1` | IEEE 1815, TCP; monitor direction only | **verified (monitor path)** — real master↔outstation round-trip vs a live opendnp3 outstation in Docker/Linux; physical RTU 待核实 | ⏭ skips on hosted CI ¹ |\n| IEC 61850 MMS | `pyiec61850>=1.5.2a1,<2` (linux-only wheel) | MMS over ISO-on-TCP/102; no GOOSE/SV | **verified (monitor path)** — real client↔server round-trip vs an in-process libiec61850 MMS server in Docker/Linux; physical IED 待核实 | ⏭ skips on hosted CI ¹ |\n\n**¹ CI-coverage caveat (honest).** Only **IEC-104**'s monitor path is CI-gated — the\nCI job hard-installs the `iec104` extra, so `test_iec104_live.py` runs its loopback\nround-trip on **every push**. **DNP3** and **IEC-61850** are loopback-verified only via\n**manual / Docker** runs: their native libs (`opendnp3` via `pydnp3`, `libiec61850` via\n`pyiec61850`) don't build on hosted GitHub runners, so CI installs them best-effort and\n`test_dnp3_live.py` / `test_iec61850_live.py` **SKIP** there. A regression in the DNP3 or\nIEC-61850 monitor path is thus **not caught by CI** — re-verify those with a manual/Docker\nrun; the green CI badge does not cover them.\n\n`pydnp3` ships no wheel (native opendnp3 build → run in a Linux container);\n`pyiec61850` is a linux-only SWIG wheel — both protocols no-op with a teaching\nerror elsewhere. Anything not yet proven against real gear stays marked\n待核实 — do not claim otherwise.\n\n## Doctor-first workflow\n\n1. `protocols_supported` — see what this server exposes and what's configured.\n2. Prove the link with the protocol's cheap status tool **before** any deep\n   read: `iec104_connection_info` / `dnp3_link_status` /\n   `iec61850_device_directory`.\n3. Only then interrogate: `iec104_interrogate` / `dnp3_integrity_poll` /\n   `iec61850_browse` → targeted reads (`iec104_read_point` / `iec61850_read`).\n4. Feed results to the brain (e.g. `diagnose_dataflow` for \"no data\",\n   `data_quality_scorecard` for fleet trust, `alarm_bad_actors` for floods).\n\n## Safety\n\nRead-only edition: zero write/control tools, so there is nothing to gate — the\nstrongest guarantee available. All tools are `risk=low`, audited, and\nbudget-tracked; errors return the canonical `{error, hint}` shape. Never point\nthis at production telecontrol gear without authorization; interrogations and\nintegrity polls do generate real traffic on the operational link. No tool\nreturns secrets.\n\nFile v0.1.10:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-energy\",\n  \"version\": \"0.1.10\",\n  \"publishedAt\": 1785509525744\n}\n\nFile v0.1.10:skill-card.md\n\n## Description: <br>\niaiops-energy helps agents route authorized, read-only utility SCADA telemetry monitoring tasks across IEC 60870-5-104, DNP3/IEEE 1815, IEC 61850 MMS, and related industrial AIOps diagnostics. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[zw008](https://clawhub.ai/user/zw008) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and OT engineers use this skill to route monitor-only energy and substation telemetry questions to a governed MCP server for link status, interrogation, point reads, model browsing, and diagnostic analysis. It is intended for authorized monitoring workflows, not control operations. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Read-only polling can still send traffic to operational telecontrol equipment. <br>\nMitigation: Use only in authorized OT monitoring contexts and verify approval before interrogation or integrity-poll workflows. <br>\nRisk: Incorrect package source or credential handling could expose sensitive monitoring access. <br>\nMitigation: Verify the iaiops-energy package source and keep credentials in the documented secret store rather than config files or chat. <br>\nRisk: DNP3 and IEC 61850 paths are documented as manually verified rather than CI-gated. <br>\nMitigation: Re-verify those protocol paths in a Linux or Docker environment before relying on them for production monitoring. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-energy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or structured text with JSON configuration snippets and shell commands.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only operational-technology monitoring guidance; live polling still requires authorization.] <br>\n\n## Skill Version(s): <br>\n0.1.10 (source: ClawHub release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.9: 3 files, 6414 bytes\n\nFiles: skill-card.md (2658b), SKILL.md (9919b), _meta.json (132b)\n\nFile v0.1.9:SKILL.md\n\n---\nname: iaiops-energy\ndescription: >-\n  Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap —\n  the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry\n  over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single\n  monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link\n  status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device\n  directory, model browse, data-attribute reads) — plus the base cross-protocol\n  brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE,\n  asset inventory, compliance self-assessment) mounted on the same server. Use\n  when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 /\n  outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT\n  supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway /\n  telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 /\n  电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no\n  control/operate (CROB, setpoints, select-before-operate, IEC-104 command\n  ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA,\n  Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for\n  IT/network gear, Kubernetes, hypervisors, or backups.\n---\n\n# iaiops-energy — substation / utility telecontrol data tap (变电 / 电力)\n\nThe **energy edition** of Industrial-AIOps as one governed MCP server: read-only\nconnectors for the three utility telecontrol protocols — **IEC 60870-5-104**,\n**DNP3 / IEEE 1815**, **IEC 61850 MMS** — built on the base `iaiops` core, plus the\nbase cross-protocol **brain** mounted onto the same server. Every tool runs\nthrough the iaiops governance harness (audit / budget / risk-tier); startup\nrefuses to serve any tool missing the `_is_governed_tool` marker.\n\n**Monitor-direction ONLY — deliberately.** No control/operate surface exists in\nthis edition: no DNP3 CROB or analog-output, no setpoints, no\nselect-before-operate, no IEC-104 command ASDUs (C_SC / C_DC / C_SE), no\nIEC 61850 control model. This is not a gated write — the tools simply do not\nexist, so an agent cannot be talked into operating a breaker.\n未经授权勿对生产控制系统写入。\n\n## When to route here\n\nTask mentions: IEC 60870-5-104 / IEC-104 / 104规约 / general interrogation /\n总召 / IOA, DNP3 / IEEE 1815 / outstation / integrity poll / Class 0/1/2/3,\nIEC 61850 / MMS / IED / logical device / logical node / data attribute /\nfunctional constraint, substation / 变电站 / RTU / telecontrol / SCADA gateway,\nenergy / power / utility telemetry, 遥测 / 遥信 / 电力监控.\n\n**Explicitly out of scope:** IEC 61850 **GOOSE** and **Sampled Values** (layer-2\npub/sub — not supported; MMS client reads only), protection-relay settings\nchanges, any control/operate action.\n\n**Factory / building / process protocols route elsewhere:** OPC-UA, Modbus,\nSiemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, EtherNet/IP, EtherCAT,\nSECS/GEM, PROFINET, HART-IP, BACnet → use the base **iaiops** server\n(`pip install iaiops`, then `iaiops-mcp`), not this one.\n\n## Install & run\n\n```bash\npip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio\n```\n\n`iaiops-energy` pulls in the base `iaiops` package (shared core) automatically.\nProtocol client libs are lazy optional extras — a missing lib degrades to a\nteaching error naming the exact `pip install`, not a crash. Targets live in\n`~/.iaiops/config.yaml` (override path via `IAIOPS_CONFIG`):\n`protocol: iec104|dnp3|iec61850`, `host`, `port`, plus `common_address` /\n`unit_id` as the protocol needs. Credentials go to the encrypted secret store,\nunlocked via `IAIOPS_MASTER_PASSWORD` — never into config or chat.\n\nMCP client config (stdio):\n\n```json\n{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}\n```\n\nEvery tool takes an optional `endpoint` selecting a named target from that\nconfig; omitted, the sole/default target of the protocol is used.\n\n## Tools by protocol (all `[READ][risk=low]`)\n\n### IEC 60870-5-104 (c104; RTU / substation telemetry — 遥测遥信)\n- `iec104_connection_info` — connect and report link status + discovered\n  stations (common addresses) — the IEC-104 doctor step\n- `iec104_interrogate` — general interrogation (总召): all monitored points of\n  one station by ASDU common address, with type / quality / timestamp\n- `iec104_read_point` — read ONE monitored point by information-object\n  address (IOA)\n\n### DNP3 / IEEE 1815 (pydnp3; outstation monitoring)\n- `dnp3_link_status` — bring the DNP3 master online and report link /\n  outstation status — the DNP3 doctor step\n- `dnp3_integrity_poll` — Class 0/1/2/3 integrity poll: the outstation's\n  database grouped by measurement type (binary / analog / counter …)\n\n### IEC 61850 MMS (pyiec61850; substation IED reads — linux-only wheel)\n- `iec61850_device_directory` — list the IED's logical devices (optionally\n  their logical-node children) — the IEC 61850 doctor step\n- `iec61850_browse` — browse immediate model children under a reference\n  (LD / LN / DO)\n- `iec61850_read` — read one data attribute by object reference + functional\n  constraint (e.g. `LD0/MMXU1.TotW.mag.f`, FC `MX`)\n\n### Substation intelligence (pure analysis — no live I/O)\n- `substation_event_analysis` — Sequence-of-Events (SOE) protection-trip /\n  selectivity analysis: feed injected relay pickups/trips + breaker open/close +\n  lockouts (`{ref, timestamp, type}`) and it decides what tripped and whether\n  protection coordinated — selective trip vs non-selective backup operation vs\n  breaker failure, cite-first, monitor-only（变电事件序列/保护选择性分析：判定\n  跳闸与保护配合是否正确——选择性跳闸/后备越级动作/断路器失灵；纯分析、只读，\n  不做任何 live I/O）\n\n### Cross-protocol brain (mounted from the base `iaiops` package)\nThe base brain tools register onto this server too — diagnostics\n(`diagnose_dataflow`, `alarm_bad_actors`, `tag_health`, `historian_health`,\n`data_quality_scorecard`, downtime root-cause), analytics (OEE / downtime,\n`monitor_changes`), asset inventory + unified asset model / alias governance,\nand compliance self-assessment (防护指南 / 等保 2.0 / IEC 62443) — plus\n`protocols_supported` for the capability map. Same governance harness; see the\nbase `iaiops` skill for the full brain reference.\n\n## Supported versions (honest matrix)\n\n| Protocol | Lib pin (this release) | Spec / transport | Verification status | CI |\n| --- | --- | --- | --- | --- |\n| IEC 60870-5-104 | `c104>=2.0,<3` | IEC 60870-5-104 over TCP/2404 | **verified (monitor path)** — real client↔server round-trip vs an in-process `c104` server (`tests/test_iec104_live.py`, passes in a Linux container): general interrogation returns seeded points, bad IOA → no fabricated value, no control ASDU issued; skips on macOS (no `c104` wheel). Live RTU 待核实 | ✅ runs every push |\n| DNP3 / IEEE 1815 | `pydnp3>=0.1,<1` | IEEE 1815, TCP; monitor direction only | **verified (monitor path)** — real master↔outstation round-trip vs a live opendnp3 outstation in Docker/Linux; physical RTU 待核实 | ⏭ skips on hosted CI ¹ |\n| IEC 61850 MMS | `pyiec61850>=1.5.2a1,<2` (linux-only wheel) | MMS over ISO-on-TCP/102; no GOOSE/SV | **verified (monitor path)** — real client↔server round-trip vs an in-process libiec61850 MMS server in Docker/Linux; physical IED 待核实 | ⏭ skips on hosted CI ¹ |\n\n**¹ CI-coverage caveat (honest).** Only **IEC-104**'s monitor path is CI-gated — the\nCI job hard-installs the `iec104` extra, so `test_iec104_live.py` runs its loopback\nround-trip on **every push**. **DNP3** and **IEC-61850** are loopback-verified only via\n**manual / Docker** runs: their native libs (`opendnp3` via `pydnp3`, `libiec61850` via\n`pyiec61850`) don't build on hosted GitHub runners, so CI installs them best-effort and\n`test_dnp3_live.py` / `test_iec61850_live.py` **SKIP** there. A regression in the DNP3 or\nIEC-61850 monitor path is thus **not caught by CI** — re-verify those with a manual/Docker\nrun; the green CI badge does not cover them.\n\n`pydnp3` ships no wheel (native opendnp3 build → run in a Linux container);\n`pyiec61850` is a linux-only SWIG wheel — both protocols no-op with a teaching\nerror elsewhere. Anything not yet proven against real gear stays marked\n待核实 — do not claim otherwise.\n\n## Doctor-first workflow\n\n1. `protocols_supported` — see what this server exposes and what's configured.\n2. Prove the link with the protocol's cheap status tool **before** any deep\n   read: `iec104_connection_info` / `dnp3_link_status` /\n   `iec61850_device_directory`.\n3. Only then interrogate: `iec104_interrogate` / `dnp3_integrity_poll` /\n   `iec61850_browse` → targeted reads (`iec104_read_point` / `iec61850_read`).\n4. Feed results to the brain (e.g. `diagnose_dataflow` for \"no data\",\n   `data_quality_scorecard` for fleet trust, `alarm_bad_actors` for floods).\n\n## Safety\n\nRead-only edition: zero write/control tools, so there is nothing to gate — the\nstrongest guarantee available. All tools are `risk=low`, audited, and\nbudget-tracked; errors return the canonical `{error, hint}` shape. Never point\nthis at production telecontrol gear without authorization; interrogations and\nintegrity polls do generate real traffic on the operational link. No tool\nreturns secrets.\n\nFile v0.1.9:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-energy\",\n  \"version\": \"0.1.9\",\n  \"publishedAt\": 1785371911558\n}\n\nFile v0.1.9:skill-card.md\n\n## Description: <br>\nVendor-neutral, governed, read-only energy/substation telecontrol data tap for monitor-direction telemetry over IEC 60870-5-104, DNP3 / IEEE 1815, and IEC 61850 MMS, plus cross-protocol Industrial-AIOps analysis tools. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[zw008](https://clawhub.ai/user/zw008) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, operators, and utility telemetry engineers use this skill to route agent tasks to read-only substation and utility SCADA telemetry checks, protocol status reads, integrity polls, model browsing, data-quality analysis, and compliance self-assessment. It is intended for authorized monitoring and diagnosis, not control or write operations. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Unauthorized or accidental connection to production utility telemetry systems could create operational network traffic even when tools are read-only. <br>\nMitigation: Use only approved endpoints, verify authorization before installation, and test against non-production or approved systems first. <br>\nRisk: Credentials or target connection details could be mishandled during setup. <br>\nMitigation: Store credentials only in the documented secret store or environment path and avoid placing secrets in chat or plain configuration. <br>\nRisk: DNP3 and IEC 61850 paths may require manual or Docker verification where native protocol libraries are not covered by hosted CI. <br>\nMitigation: Re-verify those monitor paths in an approved Linux or Docker environment before relying on them for operational monitoring. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill release page](https://clawhub.ai/zw008/skills/iaiops-energy) <br>\n- [ClawHub publisher profile](https://clawhub.ai/user/zw008) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Configuration, JSON, Analysis] <br>\n**Output Format:** [Markdown with inline shell commands and JSON configuration examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Agent-facing routing, installation, configuration, protocol-read, and safety guidance; live tool results are monitor-only and should not expose secrets.] <br>\n\n## Skill Version(s): <br>\n0.1.9 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.8: 3 files, 6350 bytes\n\nFiles: skill-card.md (2524b), SKILL.md (9919b), _meta.json (132b)\n\nFile v0.1.8:SKILL.md\n\n---\nname: iaiops-energy\ndescription: >-\n  Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap —\n  the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry\n  over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single\n  monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link\n  status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device\n  directory, model browse, data-attribute reads) — plus the base cross-protocol\n  brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE,\n  asset inventory, compliance self-assessment) mounted on the same server. Use\n  when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 /\n  outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT\n  supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway /\n  telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 /\n  电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no\n  control/operate (CROB, setpoints, select-before-operate, IEC-104 command\n  ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA,\n  Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for\n  IT/network gear, Kubernetes, hypervisors, or backups.\n---\n\n# iaiops-energy — substation / utility telecontrol data tap (变电 / 电力)\n\nThe **energy edition** of Industrial-AIOps as one governed MCP server: read-only\nconnectors for the three utility telecontrol protocols — **IEC 60870-5-104**,\n**DNP3 / IEEE 1815**, **IEC 61850 MMS** — built on the base `iaiops` core, plus the\nbase cross-protocol **brain** mounted onto the same server. Every tool runs\nthrough the iaiops governance harness (audit / budget / risk-tier); startup\nrefuses to serve any tool missing the `_is_governed_tool` marker.\n\n**Monitor-direction ONLY — deliberately.** No control/operate surface exists in\nthis edition: no DNP3 CROB or analog-output, no setpoints, no\nselect-before-operate, no IEC-104 command ASDUs (C_SC / C_DC / C_SE), no\nIEC 61850 control model. This is not a gated write — the tools simply do not\nexist, so an agent cannot be talked into operating a breaker.\n未经授权勿对生产控制系统写入。\n\n## When to route here\n\nTask mentions: IEC 60870-5-104 / IEC-104 / 104规约 / general interrogation /\n总召 / IOA, DNP3 / IEEE 1815 / outstation / integrity poll / Class 0/1/2/3,\nIEC 61850 / MMS / IED / logical device / logical node / data attribute /\nfunctional constraint, substation / 变电站 / RTU / telecontrol / SCADA gateway,\nenergy / power / utility telemetry, 遥测 / 遥信 / 电力监控.\n\n**Explicitly out of scope:** IEC 61850 **GOOSE** and **Sampled Values** (layer-2\npub/sub — not supported; MMS client reads only), protection-relay settings\nchanges, any control/operate action.\n\n**Factory / building / process protocols route elsewhere:** OPC-UA, Modbus,\nSiemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, EtherNet/IP, EtherCAT,\nSECS/GEM, PROFINET, HART-IP, BACnet → use the base **iaiops** server\n(`pip install iaiops`, then `iaiops-mcp`), not this one.\n\n## Install & run\n\n```bash\npip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio\n```\n\n`iaiops-energy` pulls in the base `iaiops` package (shared core) automatically.\nProtocol client libs are lazy optional extras — a missing lib degrades to a\nteaching error naming the exact `pip install`, not a crash. Targets live in\n`~/.iaiops/config.yaml` (override path via `IAIOPS_CONFIG`):\n`protocol: iec104|dnp3|iec61850`, `host`, `port`, plus `common_address` /\n`unit_id` as the protocol needs. Credentials go to the encrypted secret store,\nunlocked via `IAIOPS_MASTER_PASSWORD` — never into config or chat.\n\nMCP client config (stdio):\n\n```json\n{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}\n```\n\nEvery tool takes an optional `endpoint` selecting a named target from that\nconfig; omitted, the sole/default target of the protocol is used.\n\n## Tools by protocol (all `[READ][risk=low]`)\n\n### IEC 60870-5-104 (c104; RTU / substation telemetry — 遥测遥信)\n- `iec104_connection_info` — connect and report link status + discovered\n  stations (common addresses) — the IEC-104 doctor step\n- `iec104_interrogate` — general interrogation (总召): all monitored points of\n  one station by ASDU common address, with type / quality / timestamp\n- `iec104_read_point` — read ONE monitored point by information-object\n  address (IOA)\n\n### DNP3 / IEEE 1815 (pydnp3; outstation monitoring)\n- `dnp3_link_status` — bring the DNP3 master online and report link /\n  outstation status — the DNP3 doctor step\n- `dnp3_integrity_poll` — Class 0/1/2/3 integrity poll: the outstation's\n  database grouped by measurement type (binary / analog / counter …)\n\n### IEC 61850 MMS (pyiec61850; substation IED reads — linux-only wheel)\n- `iec61850_device_directory` — list the IED's logical devices (optionally\n  their logical-node children) — the IEC 61850 doctor step\n- `iec61850_browse` — browse immediate model children under a reference\n  (LD / LN / DO)\n- `iec61850_read` — read one data attribute by object reference + functional\n  constraint (e.g. `LD0/MMXU1.TotW.mag.f`, FC `MX`)\n\n### Substation intelligence (pure analysis — no live I/O)\n- `substation_event_analysis` — Sequence-of-Events (SOE) protection-trip /\n  selectivity analysis: feed injected relay pickups/trips + breaker open/close +\n  lockouts (`{ref, timestamp, type}`) and it decides what tripped and whether\n  protection coordinated — selective trip vs non-selective backup operation vs\n  breaker failure, cite-first, monitor-only（变电事件序列/保护选择性分析：判定\n  跳闸与保护配合是否正确——选择性跳闸/后备越级动作/断路器失灵；纯分析、只读，\n  不做任何 live I/O）\n\n### Cross-protocol brain (mounted from the base `iaiops` package)\nThe base brain tools register onto this server too — diagnostics\n(`diagnose_dataflow`, `alarm_bad_actors`, `tag_health`, `historian_health`,\n`data_quality_scorecard`, downtime root-cause), analytics (OEE / downtime,\n`monitor_changes`), asset inventory + unified asset model / alias governance,\nand compliance self-assessment (防护指南 / 等保 2.0 / IEC 62443) — plus\n`protocols_supported` for the capability map. Same governance harness; see the\nbase `iaiops` skill for the full brain reference.\n\n## Supported versions (honest matrix)\n\n| Protocol | Lib pin (this release) | Spec / transport | Verification status | CI |\n| --- | --- | --- | --- | --- |\n| IEC 60870-5-104 | `c104>=2.0,<3` | IEC 60870-5-104 over TCP/2404 | **verified (monitor path)** — real client↔server round-trip vs an in-process `c104` server (`tests/test_iec104_live.py`, passes in a Linux container): general interrogation returns seeded points, bad IOA → no fabricated value, no control ASDU issued; skips on macOS (no `c104` wheel). Live RTU 待核实 | ✅ runs every push |\n| DNP3 / IEEE 1815 | `pydnp3>=0.1,<1` | IEEE 1815, TCP; monitor direction only | **verified (monitor path)** — real master↔outstation round-trip vs a live opendnp3 outstation in Docker/Linux; physical RTU 待核实 | ⏭ skips on hosted CI ¹ |\n| IEC 61850 MMS | `pyiec61850>=1.5.2a1,<2` (linux-only wheel) | MMS over ISO-on-TCP/102; no GOOSE/SV | **verified (monitor path)** — real client↔server round-trip vs an in-process libiec61850 MMS server in Docker/Linux; physical IED 待核实 | ⏭ skips on hosted CI ¹ |\n\n**¹ CI-coverage caveat (honest).** Only **IEC-104**'s monitor path is CI-gated — the\nCI job hard-installs the `iec104` extra, so `test_iec104_live.py` runs its loopback\nround-trip on **every push**. **DNP3** and **IEC-61850** are loopback-verified only via\n**manual / Docker** runs: their native libs (`opendnp3` via `pydnp3`, `libiec61850` via\n`pyiec61850`) don't build on hosted GitHub runners, so CI installs them best-effort and\n`test_dnp3_live.py` / `test_iec61850_live.py` **SKIP** there. A regression in the DNP3 or\nIEC-61850 monitor path is thus **not caught by CI** — re-verify those with a manual/Docker\nrun; the green CI badge does not cover them.\n\n`pydnp3` ships no wheel (native opendnp3 build → run in a Linux container);\n`pyiec61850` is a linux-only SWIG wheel — both protocols no-op with a teaching\nerror elsewhere. Anything not yet proven against real gear stays marked\n待核实 — do not claim otherwise.\n\n## Doctor-first workflow\n\n1. `protocols_supported` — see what this server exposes and what's configured.\n2. Prove the link with the protocol's cheap status tool **before** any deep\n   read: `iec104_connection_info` / `dnp3_link_status` /\n   `iec61850_device_directory`.\n3. Only then interrogate: `iec104_interrogate` / `dnp3_integrity_poll` /\n   `iec61850_browse` → targeted reads (`iec104_read_point` / `iec61850_read`).\n4. Feed results to the brain (e.g. `diagnose_dataflow` for \"no data\",\n   `data_quality_scorecard` for fleet trust, `alarm_bad_actors` for floods).\n\n## Safety\n\nRead-only edition: zero write/control tools, so there is nothing to gate — the\nstrongest guarantee available. All tools are `risk=low`, audited, and\nbudget-tracked; errors return the canonical `{error, hint}` shape. Never point\nthis at production telecontrol gear without authorization; interrogations and\nintegrity polls do generate real traffic on the operational link. No tool\nreturns secrets.\n\nFile v0.1.8:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-energy\",\n  \"version\": \"0.1.8\",\n  \"publishedAt\": 1784646437704\n}\n\nFile v0.1.8:skill-card.md\n\n## Description: <br>\nIaiops Energy routes agents to a governed, read-only MCP server for utility and substation telemetry over IEC 60870-5-104, DNP3 / IEEE 1815, and IEC 61850 MMS, plus related Industrial-AIOps diagnostics and analysis. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[zw008](https://clawhub.ai/user/zw008) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, automation engineers, and authorized utility operators use this skill to route substation telemetry, SCADA gateway, RTU, and IED monitoring tasks to read-only MCP tools and related diagnostic guidance. It is intended for monitoring and analysis, not breaker operation, setpoints, relay setting changes, or other control actions. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Connecting to production telecontrol systems without authorization or preparation can create operational risk even when tools are read-only. <br>\nMitigation: Install only in an authorized utility or lab environment and verify read-only behavior before connecting to production gear. <br>\nRisk: Target credentials or configuration details could be exposed if placed in chat or plain configuration. <br>\nMitigation: Keep credentials in the documented secret manager path and pass only non-secret target configuration through the skill. <br>\nRisk: DNP3 and IEC 61850 monitor paths are described as manually or Docker verified rather than continuously CI-gated. <br>\nMitigation: Re-verify those protocol paths in the intended runtime environment before relying on them for production monitoring. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-energy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON configuration examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Guides agent routing to read-only MCP tools for telemetry reads, link checks, integrity polls, model browsing, and analysis.] <br>\n\n## Skill Version(s): <br>\n0.1.8 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.7: 3 files, 6292 bytes\n\nFiles: skill-card.md (2403b), SKILL.md (9919b), _meta.json (132b)\n\nFile v0.1.7:SKILL.md\n\n---\nname: iaiops-energy\ndescription: >-\n  Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap —\n  the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry\n  over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single\n  monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link\n  status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device\n  directory, model browse, data-attribute reads) — plus the base cross-protocol\n  brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE,\n  asset inventory, compliance self-assessment) mounted on the same server. Use\n  when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 /\n  outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT\n  supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway /\n  telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 /\n  电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no\n  control/operate (CROB, setpoints, select-before-operate, IEC-104 command\n  ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA,\n  Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for\n  IT/network gear, Kubernetes, hypervisors, or backups.\n---\n\n# iaiops-energy — substation / utility telecontrol data tap (变电 / 电力)\n\nThe **energy edition** of Industrial-AIOps as one governed MCP server: read-only\nconnectors for the three utility telecontrol protocols — **IEC 60870-5-104**,\n**DNP3 / IEEE 1815**, **IEC 61850 MMS** — built on the base `iaiops` core, plus the\nbase cross-protocol **brain** mounted onto the same server. Every tool runs\nthrough the iaiops governance harness (audit / budget / risk-tier); startup\nrefuses to serve any tool missing the `_is_governed_tool` marker.\n\n**Monitor-direction ONLY — deliberately.** No control/operate surface exists in\nthis edition: no DNP3 CROB or analog-output, no setpoints, no\nselect-before-operate, no IEC-104 command ASDUs (C_SC / C_DC / C_SE), no\nIEC 61850 control model. This is not a gated write — the tools simply do not\nexist, so an agent cannot be talked into operating a breaker.\n未经授权勿对生产控制系统写入。\n\n## When to route here\n\nTask mentions: IEC 60870-5-104 / IEC-104 / 104规约 / general interrogation /\n总召 / IOA, DNP3 / IEEE 1815 / outstation / integrity poll / Class 0/1/2/3,\nIEC 61850 / MMS / IED / logical device / logical node / data attribute /\nfunctional constraint, substation / 变电站 / RTU / telecontrol / SCADA gateway,\nenergy / power / utility telemetry, 遥测 / 遥信 / 电力监控.\n\n**Explicitly out of scope:** IEC 61850 **GOOSE** and **Sampled Values** (layer-2\npub/sub — not supported; MMS client reads only), protection-relay settings\nchanges, any control/operate action.\n\n**Factory / building / process protocols route elsewhere:** OPC-UA, Modbus,\nSiemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, EtherNet/IP, EtherCAT,\nSECS/GEM, PROFINET, HART-IP, BACnet → use the base **iaiops** server\n(`pip install iaiops`, then `iaiops-mcp`), not this one.\n\n## Install & run\n\n```bash\npip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio\n```\n\n`iaiops-energy` pulls in the base `iaiops` package (shared core) automatically.\nProtocol client libs are lazy optional extras — a missing lib degrades to a\nteaching error naming the exact `pip install`, not a crash. Targets live in\n`~/.iaiops/config.yaml` (override path via `IAIOPS_CONFIG`):\n`protocol: iec104|dnp3|iec61850`, `host`, `port`, plus `common_address` /\n`unit_id` as the protocol needs. Credentials go to the encrypted secret store,\nunlocked via `IAIOPS_MASTER_PASSWORD` — never into config or chat.\n\nMCP client config (stdio):\n\n```json\n{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}\n```\n\nEvery tool takes an optional `endpoint` selecting a named target from that\nconfig; omitted, the sole/default target of the protocol is used.\n\n## Tools by protocol (all `[READ][risk=low]`)\n\n### IEC 60870-5-104 (c104; RTU / substation telemetry — 遥测遥信)\n- `iec104_connection_info` — connect and report link status + discovered\n  stations (common addresses) — the IEC-104 doctor step\n- `iec104_interrogate` — general interrogation (总召): all monitored points of\n  one station by ASDU common address, with type / quality / timestamp\n- `iec104_read_point` — read ONE monitored point by information-object\n  address (IOA)\n\n### DNP3 / IEEE 1815 (pydnp3; outstation monitoring)\n- `dnp3_link_status` — bring the DNP3 master online and report link /\n  outstation status — the DNP3 doctor step\n- `dnp3_integrity_poll` — Class 0/1/2/3 integrity poll: the outstation's\n  database grouped by measurement type (binary / analog / counter …)\n\n### IEC 61850 MMS (pyiec61850; substation IED reads — linux-only wheel)\n- `iec61850_device_directory` — list the IED's logical devices (optionally\n  their logical-node children) — the IEC 61850 doctor step\n- `iec61850_browse` — browse immediate model children under a reference\n  (LD / LN / DO)\n- `iec61850_read` — read one data attribute by object reference + functional\n  constraint (e.g. `LD0/MMXU1.TotW.mag.f`, FC `MX`)\n\n### Substation intelligence (pure analysis — no live I/O)\n- `substation_event_analysis` — Sequence-of-Events (SOE) protection-trip /\n  selectivity analysis: feed injected relay pickups/trips + breaker open/close +\n  lockouts (`{ref, timestamp, type}`) and it decides what tripped and whether\n  protection coordinated — selective trip vs non-selective backup operation vs\n  breaker failure, cite-first, monitor-only（变电事件序列/保护选择性分析：判定\n  跳闸与保护配合是否正确——选择性跳闸/后备越级动作/断路器失灵；纯分析、只读，\n  不做任何 live I/O）\n\n### Cross-protocol brain (mounted from the base `iaiops` package)\nThe base brain tools register onto this server too — diagnostics\n(`diagnose_dataflow`, `alarm_bad_actors`, `tag_health`, `historian_health`,\n`data_quality_scorecard`, downtime root-cause), analytics (OEE / downtime,\n`monitor_changes`), asset inventory + unified asset model / alias governance,\nand compliance self-assessment (防护指南 / 等保 2.0 / IEC 62443) — plus\n`protocols_supported` for the capability map. Same governance harness; see the\nbase `iaiops` skill for the full brain reference.\n\n## Supported versions (honest matrix)\n\n| Protocol | Lib pin (this release) | Spec / transport | Verification status | CI |\n| --- | --- | --- | --- | --- |\n| IEC 60870-5-104 | `c104>=2.0,<3` | IEC 60870-5-104 over TCP/2404 | **verified (monitor path)** — real client↔server round-trip vs an in-process `c104` server (`tests/test_iec104_live.py`, passes in a Linux container): general interrogation returns seeded points, bad IOA → no fabricated value, no control ASDU issued; skips on macOS (no `c104` wheel). Live RTU 待核实 | ✅ runs every push |\n| DNP3 / IEEE 1815 | `pydnp3>=0.1,<1` | IEEE 1815, TCP; monitor direction only | **verified (monitor path)** — real master↔outstation round-trip vs a live opendnp3 outstation in Docker/Linux; physical RTU 待核实 | ⏭ skips on hosted CI ¹ |\n| IEC 61850 MMS | `pyiec61850>=1.5.2a1,<2` (linux-only wheel) | MMS over ISO-on-TCP/102; no GOOSE/SV | **verified (monitor path)** — real client↔server round-trip vs an in-process libiec61850 MMS server in Docker/Linux; physical IED 待核实 | ⏭ skips on hosted CI ¹ |\n\n**¹ CI-coverage caveat (honest).** Only **IEC-104**'s monitor path is CI-gated — the\nCI job hard-installs the `iec104` extra, so `test_iec104_live.py` runs its loopback\nround-trip on **every push**. **DNP3** and **IEC-61850** are loopback-verified only via\n**manual / Docker** runs: their native libs (`opendnp3` via `pydnp3`, `libiec61850` via\n`pyiec61850`) don't build on hosted GitHub runners, so CI installs them best-effort and\n`test_dnp3_live.py` / `test_iec61850_live.py` **SKIP** there. A regression in the DNP3 or\nIEC-61850 monitor path is thus **not caught by CI** — re-verify those with a manual/Docker\nrun; the green CI badge does not cover them.\n\n`pydnp3` ships no wheel (native opendnp3 build → run in a Linux container);\n`pyiec61850` is a linux-only SWIG wheel — both protocols no-op with a teaching\nerror elsewhere. Anything not yet proven against real gear stays marked\n待核实 — do not claim otherwise.\n\n## Doctor-first workflow\n\n1. `protocols_supported` — see what this server exposes and what's configured.\n2. Prove the link with the protocol's cheap status tool **before** any deep\n   read: `iec104_connection_info` / `dnp3_link_status` /\n   `iec61850_device_directory`.\n3. Only then interrogate: `iec104_interrogate` / `dnp3_integrity_poll` /\n   `iec61850_browse` → targeted reads (`iec104_read_point` / `iec61850_read`).\n4. Feed results to the brain (e.g. `diagnose_dataflow` for \"no data\",\n   `data_quality_scorecard` for fleet trust, `alarm_bad_actors` for floods).\n\n## Safety\n\nRead-only edition: zero write/control tools, so there is nothing to gate — the\nstrongest guarantee available. All tools are `risk=low`, audited, and\nbudget-tracked; errors return the canonical `{error, hint}` shape. Never point\nthis at production telecontrol gear without authorization; interrogations and\nintegrity polls do generate real traffic on the operational link. No tool\nreturns secrets.\n\nFile v0.1.7:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-energy\",\n  \"version\": \"0.1.7\",\n  \"publishedAt\": 1784453015306\n}\n\nFile v0.1.7:skill-card.md\n\n## Description: <br>\nIaiops Energy helps agents collect read-only utility and substation telemetry over IEC 60870-5-104, DNP3/IEEE 1815, and IEC 61850 MMS, with supporting diagnostics, inventory, analytics, and compliance self-assessment guidance. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[zw008](https://clawhub.ai/user/zw008) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers, utility engineers, and operations teams use this skill to route agent tasks involving substation telemetry, read-only protocol checks, monitored point reads, integrity polls, event analysis, and utility telemetry diagnostics. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Unauthorized or careless polling of production utility links can affect operational environments even when the skill is read-only. <br>\nMitigation: Install only in authorized utility or lab environments, configure only approved endpoints, and prove link status before deeper reads. <br>\nRisk: Credentials or endpoint secrets could be exposed if placed in chat or plain configuration. <br>\nMitigation: Keep credentials in the described secret manager and provide only secret-manager backed environment values to the MCP client. <br>\nRisk: DNP3 and IEC 61850 monitor paths are not CI-gated according to the artifact's verification matrix. <br>\nMitigation: Manually re-verify DNP3 and IEC 61850 paths in a Linux or Docker environment before relying on them in production. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill listing](https://clawhub.ai/zw008/skills/iaiops-energy) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON configuration snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-only operational guidance for configured utility telemetry endpoints; no control or operate actions are exposed.] <br>\n\n## Skill Version(s): <br>\n0.1.7 (source: server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: iaiops-energy Owner: zw008 Summary: Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap — the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-dev","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"pip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}"},{"language":"bash","snippet":"pip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}"},{"language":"bash","snippet":"pip install 'iaiops-energy[energy]'      # all three protocols\npip install 'iaiops-energy[iec104]'      # or per-protocol extras:\npip install 'iaiops-energy[dnp3]'        #   [iec104] / [dnp3] / [iec61850]\niaiops-energy-mcp                        # brain + energy tools over stdio"},{"language":"json","snippet":"{\n  \"mcpServers\": {\n    \"iaiops-energy\": {\n      \"command\": \"iaiops-energy-mcp\",\n      \"env\": {\n        \"IAIOPS_CONFIG\": \"/etc/iaiops/config.yaml\",\n        \"IAIOPS_MASTER_PASSWORD\": \"<from your secret manager>\"\n      }\n    }\n  }\n}"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: iaiops-energy\ndescription: >-\n  Vendor-neutral, governed, READ-ONLY energy/substation telecontrol data tap —\n  the energy edition (变电/电力) of Industrial-AIOps. Monitor-direction telemetry\n  over IEC 60870-5-104 (IEC-104: RTU link status, general interrogation, single\n  monitored-point reads by IOA — 遥测/遥信), DNP3 / IEEE 1815 (outstation link\n  status, Class 0/1/2/3 integrity poll), and IEC 61850 MMS (IED logical-device\n  directory, model browse, data-attribute reads) — plus the base cross-protocol\n  brain (dataflow diagnosis, alarm bad-actors, data-quality scorecards, OEE,\n  asset inventory, compliance self-assessment) mounted on the same server. Use\n  when the task names IEC 60870-5-104 / IEC-104 / 104规约, DNP3 / IEEE 1815 /\n  outstation, IEC 61850 / MMS / IED / GOOSE (GOOSE and Sampled Values are NOT\n  supported — MMS reads only), a substation / 变电站 / RTU / SCADA gateway /\n  telecontrol front-end, energy / power / utility SCADA telemetry, or 遥测遥信 /\n  电力监控. Routes to the iaiops-energy MCP server. Monitor-only by design: no\n  control/operate (CROB, setpoints, select-before-operate, IEC-104 command\n  ASDUs) is exposed. Do NOT use for factory/building/process protocols (OPC-UA,\n  Modbus, S7, BACnet, MQTT …) — those live in the base iaiops server — nor for\n  IT/network gear, Kubernetes, hypervisors, or backups.\n---\n\n# iaiops-energy — substation / utility telecontrol data tap (变电 / 电力)\n\nThe **energy edition** of Industrial-AIOps as one governed MCP server: read-only\nconnectors for the three utility telecontrol protocols — **IEC 60870-5-104**,\n**DNP3 / IEEE 1815**, **IEC 61850 MMS** — built on the base `iaiops` core, plus the\nbase cross-protocol **brain** mounted onto the same server. Every tool runs\nthrough the iaiops governance harness (audit / budget / risk-tier); startup\nrefuses to serve any tool missing the `_is_governed_tool` marker.\n\n**Monitor-direction ONLY — deliberately.** No control/operate surface exists in\nthis edition: no DNP3 CROB or analog-output, no setpoints, no\nselect-before-operate, no IEC-104 command ASDUs (C_SC / C_DC / C_SE), no\nIEC 61850 control model. This is not a gated write — the tools simply do not\nexist, so an agent cannot be talked into operating a breaker.\n未经授权勿对生产控制系统写入。\n\n## When to route here\n\nTask mentions: IEC 60870-5-104 / IEC-104 / 104规约 / general interrogation /\n总召 / IOA, DNP3 / IEEE 1815 / outstation / integrity poll / Class 0/1/2/3,\nIEC 61850 / MMS / IED / logical device / logical node / data attribute /\nfunctional constraint, substation / 变电站 / RTU / telecontrol / SCADA gateway,\nenergy / power / utility telemetry, 遥测 / 遥信 / 电力监控.\n\n**Explicitly out of scope:** IEC 61850 **GOOSE** and **Sampled Values** (layer-2\npub/sub — not supported; MMS client reads only), protection-relay settings\nchanges, any control/operate action.\n\n**Factory / building / process protocols route elsewhere:** OPC-UA, Modbus,\nSiemens S7, Mitsubishi MC, MTConnect, MQTT/Sparkplug B, EtherNet/IP, EtherCAT,\nSECS/GEM, PROFINET, HART-IP, B"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-energy\",\n  \"version\": \"0.1.12\",\n  \"publishedAt\": 1785679052970\n}"},{"path":"skill-card.md","content":"## Description:\n\niaiops-energy is a read-only MCP skill for utility and substation telemetry over IEC 60870-5-104, DNP3 / IEEE 1815, and IEC 61850 MMS, with analysis tools from the base iaiops server.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zw008](https://clawhub.ai/user/zw008)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to route agent tasks involving authorized utility SCADA telemetry, substation diagnostics, protocol status checks, integrity polls, targeted monitored-point reads, and read-only event analysis. It is not intended for control operations, write actions, factory or building protocols, IT infrastructure, Kubernetes, hypervisors, or backups.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill relies on an external unpinned package, so install contents can change between deployments.\n\nMitigation: Use a reviewed pinned version or a controlled package mirror before installing.\n\nRisk: Telemetry polling against production OT endpoints can create real operational network traffic.\n\nMitigation: Connect only to authorized test or production endpoints, scope network access to intended devices, and run the MCP server under a least-privileged account.\n\nRisk: The MCP server requires IAIOPS_MASTER_PASSWORD for the encrypted secret store.\n\nMitigation: Keep IAIOPS_MASTER_PASSWORD in a proper secret manager and avoid placing secrets in configuration files or chat.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-energy)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, shell commands, configuration, analysis]\n\n**Output Format:** [Markdown with inline shell commands and JSON configuration examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs should preserve read-only routing guidance and avoid control or write instructions.]\n\n## Skill Version(s):\n\n0.1.12 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1453,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:51:15.998Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:51:15.998Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:59:55.551Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}