{"id":"56efde83-88c0-4f47-b6d1-a71f3cdee60c","entityType":"agent","slug":"clawhub-zw008-iaiops-water","name":"iaiops-water","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zw008-iaiops-water","canonicalPath":"/agent/clawhub-zw008-iaiops-water","generatedAt":"2026-10-10T08:46:41.950Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T02:49:38.884Z","emptyReason":null},"description":"Water-treatment edition of iaiops — waterworks / wastewater plants / pump stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity, conductivity, level, flow transmitters), plus the cross-protocol brain (downtime root-cause, data quality watchdog, OEE). Use when the task mentions water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity, dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or lift station. Read-first; this edition's tool surface is read-only. Skill: iaiops-water Owner: zw008 Summary: Water-treatment edition of iaiops — waterworks / wastewater plants / pump stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity, conductivity, level, flow transmitters), plus the cross-protocol brain (downtime root-cause, data quality watchdog, OEE). Use when the task mentions water tre","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.8K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:iaiops-water","sourceUrl":"https://clawhub.ai/zw008/iaiops-water","homepage":"https://clawhub.ai/zw008/skills/iaiops-water","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zw008/iaiops-water","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zw008/skills/iaiops-water","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Water-treatment edition of iaiops — waterworks / wastewater plants / pump stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA (plant SCADA /"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:49:38.884Z","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-10T02:49:38.884Z","emptyReason":null},"stars":null,"forks":null,"downloads":1757,"packageName":null,"latestVersion":"0.28.0","tractionLabel":"1.8K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:49:38.884Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T02:49:38.884Z","lastCrawledAt":"2026-10-10T02:49:38.884Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T02:49:38.884Z","lastVerifiedAt":null,"highlights":[{"version":"0.28.0","createdAt":"2026-09-16T05:09:27.826Z","changelog":"0.28.0: MQTT/Sparkplug collectable; onboard's two journeys (devices / uns with a B1/B2 namespace fork)","fileCount":3,"zipByteSize":7718},{"version":"0.27.0","createdAt":"2026-09-03T03:20:52.269Z","changelog":"router now routes to the pharma edition · contextual baselines · downtime attribution (D18) · alarm event-type clustering · device advisory matching · GxP crosswalk","fileCount":3,"zipByteSize":7660},{"version":"0.26.0","createdAt":"2026-09-01T12:29:44.931Z","changelog":"verify determinism (executed model-free claim) · PLC program change baseline · pharma edition","fileCount":3,"zipByteSize":6212},{"version":"0.23.1","createdAt":"2026-08-28T05:19:34.733Z","changelog":"- Added documentation for new investigation tools (`investigation_readiness`, `investigation_open`, `investigation_show`, `investigation_list`) and production line relation/mechanism tools. - Expanded feature list in SKILL.md to include `site_readiness`, investigation workflows, and line relation/mechanism library functions. - Improved descriptions for tool capabilities and clarified which functions are edition-specific or global. - Removed outdated skill-card.md file.","fileCount":3,"zipByteSize":5461},{"version":"0.23.0","createdAt":"2026-08-25T04:32:46.215Z","changelog":"iaiops-water 0.23.0 - Documentation updated: revised and expanded SKILL.md. - Obsolete or redundant file removed: skill-card.md no longer included. - No changes to tool functionality; documentation and packaging only.","fileCount":3,"zipByteSize":5187},{"version":"0.22.0","createdAt":"2026-08-02T13:09:52.885Z","changelog":"0.22.0 — asyncua 2.x floor; OPC-UA vs a third-party stack + cert trust; TDengine REST/WS; second MCP implementation; EtherNet/IP program scope","fileCount":3,"zipByteSize":5102},{"version":"0.21.1","createdAt":"2026-08-02T07:25:22.634Z","changelog":"0.21.1 — review round two: RCA window dilution, IoTDB header names, OPC-UA malformed-URL leak","fileCount":3,"zipByteSize":5153},{"version":"0.21.0","createdAt":"2026-08-02T03:08:00.527Z","changelog":"0.21.0 — verification sweep: 5 product fixes (IoTDB tag mislabelling, TDengine coverage, OPC-UA thread leak + interop verdict, PROFINET doc fields)","fileCount":3,"zipByteSize":5111}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:iaiops-water","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"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-water/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-water/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-water/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-water/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-water/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-water/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-10T08:46:41.948Z"}},"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-water/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-water/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-water/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-water/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":"high","updatedAt":"2026-10-10T02:49:38.884Z","emptyReason":null},"readme":"Skill: iaiops-water\n\nOwner: zw008\n\nSummary: Water-treatment edition of iaiops — waterworks / wastewater plants / pump stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity, conductivity, level, flow transmitters), plus the cross-protocol brain (downtime root-cause, data quality watchdog, OEE). Use when the task mentions water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity, dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or lift station. Read-first; this edition's tool surface is read-only.\n\nTags: latest:0.28.0\n\nVersion history:\n\nv0.28.0 | 2026-09-16T05:09:27.826Z | user\n\n0.28.0: MQTT/Sparkplug collectable; onboard's two journeys (devices / uns with a B1/B2 namespace fork)\n\nv0.27.0 | 2026-09-03T03:20:52.269Z | user\n\nrouter now routes to the pharma edition · contextual baselines · downtime attribution (D18) · alarm event-type clustering · device advisory matching · GxP crosswalk\n\nv0.26.0 | 2026-09-01T12:29:44.931Z | user\n\nverify determinism (executed model-free claim) · PLC program change baseline · pharma edition\n\nv0.23.1 | 2026-08-28T05:19:34.733Z | auto\n\n- Added documentation for new investigation tools (`investigation_readiness`, `investigation_open`, `investigation_show`, `investigation_list`) and production line relation/mechanism tools.\n- Expanded feature list in SKILL.md to include `site_readiness`, investigation workflows, and line relation/mechanism library functions.\n- Improved descriptions for tool capabilities and clarified which functions are edition-specific or global.\n- Removed outdated skill-card.md file.\n\nv0.23.0 | 2026-08-25T04:32:46.215Z | auto\n\niaiops-water 0.23.0\n\n- Documentation updated: revised and expanded SKILL.md.\n- Obsolete or redundant file removed: skill-card.md no longer included.\n- No changes to tool functionality; documentation and packaging only.\n\nv0.22.0 | 2026-08-02T13:09:52.885Z | user\n\n0.22.0 — asyncua 2.x floor; OPC-UA vs a third-party stack + cert trust; TDengine REST/WS; second MCP implementation; EtherNet/IP program scope\n\nv0.21.1 | 2026-08-02T07:25:22.634Z | user\n\n0.21.1 — review round two: RCA window dilution, IoTDB header names, OPC-UA malformed-URL leak\n\nv0.21.0 | 2026-08-02T03:08:00.527Z | user\n\n0.21.0 — verification sweep: 5 product fixes (IoTDB tag mislabelling, TDengine coverage, OPC-UA thread leak + interop verdict, PROFINET doc fields)\n\nv0.20.4 | 2026-08-02T00:29:16.836Z | user\n\nNATS egress 120s hang bounded to 5s; BACnet write now reports a read-back instead of claiming applied; MCP interface + egress sinks now driven by real counterparties\n\nv0.20.3 | 2026-08-01T04:33:10.251Z | user\n\naudit status now reflects real outcome; runaway guard sees retried denials; approval-gate contract over the real write surface\n\nv0.20.2 | 2026-07-31T14:47:02.510Z | user\n\ncredential redaction in audit log; retained mqtt_publish undo; pyopenssl resolver guard\n\nv0.20.1 | 2026-07-29T09:38:23.660Z | user\n\niaiops 0.20.1 — MCP tool annotations derived from the governance harness\n\nv0.19.0 | 2026-07-21T14:37:27.398Z | user\n\n0.19.0 — read-only gate removed; audit on both MCP+CLI; effect-based write risk\n\nv0.18.1 | 2026-07-19T17:14:03.445Z | auto\n\n- Removed the file skill-card.md.\n- No functional changes to the skill or tools; documentation and edition features remain unchanged.\n\nv0.18.0 | 2026-07-19T11:30:39.647Z | auto\n\n- Removed the file: skill-card.md.\n- No changes to tools or workflows; documentation and functionality remain the same.\n\nv0.17.0 | 2026-07-19T09:22:54.655Z | auto\n\niaiops-water 0.17.0\n\n- Expanded OPC-UA toolset: added `opcua_alarm_events` (A&C with timestamp).\n- Enhanced HART-IP support: added `hart_burst_listen` (passive burst listening; pending verification), clarified `hart_burst_sample`.\n- Added `rca_corpus_from_maintenance` to cross-protocol diagnostics.\n- Minor clarifications in documentation and support matrix.\n- Removed redundant skill-card.md file.\n\nv0.12.0 | 2026-07-13T01:09:02.497Z | user\n\niaiops 0.12.0 edition — aligns ClawHub with the current per-industry edition architecture\n\nArchive index:\n\nArchive v0.28.0: 3 files, 7718 bytes\n\nFiles: skill-card.md (2057b), SKILL.md (11136b), _meta.json (132b)\n\nFile v0.28.0:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 告警事件聚类：`alarm_event_clusters` — `alarm_bad_actors` 按**来源**排名,回答的是「哪台仪表最吵」,\n  不是「哪个故障最吵」;一个把同一条件写成十种说法的厂会得到十个 bad actor。这个按事件**说了什么**分组。\n  合并规则是**去掉大小写/标点/数字后的精确相等,不是相似度** —— 故意做笨,所以不需要模型、且可核对;\n  每个簇都列出被合并的原文与来源。**它不主张两条措辞不同的告警是同一个故障**,那由人判断。\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 上下文基线：`baseline_learn_contextual` `baseline_check_in_context` —— 一个位号只学一条带,\n  在它有不止一个「正常」时就是错的(同一台干燥机 recipe A 走 180 °C、B 走 240 °C,一条带横跨两者,\n  于是两个工况都不可能出错)。**上下文由人声明,绝不推断**(D16);某个上下文历史太薄就**拒学**,\n  不借用别的上下文的样本;读数落在没学过的上下文里报 `unknown_context`,**绝不回落到全局带** ——\n  回落等于把「这个工况从没见过」说成「这个工况正常」。\n- 上下游归因：`downtime_attribution` —— RCA 只按**时间**加权,所以一次上游停机会让每台下游设备\n  各自给出一个自信的本地根因。方向来自**声明的**产线顺序(D25:产线上共现是必然,拿它挖边等于\n  制造因果),顺序来自时间戳,**两者都要成立**;没声明关系就报 `not_evaluable` 并给出补法。\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 设备公告对照：`device_advisory_check` —— `scan` 早就在读 vendor/model/firmware,却什么都没做。\n  这条把它接上,并**刻意停在漏洞扫描器会继续往前走的地方**:只报「落在公告声明的版本范围内」,\n  **不说「可利用」、不给严重度** —— 可达性与补偿控制决定那件事,而只读扫描看不见它们。\n  **不内置任何 CVE 库**(过期却看着像最新的库比没有更糟),由现场挂载文件、离线可用,每条必须带来源。\n  读不出固件报 `version_unknown`,读得出但排不了序报 `version_unparsed` —— 都不算通过;\n  公告没提到的设备**不出现在结果里**,那是「未知」不是「没有」。\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `uns_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 程序变更基线：`plc_program_snapshot` `plc_program_drift` `plc_program_history` — 把「认可的那一版」\n  的结构记下来（文件 SHA-256 + 每个 block 的结构指纹：声明/调用/分支条件/定时器，**不含行号、注释、\n  block 顺序**，所以在文件顶上加一行注释不会把整份程序报成变更），之后问某一次导出**动没动**。\n  三个判词咬得很紧：`identical` **只**由 SHA-256 相同得出；`logic_changed` 逐 block 指出哪一类变了；\n  `changed_outside_extracted_structure` = 字节变了而结构指纹全同 —— 多半是注释/排版，但这些 parser\n  是结构抽取不是文法，**所以它不叫「仅文档」，也不构成放行**。删历史只在 CLI（`iaiops program forget`）：\n  删变更控制证据不该离 agent 只有一次调用。存的是 block 名 + 哈希 + 计数，**不落声明、源码行和注释**。\n- 自证：`verify_determinism` — 把「拿掉模型、断网、同一份数据重跑、输出逐字节相同」**跑出来**：\n  固定数据集过一遍分析层，规范化后取 SHA-256，在本进程跑两遍、再在两个不同 PYTHONHASHSEED 的\n  全新解释器里各跑一遍（这一臂才抓得到集合/字典迭代顺序渗进结果），全程 socket 抛异常。\n  给 CSV/验证团队的是一条能写进 IQ/OQ 的测试用例，不是一句形容词。\n- 元：`protocols_supported`(产品能做什么)· `site_readiness`(这个站点今天能跑什么、还差什么;零联网)\n  · `onboarding_status`(先判定路线：设备直读 / 已在 UNS broker，UNS 再按已存体检分 B1/B2；再给这条路上的下一步;零联网)\n  · `onboarding_config_draft`(把已存的 scan 变成 config.yaml 端点草稿 —— **只写连接事实**：\n    `value: null` 的字段是扫描没确认的，照抄它的 `caution`，别替人填也别删；`tags` 永远是空的，\n    点位语义只能人来确认 `iaiops tags export|apply`)\n- 调查层（§13，八步证据闭环）：`investigation_readiness` `investigation_open` `investigation_show`\n  `investigation_list` — 「真出事时这个站能走到第几步、每个缺口还差什么」，以及对一个**已过去的窗口**\n  逐步走完并留档（不碰设备）。缺口分两种:**你没供**(给命令) 与 **产品供不了**。\n- 产线关系与机制库：`line_relation_declare` `line_relations_list` `mechanism_library_check`\n  `mechanism_library_list` — 上下游由**人声明**（D25:线上下游共现是必然，推不出因果）；\n  机制库按 ISO 14224 分 mode/mechanism/cause，**可排除、绝不确认**，\n  库里没有这条原因 → `nothing_known`（不是「无异议」）。\n\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.28.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.28.0\",\n  \"publishedAt\": 1789535367826\n}\n\nFile v0.28.0:skill-card.md\n\n## Description:\n\nWater-treatment edition of iaiops for waterworks, wastewater plants, and pump stations, covering Modbus-TCP/RTU, OPC-UA, HART-IP instrumentation, downtime root-cause analysis, data quality watchdogs, and OEE analysis.\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\nExternal users, developers, and operations engineers use this skill to inspect water-treatment telemetry, diagnose dataflow and downtime issues, evaluate water-quality compliance inputs, and draft site readiness or onboarding guidance for industrial water systems.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence says the skill claims a read-only posture while listing push, publish, and export tools that could transfer or alter operational data if available at runtime.\n\nMitigation: Confirm that the water profile disables push, publish, and export tools before deployment; if any remain available, require explicit approval, destination allowlists, and an isolated environment with pinned dependencies.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water)\n- [ClawHub publisher profile](https://clawhub.ai/user/zw008)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands, configuration snippets, and structured analysis guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May cite input values and operational context when producing diagnostics, compliance summaries, onboarding drafts, or investigation guidance.]\n\n## Skill Version(s):\n\n0.28.0 (source: server evidence)\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.27.0: 3 files, 7660 bytes\n\nFiles: skill-card.md (2467b), SKILL.md (10679b), _meta.json (132b)\n\nFile v0.27.0:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 告警事件聚类：`alarm_event_clusters` — `alarm_bad_actors` 按**来源**排名,回答的是「哪台仪表最吵」,\n  不是「哪个故障最吵」;一个把同一条件写成十种说法的厂会得到十个 bad actor。这个按事件**说了什么**分组。\n  合并规则是**去掉大小写/标点/数字后的精确相等,不是相似度** —— 故意做笨,所以不需要模型、且可核对;\n  每个簇都列出被合并的原文与来源。**它不主张两条措辞不同的告警是同一个故障**,那由人判断。\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 上下文基线：`baseline_learn_contextual` `baseline_check_in_context` —— 一个位号只学一条带,\n  在它有不止一个「正常」时就是错的(同一台干燥机 recipe A 走 180 °C、B 走 240 °C,一条带横跨两者,\n  于是两个工况都不可能出错)。**上下文由人声明,绝不推断**(D16);某个上下文历史太薄就**拒学**,\n  不借用别的上下文的样本;读数落在没学过的上下文里报 `unknown_context`,**绝不回落到全局带** ——\n  回落等于把「这个工况从没见过」说成「这个工况正常」。\n- 上下游归因：`downtime_attribution` —— RCA 只按**时间**加权,所以一次上游停机会让每台下游设备\n  各自给出一个自信的本地根因。方向来自**声明的**产线顺序(D25:产线上共现是必然,拿它挖边等于\n  制造因果),顺序来自时间戳,**两者都要成立**;没声明关系就报 `not_evaluable` 并给出补法。\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 设备公告对照：`device_advisory_check` —— `scan` 早就在读 vendor/model/firmware,却什么都没做。\n  这条把它接上,并**刻意停在漏洞扫描器会继续往前走的地方**:只报「落在公告声明的版本范围内」,\n  **不说「可利用」、不给严重度** —— 可达性与补偿控制决定那件事,而只读扫描看不见它们。\n  **不内置任何 CVE 库**(过期却看着像最新的库比没有更糟),由现场挂载文件、离线可用,每条必须带来源。\n  读不出固件报 `version_unknown`,读得出但排不了序报 `version_unparsed` —— 都不算通过;\n  公告没提到的设备**不出现在结果里**,那是「未知」不是「没有」。\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `uns_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 程序变更基线：`plc_program_snapshot` `plc_program_drift` `plc_program_history` — 把「认可的那一版」\n  的结构记下来（文件 SHA-256 + 每个 block 的结构指纹：声明/调用/分支条件/定时器，**不含行号、注释、\n  block 顺序**，所以在文件顶上加一行注释不会把整份程序报成变更），之后问某一次导出**动没动**。\n  三个判词咬得很紧：`identical` **只**由 SHA-256 相同得出；`logic_changed` 逐 block 指出哪一类变了；\n  `changed_outside_extracted_structure` = 字节变了而结构指纹全同 —— 多半是注释/排版，但这些 parser\n  是结构抽取不是文法，**所以它不叫「仅文档」，也不构成放行**。删历史只在 CLI（`iaiops program forget`）：\n  删变更控制证据不该离 agent 只有一次调用。存的是 block 名 + 哈希 + 计数，**不落声明、源码行和注释**。\n- 自证：`verify_determinism` — 把「拿掉模型、断网、同一份数据重跑、输出逐字节相同」**跑出来**：\n  固定数据集过一遍分析层，规范化后取 SHA-256，在本进程跑两遍、再在两个不同 PYTHONHASHSEED 的\n  全新解释器里各跑一遍（这一臂才抓得到集合/字典迭代顺序渗进结果），全程 socket 抛异常。\n  给 CSV/验证团队的是一条能写进 IQ/OQ 的测试用例，不是一句形容词。\n- 元：`protocols_supported`(产品能做什么)· `site_readiness`(这个站点今天能跑什么、还差什么;零联网)\n- 调查层（§13，八步证据闭环）：`investigation_readiness` `investigation_open` `investigation_show`\n  `investigation_list` — 「真出事时这个站能走到第几步、每个缺口还差什么」，以及对一个**已过去的窗口**\n  逐步走完并留档（不碰设备）。缺口分两种:**你没供**(给命令) 与 **产品供不了**。\n- 产线关系与机制库：`line_relation_declare` `line_relations_list` `mechanism_library_check`\n  `mechanism_library_list` — 上下游由**人声明**（D25:线上下游共现是必然，推不出因果）；\n  机制库按 ISO 14224 分 mode/mechanism/cause，**可排除、绝不确认**，\n  库里没有这条原因 → `nothing_known`（不是「无异议」）。\n\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.27.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.27.0\",\n  \"publishedAt\": 1788405652269\n}\n\nFile v0.27.0:skill-card.md\n\n## Description:\n\nWater-treatment edition of iaiops for waterworks, wastewater plants, and pump stations, covering Modbus-TCP/RTU, OPC-UA, HART-IP instrumentation, downtime root-cause analysis, data quality checks, and OEE workflows.\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\nExternal developers, industrial engineers, and plant operations teams use this skill to inspect water-treatment telemetry, diagnose dataflow and downtime issues, assess water-quality thresholds, and produce operational analysis across Modbus, OPC-UA, and HART-IP sources.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence flags a mismatch between read-only claims and advertised export, publish, push, and stream capabilities in an industrial operations context.\n\nMitigation: Install only where outbound actions are acceptable, network-scoped, logged, and subject to explicit operator approval.\n\nRisk: The skill may be used near plant or OT-connected environments where incorrect guidance or unexpected outbound activity can affect operational risk.\n\nMitigation: Review before installation in plant environments and require human review before any action that could publish, export, or push operational data.\n\nRisk: HART-IP real gateway support is marked as needing verification in the artifact.\n\nMitigation: Validate HART-IP behavior against the target gateway before relying on live instrumentation results.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and text guidance with tool names, configuration snippets, command examples, and structured operational findings.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs should cite input readings, thresholds, baselines, source files, advisory records, or operator-declared relationships where the skill behavior requires evidence.]\n\n## Skill Version(s):\n\n0.27.0 (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.26.0: 3 files, 6212 bytes\n\nFiles: skill-card.md (1852b), SKILL.md (8457b), _meta.json (132b)\n\nFile v0.26.0:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `uns_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 程序变更基线：`plc_program_snapshot` `plc_program_drift` `plc_program_history` — 把「认可的那一版」\n  的结构记下来（文件 SHA-256 + 每个 block 的结构指纹：声明/调用/分支条件/定时器，**不含行号、注释、\n  block 顺序**，所以在文件顶上加一行注释不会把整份程序报成变更），之后问某一次导出**动没动**。\n  三个判词咬得很紧：`identical` **只**由 SHA-256 相同得出；`logic_changed` 逐 block 指出哪一类变了；\n  `changed_outside_extracted_structure` = 字节变了而结构指纹全同 —— 多半是注释/排版，但这些 parser\n  是结构抽取不是文法，**所以它不叫「仅文档」，也不构成放行**。删历史只在 CLI（`iaiops program forget`）：\n  删变更控制证据不该离 agent 只有一次调用。存的是 block 名 + 哈希 + 计数，**不落声明、源码行和注释**。\n- 自证：`verify_determinism` — 把「拿掉模型、断网、同一份数据重跑、输出逐字节相同」**跑出来**：\n  固定数据集过一遍分析层，规范化后取 SHA-256，在本进程跑两遍、再在两个不同 PYTHONHASHSEED 的\n  全新解释器里各跑一遍（这一臂才抓得到集合/字典迭代顺序渗进结果），全程 socket 抛异常。\n  给 CSV/验证团队的是一条能写进 IQ/OQ 的测试用例，不是一句形容词。\n- 元：`protocols_supported`(产品能做什么)· `site_readiness`(这个站点今天能跑什么、还差什么;零联网)\n- 调查层（§13，八步证据闭环）：`investigation_readiness` `investigation_open` `investigation_show`\n  `investigation_list` — 「真出事时这个站能走到第几步、每个缺口还差什么」，以及对一个**已过去的窗口**\n  逐步走完并留档（不碰设备）。缺口分两种:**你没供**(给命令) 与 **产品供不了**。\n- 产线关系与机制库：`line_relation_declare` `line_relations_list` `mechanism_library_check`\n  `mechanism_library_list` — 上下游由**人声明**（D25:线上下游共现是必然，推不出因果）；\n  机制库按 ISO 14224 分 mode/mechanism/cause，**可排除、绝不确认**，\n  库里没有这条原因 → `nothing_known`（不是「无异议」）。\n\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.26.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.26.0\",\n  \"publishedAt\": 1788265784931\n}\n\nFile v0.26.0:skill-card.md\n\n## Description:\n\nWater-treatment edition of iaiops for read-first diagnostics and analysis across Modbus-TCP/RTU, OPC-UA, and HART-IP waterworks, wastewater plant, pump station, and process instrumentation environments.\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, engineers, and operations teams use this skill to inspect water-treatment telemetry, diagnose dataflow and downtime issues, check water-quality thresholds, and produce evidence-backed operational analysis without directly commanding plant equipment.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill presents the water edition as read-only while also listing export, publish, and historian-push capabilities that could move operational data.\n\nMitigation: Before installation in a plant or utility environment, confirm those actions are unavailable in the water profile or gated by explicit operator approval and audit logging.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and structured diagnostic summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include cited readings, threshold comparisons, change-baseline summaries, and operator review guidance.]\n\n## Skill Version(s):\n\n0.26.0 (source: server release evidence)\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.23.1: 3 files, 5461 bytes\n\nFiles: skill-card.md (2073b), SKILL.md (7055b), _meta.json (132b)\n\nFile v0.23.1:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `uns_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 元：`protocols_supported`(产品能做什么)· `site_readiness`(这个站点今天能跑什么、还差什么;零联网)\n- 调查层（§13，八步证据闭环）：`investigation_readiness` `investigation_open` `investigation_show`\n  `investigation_list` — 「真出事时这个站能走到第几步、每个缺口还差什么」，以及对一个**已过去的窗口**\n  逐步走完并留档（不碰设备）。缺口分两种:**你没供**(给命令) 与 **产品供不了**。\n- 产线关系与机制库：`line_relation_declare` `line_relations_list` `mechanism_library_check`\n  `mechanism_library_list` — 上下游由**人声明**（D25:线上下游共现是必然，推不出因果）；\n  机制库按 ISO 14224 分 mode/mechanism/cause，**可排除、绝不确认**，\n  库里没有这条原因 → `nothing_known`（不是「无异议」）。\n\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.23.1:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.23.1\",\n  \"publishedAt\": 1787894374733\n}\n\nFile v0.23.1:skill-card.md\n\n## Description:\n\niaiops-water helps agents inspect water-treatment operations through read-first Modbus, OPC-UA, and HART-IP workflows for instrumentation, data quality, root-cause analysis, OEE, and compliance checks.\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, operators, and engineers use this skill to guide monitoring, diagnostics, compliance checks, and incident investigation for waterworks, wastewater plants, pump stations, SCADA/PLC gateways, and process instrumentation.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The artifact describes a read-only water-treatment profile while also listing external push, publish, historian push, and export capabilities.\n\nMitigation: Clarify or separate those capabilities from the read-only profile, and require explicit user approval, destination allowlists, and audit controls before operational use.\n\nRisk: Operational guidance for water-treatment environments could affect safety, compliance, or incident response if used without site review.\n\nMitigation: Review the skill before installation in any operational environment and keep production-control changes behind the documented management-of-change process.\n\n## Reference(s):\n\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with tool names, configuration examples, and inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-first operational guidance; production-control changes require separate approval controls outside this skill.]\n\n## Skill Version(s):\n\n0.23.1 (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.23.0: 3 files, 5187 bytes\n\nFiles: skill-card.md (2668b), SKILL.md (6216b), _meta.json (132b)\n\nFile v0.23.0:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `uns_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.23.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.23.0\",\n  \"publishedAt\": 1787632366215\n}\n\nFile v0.23.0:skill-card.md\n\n## Description:\n\nWater-treatment edition of iaiops for waterworks, wastewater plants, and pump stations, supporting read-oriented Modbus, OPC-UA, HART-IP, water-quality, compliance, diagnostics, asset-health, and operational analysis workflows.\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\nWater and wastewater operators, OT engineers, and developers use this skill to read plant telemetry, diagnose dataflow and downtime, assess data quality, and generate water-quality or compliance-oriented analysis from Modbus, OPC-UA, and HART-IP systems.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence says the artifact is framed as read-only but exposes export, historian push, and publish-style tools without enough warning or scoping.\n\nMitigation: Disable or gate export, historian push, and publish tools behind explicit user approval, destination allowlists, and audit logging before use.\n\nRisk: The security evidence marks the release suspicious for use around real water, wastewater, SCADA, or plant networks.\n\nMitigation: Review the skill carefully before installation in operational environments and test it in a segregated non-production setting first.\n\nRisk: Artifact behavior includes workflows related to plant operations, compliance, alarms, and diagnostics where incorrect guidance could affect operational decisions.\n\nMitigation: Require qualified operator review for recommendations, verify source measurements, and keep any production-control changes outside this skill unless separately approved through management-of-change procedures.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water)\n- [Publisher profile](https://clawhub.ai/user/zw008)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and text guidance with inline tool names, shell commands, configuration notes, and operational analysis.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include compliance-style summaries, diagnostic findings, data-quality notes, and risk-aware operational recommendations based on user-provided or read-only plant data.]\n\n## Skill Version(s):\n\n0.23.0 (source: server release evidence)\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.22.0: 3 files, 5102 bytes\n\nFiles: skill-card.md (2505b), SKILL.md (6202b), _meta.json (132b)\n\nFile v0.22.0:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.22.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.22.0\",\n  \"publishedAt\": 1785676192885\n}\n\nFile v0.22.0:skill-card.md\n\n## Description: <br>\nWater-treatment edition of iaiops for read-first Modbus, OPC-UA, and HART-IP inspection, compliance checks, diagnostics, data quality, root-cause analysis, and OEE workflows in waterworks, wastewater plants, and pump stations. <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, integrators, and operations engineers use this skill to inspect water-treatment telemetry and diagnose plant, pump-station, analyzer, SCADA, and instrumentation issues across Modbus, OPC-UA, and HART-IP sources. It also supports compliance-oriented water-quality calculations, historian health checks, data-quality review, and root-cause analysis. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The submitted evidence says the edition is read-only, while the documented tool inventory includes historian push, export, and stream publish capabilities. <br>\nMitigation: Before installation, confirm the runtime tool registry and remove or disable non-read-only tools unless explicit approval and destination controls are in place. <br>\nRisk: Use in water utility or plant environments could expose operational data or affect operational workflows if export or publishing tools are available. <br>\nMitigation: Limit deployment to reviewed environments, enforce clear data-destination policy, and require operator approval for any tool that moves data outside the read path. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water) <br>\n- [Publisher profile](https://clawhub.ai/user/zw008) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline shell commands, configuration values, and tool-name references] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-first industrial water-treatment guidance; runtime tool availability should be reviewed before plant use.] <br>\n\n## Skill Version(s): <br>\n0.22.0 (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>\n\nArchive v0.21.1: 3 files, 5153 bytes\n\nFiles: skill-card.md (2678b), SKILL.md (6202b), _meta.json (132b)\n\nFile v0.21.1:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=1.0,<2` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.21.1:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.21.1\",\n  \"publishedAt\": 1785655522634\n}\n\nFile v0.21.1:skill-card.md\n\n## Description: <br>\nWater-treatment edition of iaiops for read-first Modbus, OPC-UA, and HART-IP operations, including water quality checks, downtime root-cause analysis, data quality watchdogs, and OEE support for waterworks, wastewater plants, and pump stations. <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, water-treatment operations engineers, and reliability teams use this skill to guide read-first diagnostics, protocol data reads, water quality compliance checks, alarm and data-quality analysis, and downtime root-cause workflows for water and wastewater facilities. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill claims a read-only water-treatment profile while documenting push, publish, export, baseline-learning, and alias-changing tools. <br>\nMitigation: Before installation or use, verify the actual MCP server profile disables, separately permissions, or approval-gates historian push, stream publish, export, baseline change, and alias adoption tools. <br>\nRisk: Water-treatment and industrial-control recommendations can affect safety and compliance if treated as automatic operating instructions. <br>\nMitigation: Keep the workflow read-first, require authorized management-of-change review for any write-capable profile, and use dry-run, undo values, and named approval before production changes. <br>\nRisk: Compliance calculations rely on caller-provided required CT values, permit limits, and site-specific thresholds. <br>\nMitigation: Use authorized site, state, or permit values as inputs and require cited input values before relying on compliance conclusions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Shell commands, Configuration, Analysis] <br>\n**Output Format:** [Markdown guidance with inline commands, tool names, and operational workflow steps] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-first operational guidance for water-treatment diagnostics, protocol reads, compliance checks, and root-cause analysis.] <br>\n\n## Skill Version(s): <br>\n0.21.1 (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>\n\nArchive v0.21.0: 3 files, 5111 bytes\n\nFiles: skill-card.md (2499b), SKILL.md (6202b), _meta.json (132b)\n\nFile v0.21.0:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=1.0,<2` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.21.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.21.0\",\n  \"publishedAt\": 1785640080527\n}\n\nFile v0.21.0:skill-card.md\n\n## Description: <br>\nWater-treatment edition of iaiops for monitoring and analyzing waterworks, wastewater plants, and pump stations across Modbus, OPC-UA, HART-IP, and cross-protocol 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 operations engineers use this skill to inspect water-treatment telemetry, diagnose dataflow and downtime issues, evaluate data quality, and produce compliance-oriented analysis without issuing control writes. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The release claims read-only operation while listing publish, push, and export tools. <br>\nMitigation: Clarify the exposed tool surface before deployment; remove those tools from the read-only edition or constrain them with approvals, audit logs, and least-privilege runtime credentials. <br>\nRisk: Use in production or sensitive water-treatment environments could affect operational decisions if outputs are trusted without site review. <br>\nMitigation: Require operational review before installation, validate recommendations against plant procedures and permits, and keep runtime credentials read-only unless a separate approved change-management flow is in place. <br>\nRisk: Some protocol coverage is marked as pending real-hardware verification. <br>\nMitigation: Validate HART-IP gateways and physical RS-485/Modbus-RTU behavior against site hardware before relying on the skill for coverage claims. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown responses with tool names, shell commands, configuration snippets, and analysis guidance.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-first posture; production control writes require a separate approved profile and site-specific authorization.] <br>\n\n## Skill Version(s): <br>\n0.21.0 (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>\n\nArchive v0.20.4: 3 files, 4855 bytes\n\nFiles: skill-card.md (1935b), SKILL.md (6202b), _meta.json (132b)\n\nFile v0.20.4:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=1.0,<2` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.20.4:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.20.4\",\n  \"publishedAt\": 1785630556836\n}\n\nFile v0.20.4:skill-card.md\n\n## Description: <br>\nWater-treatment edition of iaiops for reading Modbus, OPC-UA, and HART-IP plant telemetry, diagnosing downtime and data-quality issues, and producing water-quality and process 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 and operations engineers use this skill to inspect water-treatment telemetry across Modbus, OPC-UA, and HART-IP, diagnose downtime and data-quality issues, and generate compliance-oriented analysis for pH, turbidity, chlorine, and related process signals. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill claims a read-only water profile while listing tools that can push historian data or publish streams. <br>\nMitigation: Before production use, verify that historian_push, stream_publish, and stream_publish_event are disabled or separately gated for the water profile. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water) <br>\n- [Publisher profile](https://clawhub.ai/user/zw008) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with inline tool names and shell commands] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include diagnostic workflows, compliance calculations, threshold comparisons, and cited input values.] <br>\n\n## Skill Version(s): <br>\n0.20.4 (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.20.3: 3 files, 4901 bytes\n\nFiles: skill-card.md (1983b), SKILL.md (6202b), _meta.json (132b)\n\nFile v0.20.3:SKILL.md\n\n---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n  `health_summary` (deprecated) `anomaly_scan` (deprecated)\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\n  （change-log 基线：拒学薄历史、只报持续越带、每次告警必引基线样本 —— 非黑盒异常检测）\n- 合规/信创：`compliance_mapping` `compliance_frameworks` `compliance_dengbao_levels`\n  `compliance_report` `compliance_evidence_bundle`\n  `historian_push` `export_data` `historian_query` `historian_coverage` `stream_publish` `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents` `pdm_forecast`\n  `historian_push` `export_data`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`（解读导出的 ST/AWL/L5X 程序,只读文件,强制引用行号）\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → HART 先\n   `hart_device_identity`，OPC-UA 先 `opcua_diagnose_connection`。\n2. **Read-first**：水质巡检 = `modbus_apply_template`/`hart_primary_variable` 读\n   pH/浊度/电导率 → `opcua_health_summary` 对阈值 → 异常用 `opcua_anomaly_scan`；\n   泵站\"没数据\"用 `diagnose_dataflow`，停机用 `downtime_root_cause_live`。\n3. **MOC 写**：本 edition 工具表面**全只读**（加药量/泵启停不经本工具下发）。\n   若现场确需写，须切到含写工具的 profile 并走统一 MOC：`risk=HIGH` +\n   默认 `dry_run=True` + 改前值 undo + `iaiops approve` 具名审批双确认。\n   未经授权绝不写生产控制系统。\n\n## 支持版本矩阵（内部 HLD §8，设计文档不随本仓发布；`待核实` 不得当既成事实）\n\n| 协议 | 库(pin) | 规范/版本 | 覆盖 | 传输 | 自测 |\n|---|---|---|---|---|---|\n| Modbus-TCP | `pymodbus>=3.5,<4` | App 1.1b3；FC 1/2/3/4/5/6/15/16 | 分析仪/加药撬/任意 TCP 从站 | TCP/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站（泵站 RTU/表计） | RS-485/serial | ✅ socat PTY verified 2026-07-02；物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=1.0,<2` | OPC UA 1.0x（DA+HA+AC 子集） | 任意合规 Server / SCADA | opc.tcp | ✅ mock+HDA |\n| HART-IP | `hart-protocol>=2023.6,<2025`（extra） | HART-IP（经网关） | 水质/过程变送器 | UDP/TCP 5094 | ⚠️ codec CI 自测；真机网关 待核实 |\n\nFile v0.20.3:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.20.3\",\n  \"publishedAt\": 1785558790251\n}\n\nFile v0.20.3:skill-card.md\n\n## Description: <br>\nWater-treatment edition of iaiops for diagnosing and analyzing waterworks, wastewater plants, pump stations, and process instrumentation across Modbus, OPC-UA, HART-IP, and cross-protocol operational workflows. <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, engineers, and water-operations teams use this skill to inspect plant telemetry, diagnose dataflow or downtime issues, assess water-quality thresholds, and prepare read-first operational analysis across Modbus, OPC-UA, and HART-IP systems. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The security summary reports a mismatch between read-only claims and listed tools that can publish, push, or export data. <br>\nMitigation: Review before installing and enforce server-side tool restrictions or explicit approval and audit controls for push, publish, export, and other write or outbound actions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown text with inline commands and operational guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Read-first operational diagnostics and compliance-oriented summaries; actions affecting production control systems require explicit approval controls outside this skill.] <br>\n\n## Skill Version(s): <br>\n0.20.3 (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-water Owner: zw008 Summary: Water-treatment edition of iaiops — waterworks / wastewater plants / pump stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity, conductivity, level, flow transmitters), plus the cross-protocol brain (downtime root-cause, data quality watchdog, OEE). Use when the task mentions water tre","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: iaiops-water\ndescription: >-\n  Water-treatment edition of iaiops — waterworks / wastewater plants / pump\n  stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA\n  (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity,\n  conductivity, level, flow transmitters), plus the cross-protocol brain\n  (downtime root-cause, data quality watchdog, OEE). Use when the task mentions\n  water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity,\n  dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or\n  lift station. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-water — 水处理 edition（Modbus + OPC-UA + HART + 脑）\n\n启动：`IAIOPS_MCP=water` / `iaiops-mcp-water`（= modbus + opcua + hart + 脑；\n等价显式写法 `IAIOPS_MCP=modbus,opcua,hart`）。HART 需 extra：\n`pip install iaiops[hart]`。典型现场：加药撬/分析仪走 Modbus，全厂 SCADA 走\nOPC-UA，pH/浊度/电导率/液位/流量变送器走 HART（经网关）。\n\n## 工具\n\n### Modbus-TCP / Modbus-RTU（只读；加药撬、分析仪、流量计、泵站 RTU）\n- `modbus_read_holding` `modbus_read_input` `modbus_read_coils` `modbus_read_discrete`\n- `modbus_detect_byte_order` — 字节/字序自动探测（分析仪浮点数常见坑）\n- `modbus_list_templates` / `modbus_apply_template` — 厂商寄存器模板 → 命名 tag\n- `modbus_health_summary` — 寄存器 vs 阈值分类（如 pH 6.5-8.5 带）\n\n### OPC-UA（只读；全厂 SCADA / PLC 网关）\n- `opcua_server_info` / `opcua_browse` / `opcua_read_node` / `opcua_read_many`\n- `opcua_subscribe_sample` `opcua_read_alarms` `opcua_alarm_events`(A&C 带时间戳) `opcua_read_history`(HDA)\n- `opcua_diagnose_connection` — 连接失败归因（证书/策略/认证/网络/配置）\n- `opcua_discover_tags` — 自动发现 + 语义资产建模（构筑物/工艺段/设备）\n- `opcua_health_summary` — tag vs 阈值分类；`opcua_anomaly_scan` — 有界统计异常扫描\n\n### HART-IP（只读；水质/过程变送器，经网关，端口 5094）\n- `hart_device_identity` — 通用设备身份（command 0）\n- `hart_primary_variable` — 主变量 PV（如 pH 值、NTU）\n- `hart_dynamic_variables` — PV/SV/TV/QV + 回路电流（command 3）\n- `hart_burst_sample` — 主动采样 burst 变量；`hart_burst_listen` — 被动监听 burst publish（待核实）\n\n### 水处理专属（edition 工具;仅随 water edition 加载,不进全局脑）\n- `disinfection_ct` — SWTR **消毒 CT 合规**:CT = 余氯(mg/L)×有效接触时间 T10(min);逐个\n  接触池算 achieved CT 对比所需 CT(按州 CT 表按温度/pH/消毒剂查得,由调用方传入),给达标比与\n  worst-first。纯分析,不内嵌 CT 表(传 required_ct);每比值引用输入。\n- `water_quality_compliance` — **出厂水质合规**:逐采样点对浊度/余氯/pH 判限值(默认浊度 ≤1.0 NTU、\n  余氯 0.2–4.0 mg/L、pH 6.5–8.5;可按许可证覆盖),越界即 breach,worst-first,引用数值。\n\n### 跨协议脑（永远随 server 暴露）\n- 诊断：`diagnose_dataflow` `downtime_root_cause` `downtime_root_cause_live` `downtime_triage`\n  `learn_cause_weights` `rca_corpus_from_maintenance` `historian_health` `alarm_bad_actors` `tag_health`\n  `subscription_health` `heartbeat_health` `alarm_flood_analysis` `alarm_cascade`\n  `alarm_rationalization_worksheet`\n- 告警事件聚类：`alarm_event_clusters` — `alarm_bad_actors` 按**来源**排名,回答的是「哪台仪表最吵」,\n  不是「哪个故障最吵」;一个把同一条件写成十种说法的厂会得到十个 bad actor。这个按事件**说了什么**分组。\n  合并规则是**去掉大小写/标点/数字后的精确相等,不是相似度** —— 故意做笨,所以不需要模型、且可核对;\n  每个簇都列出被合并的原文与来源。**它不主张两条措辞不同的告警是同一个故障**,那由人判断。\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`（水质仪表重点：\n  电极老化 flatline / staleness / 量程外 —— 坏数据绝不静默插值）\n- 分析：`oee_compu"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-water\",\n  \"version\": \"0.28.0\",\n  \"publishedAt\": 1789535367826\n}"},{"path":"skill-card.md","content":"## Description:\n\nWater-treatment edition of iaiops for waterworks, wastewater plants, and pump stations, covering Modbus-TCP/RTU, OPC-UA, HART-IP instrumentation, downtime root-cause analysis, data quality watchdogs, and OEE analysis.\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\nExternal users, developers, and operations engineers use this skill to inspect water-treatment telemetry, diagnose dataflow and downtime issues, evaluate water-quality compliance inputs, and draft site readiness or onboarding guidance for industrial water systems.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence says the skill claims a read-only posture while listing push, publish, and export tools that could transfer or alter operational data if available at runtime.\n\nMitigation: Confirm that the water profile disables push, publish, and export tools before deployment; if any remain available, require explicit approval, destination allowlists, and an isolated environment with pinned dependencies.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-water)\n- [ClawHub publisher profile](https://clawhub.ai/user/zw008)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands, configuration snippets, and structured analysis guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May cite input values and operational context when producing diagnostics, compliance summaries, onboarding drafts, or investigation guidance.]\n\n## Skill Version(s):\n\n0.28.0 (source: server evidence)\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":"Water-treatment edition of iaiops — waterworks / wastewater plants / pump stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity, conductivity, level, flow transmitters), plus the cross-protocol brain (downtime root-cause, data quality watchdog, OEE). Use when the task mentions water treatment, 水处理, 水厂, 污水, pH, 浊度, turbidity, 电导率, conductivity, dissolved oxygen, 加药, dosing pump, 泵站, pump station, aeration / 曝气, or lift station. Read-first; this edition's tool surface is read-only. Skill: iaiops-water Owner: zw008 Summary: Water-treatment edition of iaiops — waterworks / wastewater plants / pump stations: Modbus-TCP/RTU (dosing skids, analyzers, flow meters), OPC-UA (plant SCADA / PLC read), HART-IP process instrumentation (pH, turbidity, conductivity, level, flow transmitters), plus the cross-protocol brain (downtime root-cause, data quality watchdog, OEE). Use when the task mentions water tre","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1206,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T02:49:38.884Z","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-10T02:49:38.884Z","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-10T08:46:41.950Z","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"}]}}}