{"id":"e1501567-d218-4cdf-aadd-ede2b646a11b","entityType":"agent","slug":"clawhub-zw008-iaiops-renewables","name":"iaiops-renewables","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zw008-iaiops-renewables","canonicalPath":"/agent/clawhub-zw008-iaiops-renewables","generatedAt":"2026-10-10T06:44:30.012Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T03:03:55.407Z","emptyReason":null},"description":"Renewables edition of iaiops — solar PV plants and wind farms: PV inverters / string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt / generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a renewables signature tool pv_performance (underperforming-string detection). Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 / 组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 / nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading / 遮挡, or 电站. Read-first; this edition's tool surface is read-only. Skill: iaiops-renewables Owner: zw008 Summary: Renewables edition of iaiops — solar PV plants and wind farms: PV inverters / string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt / generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a renewables signature tool pv_performance (underperforming-string","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.7K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:iaiops-renewables","sourceUrl":"https://clawhub.ai/zw008/iaiops-renewables","homepage":"https://clawhub.ai/zw008/skills/iaiops-renewables","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zw008/iaiops-renewables","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zw008/skills/iaiops-renewables","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Renewables edition of iaiops — solar PV plants and wind farms: PV inverters / string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt / gen"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:03:55.407Z","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-10T03:03:55.407Z","emptyReason":null},"stars":null,"forks":null,"downloads":1749,"packageName":null,"latestVersion":"0.28.0","tractionLabel":"1.7K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T03:03:55.281Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T03:03:55.407Z","lastCrawledAt":"2026-10-10T03:03:55.281Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T03:03:55.281Z","lastVerifiedAt":null,"highlights":[{"version":"0.28.0","createdAt":"2026-09-16T05:09:57.749Z","changelog":"0.28.0: MQTT/Sparkplug collectable; onboard's two journeys (devices / uns with a B1/B2 namespace fork)","fileCount":3,"zipByteSize":7118},{"version":"0.27.0","createdAt":"2026-09-03T03:20:35.126Z","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":6827},{"version":"0.26.0","createdAt":"2026-09-01T12:29:30.941Z","changelog":"verify determinism (executed model-free claim) · PLC program change baseline · pharma edition","fileCount":3,"zipByteSize":5778},{"version":"0.23.1","createdAt":"2026-08-28T05:19:20.015Z","changelog":"- Expanded the protocol brain toolset with new meta and investigation commands: `protocols_supported`, `site_readiness`, `investigation_readiness`, `investigation_open`, `investigation_show`, `investigation_list`. - Added support for line relations and mechanism library tools: `line_relation_declare`, `line_relations_list`, `mechanism_library_check`, `mechanism_library_list`, with formal support for mode/mechanism/cause structure (ISO 14224). - Removed skill-card.md file. - Documentation updates in SKILL.md reflecting all new tools and workflows.","fileCount":3,"zipByteSize":4880},{"version":"0.23.0","createdAt":"2026-08-25T04:33:14.226Z","changelog":"- Removed the skill-card.md file. - Minor update to SKILL.md: added the cross-protocol tool `uns_publish` to the listed features. - No changes to supported protocols or workflows. - All edition tools remain read-only.","fileCount":3,"zipByteSize":4313},{"version":"0.22.0","createdAt":"2026-08-02T13:09:35.103Z","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":4416},{"version":"0.21.1","createdAt":"2026-08-02T07:25:08.563Z","changelog":"0.21.1 — review round two: RCA window dilution, IoTDB header names, OPC-UA malformed-URL leak","fileCount":3,"zipByteSize":4381},{"version":"0.21.0","createdAt":"2026-08-02T03:07:47.729Z","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":4481}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171xgnmqse0nqvgqvqnaq5f9183kyre:iaiops-renewables","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-renewables/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-renewables/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-renewables/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-renewables/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-renewables/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-renewables/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-10T06:44:30.010Z"}},"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-renewables/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-renewables/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-renewables/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zw008-iaiops-renewables/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-10T03:03:55.407Z","emptyReason":null},"readme":"Skill: iaiops-renewables\n\nOwner: zw008\n\nSummary: Renewables edition of iaiops — solar PV plants and wind farms: PV inverters / string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt / generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a renewables signature tool pv_performance (underperforming-string detection). Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 / 组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 / nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading / 遮挡, or 电站. 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:57.749Z | 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:35.126Z | 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:30.941Z | user\n\nverify determinism (executed model-free claim) · PLC program change baseline · pharma edition\n\nv0.23.1 | 2026-08-28T05:19:20.015Z | auto\n\n- Expanded the protocol brain toolset with new meta and investigation commands: `protocols_supported`, `site_readiness`, `investigation_readiness`, `investigation_open`, `investigation_show`, `investigation_list`.\n- Added support for line relations and mechanism library tools: `line_relation_declare`, `line_relations_list`, `mechanism_library_check`, `mechanism_library_list`, with formal support for mode/mechanism/cause structure (ISO 14224).\n- Removed skill-card.md file.\n- Documentation updates in SKILL.md reflecting all new tools and workflows.\n\nv0.23.0 | 2026-08-25T04:33:14.226Z | auto\n\n- Removed the skill-card.md file.\n- Minor update to SKILL.md: added the cross-protocol tool `uns_publish` to the listed features.\n- No changes to supported protocols or workflows.\n- All edition tools remain read-only.\n\nv0.22.0 | 2026-08-02T13:09:35.103Z | 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:08.563Z | 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:07:47.729Z | 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:03.528Z | 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:32:50.588Z | 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:46:43.025Z | user\n\ncredential redaction in audit log; retained mqtt_publish undo; pyopenssl resolver guard\n\nv0.20.1 | 2026-07-29T09:38:07.857Z | user\n\niaiops 0.20.1 — MCP tool annotations derived from the governance harness\n\nv0.19.0 | 2026-07-21T14:37:12.484Z | 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:12.335Z | auto\n\n- Removed the skill-card.md file.\n- No functional or interface changes; documentation file cleanup only.\n- All tool functions and workflows remain unchanged.\n\nv0.18.0 | 2026-07-19T11:30:46.515Z | auto\n\n- Removed the skill-card.md file to streamline documentation.\n- No user-facing changes to tools or workflows.\n- All existing features and protocols remain unchanged.\n\nv0.17.0 | 2026-07-19T09:23:00.580Z | auto\n\niaiops-renewables 0.17.0\n\n- Added `opcua_alarm_events` tool for timestamped A&C (Alarm & Condition) events via OPC-UA.\n- Introduced `rca_corpus_from_maintenance` tool to support root cause analysis from maintenance data.\n- Updated documentation to clarify that internal architecture/design documents are not published in this repo.\n- Removed the legacy `skill-card.md` file.\n\nv0.12.0 | 2026-07-13T01:09:20.737Z | 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, 7118 bytes\n\nFiles: skill-card.md (1984b), SKILL.md (10258b), _meta.json (137b)\n\nFile v0.28.0:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 告警事件聚类：`alarm_event_clusters` — `alarm_bad_actors` 按**来源**排名,回答的是「哪台仪表最吵」,\n  不是「哪个故障最吵」;一个把同一条件写成十种说法的厂会得到十个 bad actor。这个按事件**说了什么**分组。\n  合并规则是**去掉大小写/标点/数字后的精确相等,不是相似度** —— 故意做笨,所以不需要模型、且可核对;\n  每个簇都列出被合并的原文与来源。**它不主张两条措辞不同的告警是同一个故障**,那由人判断。\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\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- 合规/信创：`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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\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` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.28.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.28.0\",\n  \"publishedAt\": 1789535397749\n}\n\nFile v0.28.0:skill-card.md\n\n## Description:\n\nRenewables edition of iaiops for solar PV plants and wind farms, covering Modbus-connected inverters, string combiners, wind-turbine controllers, OPC-UA plant SCADA, MQTT-Sparkplug telemetry, cross-protocol diagnostics, predictive maintenance, downtime, OEE, alarms, and PV underperformance 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\nDevelopers, reliability engineers, and operations teams use this skill to inspect renewable energy site telemetry, diagnose underperforming PV strings or inverters, triage wind-farm and plant SCADA issues, and draft read-first onboarding or configuration guidance for supported industrial protocols.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The release evidence reports a mismatch between read-only positioning and listed operations that can publish, push, or export operational data.\n\nMitigation: Before production OT installation, restrict credentials and broker or historian permissions to the intended mode, and require explicit operator approval or tool-side allowlists for any publish, push, or export operation.\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 command and configuration snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-first workflow guidance; production OT use requires review of tool permissions and credentials before enabling publish, push, or export operations.]\n\n## Skill Version(s):\n\n0.28.0 (source: 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.27.0: 3 files, 6827 bytes\n\nFiles: skill-card.md (1887b), SKILL.md (9801b), _meta.json (137b)\n\nFile v0.27.0:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 告警事件聚类：`alarm_event_clusters` — `alarm_bad_actors` 按**来源**排名,回答的是「哪台仪表最吵」,\n  不是「哪个故障最吵」;一个把同一条件写成十种说法的厂会得到十个 bad actor。这个按事件**说了什么**分组。\n  合并规则是**去掉大小写/标点/数字后的精确相等,不是相似度** —— 故意做笨,所以不需要模型、且可核对;\n  每个簇都列出被合并的原文与来源。**它不主张两条措辞不同的告警是同一个故障**,那由人判断。\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\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- 合规/信创：`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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\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` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.27.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.27.0\",\n  \"publishedAt\": 1788405635126\n}\n\nFile v0.27.0:skill-card.md\n\n## Description:\n\nRenewables edition of iaiops for solar PV and wind farm workflows, covering Modbus inverter and turbine data, OPC-UA plant SCADA, MQTT-Sparkplug telemetry, predictive maintenance, downtime, OEE, alarm analysis, and PV underperformance detection.\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 and industrial operations engineers use this skill to investigate solar PV and wind farm telemetry, diagnose underperformance or downtime, assess alarm and data quality patterns, and prepare evidence-backed maintenance or compliance guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The artifact advertises read-only behavior while listing publish, push, and export tools that can transmit data or affect external systems.\n\nMitigation: Review before installing in plant, SCADA, or MQTT/UNS environments, and disable or explicitly govern publish, push, and export tools before use.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-renewables)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown or structured text with inline commands and configuration values]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs should remain evidence-backed and should not imply write safety where publish, push, or export tools are enabled.]\n\n## Skill Version(s):\n\n0.27.0 (source: server-resolved 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, 5778 bytes\n\nFiles: skill-card.md (2311b), SKILL.md (7579b), _meta.json (137b)\n\nFile v0.26.0:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\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` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.26.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.26.0\",\n  \"publishedAt\": 1788265770941\n}\n\nFile v0.26.0:skill-card.md\n\n## Description:\n\nRenewables edition of iaiops for solar PV plants and wind farms, covering inverter and combiner telemetry, wind-turbine controllers, plant SCADA, MQTT-Sparkplug telemetry, predictive maintenance, downtime and alarm analysis, and underperforming-string detection.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zw008](https://clawhub.ai/user/zw008)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operations engineers use this skill to inspect renewable-energy telemetry, investigate underperforming PV strings, review wind-farm and plant SCADA health, triage downtime and alarms, and prepare evidence-oriented operational summaries.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill presents itself as read-first/read-only while documenting publish, push, and export tools that can modify or disclose operational data.\n\nMitigation: Install with a read-only MCP/tool policy by default, and enable publishing, pushing, or exporting only for explicit tasks with destination allowlists and user confirmation.\n\nRisk: Use in real plant, SCADA, MQTT, UNS, or historian environments could affect sensitive operational systems or data flows.\n\nMitigation: Review the skill before installation in operational environments and stage it against non-production or read-only connections before authorizing access to live systems.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-renewables)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown or structured text with tool names, commands, configuration notes, and analysis summaries]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May reference site telemetry, protocol diagnostics, baseline comparisons, and security-sensitive publish/export actions when the connected tool policy permits them.]\n\n## Skill Version(s):\n\n0.26.0 (source: server-resolved 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, 4880 bytes\n\nFiles: skill-card.md (2113b), SKILL.md (6177b), _meta.json (137b)\n\nFile v0.23.1:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\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` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.23.1:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.23.1\",\n  \"publishedAt\": 1787894360015\n}\n\nFile v0.23.1:skill-card.md\n\n## Description:\n\nRenewables edition of iaiops for solar PV plants and wind farms, covering Modbus-connected inverters, string combiners, and turbine controllers, OPC-UA plant SCADA, MQTT-Sparkplug telemetry, cross-protocol diagnostics, predictive maintenance, downtime, OEE, alarms, and PV underperformance 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\nDevelopers and operations engineers use this skill to guide read-first troubleshooting and analysis for solar PV and wind farm systems. It supports workflows for PV string underperformance, wind turbine and inverter condition trends, downtime triage, alarm review, OEE, data quality, asset inventory, and site readiness across Modbus, OPC-UA, and MQTT-Sparkplug data sources.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill is framed as read-only, but documented publish, push, and export tools could transmit or write operational data.\n\nMitigation: Review the skill before installation in SCADA, plant, MQTT, historian, or production OT environments; restrict or disable publish, push, and export actions unless the underlying implementation enforces explicit approval.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-renewables)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with tool names, workflow steps, command examples, and configuration notes]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-first operational guidance; review actions that may publish, push, or export data before production OT use]\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, 4313 bytes\n\nFiles: skill-card.md (1962b), SKILL.md (5338b), _meta.json (137b)\n\nFile v0.23.0:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.23.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.23.0\",\n  \"publishedAt\": 1787632394226\n}\n\nFile v0.23.0:skill-card.md\n\n## Description:\n\nRenewables edition of iaiops for solar PV plants and wind farms, covering Modbus inverter, string, and turbine data, OPC-UA plant SCADA, MQTT-Sparkplug telemetry, predictive maintenance, downtime, OEE, alarm analysis, and PV underperformance detection.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zw008](https://clawhub.ai/user/zw008)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineers use this skill to investigate renewable-energy plant telemetry across Modbus, OPC-UA, and MQTT-Sparkplug sources, including PV string or inverter underperformance, turbine or inverter maintenance trends, downtime, OEE, alarms, and data quality.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The release claims a read-only surface while security evidence notes publish, push, and export tools that could modify operational data streams.\n\nMitigation: Review before installation in plant, SCADA, MQTT, UNS, or historian environments; remove those tools or clearly label them as write-capable and require explicit user authorization before use.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-renewables)\n- [Packaged skill definition](artifact/SKILL.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown or plain text with inline commands and configuration snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include operational analysis, diagnostic guidance, and tool-specific command suggestions.]\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, 4416 bytes\n\nFiles: skill-card.md (2291b), SKILL.md (5324b), _meta.json (137b)\n\nFile v0.22.0:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=2.0,<3` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.22.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.22.0\",\n  \"publishedAt\": 1785676175103\n}\n\nFile v0.22.0:skill-card.md\n\n## Description: <br>\nRenewables edition of iaiops for solar PV plants and wind farms, covering Modbus-connected PV inverters, string combiners, wind-turbine controllers, plant SCADA over OPC-UA, MQTT-Sparkplug telemetry, cross-protocol diagnostics, predictive maintenance, downtime, OEE, alarm workflows, and pv_performance underperforming-string 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 engineers use this skill to guide read-first analysis of renewable-energy telemetry, SCADA, alarms, predictive-maintenance signals, and underperforming PV strings across Modbus, OPC-UA, and MQTT-Sparkplug environments. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The release is described as read-only, while the security evidence notes publish, push, export, baseline-change, and alias-adoption tools in the listed surface. <br>\nMitigation: Use the skill only where the backing MCP server enforces read-only access, or explicitly disable, scope, and confirmation-gate write-capable tools. <br>\nRisk: Use in live renewables, SCADA, MQTT, or historian environments can carry operational risk if tool access is broader than intended. <br>\nMitigation: Review the skill carefully before installation and connect it only to approved read-only or non-production environments unless live access has been explicitly authorized. <br>\n\n\n## Reference(s): <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown with inline tool names and shell command snippets] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May reference industrial telemetry protocols, MCP tool names, and read-only deployment constraints.] <br>\n\n## Skill Version(s): <br>\n0.22.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.21.1: 3 files, 4381 bytes\n\nFiles: skill-card.md (2232b), SKILL.md (5324b), _meta.json (137b)\n\nFile v0.21.1:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=1.0,<2` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.21.1:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.21.1\",\n  \"publishedAt\": 1785655508563\n}\n\nFile v0.21.1:skill-card.md\n\n## Description: <br>\niaiops-renewables supports agents working on solar PV and wind-farm operations with Modbus, OPC-UA, MQTT-Sparkplug telemetry analysis, cross-protocol diagnostics, predictive maintenance, downtime, OEE, alarm workflows, and underperforming-string detection. <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, operations engineers, and renewable-energy reliability teams use this skill to inspect solar PV plants and wind farms across Modbus, OPC-UA, and MQTT-Sparkplug data. It helps analyze underperforming PV strings, asset health, alarms, downtime causes, OEE, predictive maintenance signals, and compliance evidence workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The security summary identifies a mismatch between read-only framing and listed tools that can publish, push, export, stream, or record data in industrial systems. <br>\nMitigation: Before production use, disable or require separate authorization for publish, push, stream, baseline-record, and export tools in SCADA, historian, and MQTT environments. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-renewables) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown with operational findings, tool names, and inline shell or configuration commands] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include read-oriented diagnostics, health summaries, performance findings, root-cause narratives, compliance evidence guidance, and production-control recommendations for tools with write or export capability.] <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, 4481 bytes\n\nFiles: skill-card.md (2518b), SKILL.md (5324b), _meta.json (137b)\n\nFile v0.21.0:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=1.0,<2` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.21.0:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.21.0\",\n  \"publishedAt\": 1785640067729\n}\n\nFile v0.21.0:skill-card.md\n\n## Description: <br>\nRenewables edition of iaiops for solar PV plants and wind farms, covering Modbus-connected inverters, combiners, wind-turbine controllers, OPC-UA plant SCADA, MQTT-Sparkplug telemetry, cross-protocol diagnostics, and PV performance 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 engineers use this skill to inspect renewable-energy operations data, diagnose solar PV and wind-farm issues, analyze underperforming PV strings or inverters, and triage alarms, downtime, data quality, and predictive-maintenance signals across industrial protocols. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill describes itself as read-first or read-only, but its listed tool surface includes publish, export, stream, and historian-write style tools that could alter or expose operational data flows. <br>\nMitigation: Review the skill before production or OT deployment and configure the backing MCP server to enforce read-only permissions unless write or publish tools are explicitly required. <br>\nRisk: Use in renewable-energy or OT environments may interact with sensitive plant telemetry, historian data, alarms, and operational workflows. <br>\nMitigation: Disable publish, export, stream, and historian-push tools by policy for read-only deployments, and limit access to approved operational data sources. <br>\n\n\n## Reference(s): <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown and text guidance with inline commands, configuration snippets, analysis summaries, and tool-call recommendations.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Agent responses may include operational diagnostics, protocol-specific read plans, PV performance findings, alarm and downtime triage, data-quality summaries, compliance guidance, export or historian workflows, and review notes for production use.] <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, 4436 bytes\n\nFiles: skill-card.md (2459b), SKILL.md (5324b), _meta.json (137b)\n\nFile v0.20.4:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=1.0,<2` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.20.4:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.20.4\",\n  \"publishedAt\": 1785630543528\n}\n\nFile v0.20.4:skill-card.md\n\n## Description: <br>\nRenewables edition of iaiops for helping agents work with solar PV and wind-farm telemetry across Modbus, OPC-UA, and MQTT-Sparkplug, including PV performance, predictive maintenance, downtime, OEE, alarm, historian, and asset 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 and operations engineers use this skill to guide renewable-energy telemetry checks, PV underperformance analysis, predictive maintenance, downtime triage, alarm review, historian coverage, and cross-protocol asset workflows for solar PV plants and wind farms. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The release presents itself as read-first or read-only, but the documented tool surface includes publish, export, historian-write, and baseline-change capabilities. <br>\nMitigation: Review before installing in any real plant, SCADA, MQTT, historian, or maintenance environment; treat the skill as potentially read/write unless the underlying MCP server enforces a read-only subset. <br>\nRisk: Operational connections to plant systems can affect sensitive telemetry, historian data, or maintenance workflows if credentials and actions are not constrained. <br>\nMitigation: Use scoped credentials and require explicit approval for publish, export, historian, and baseline-change actions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-renewables) <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 commands, configuration names, workflows, and tool-call recommendations] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May guide plant telemetry reads and operational analysis; actions that publish, export, write historian data, or change baselines require scoped controls and explicit approval.] <br>\n\n## Skill Version(s): <br>\n0.20.4 (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.3: 3 files, 4295 bytes\n\nFiles: skill-card.md (2055b), SKILL.md (5324b), _meta.json (137b)\n\nFile v0.20.3:SKILL.md\n\n---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 数据质量：`data_quality_scorecard` `data_quality_fleet_rollup`\n- 分析：`oee_compute` `downtime_events` `oee_multidim` `monitor_changes`\n- 资产：`asset_inventory` `cross_protocol_asset_model` `adopt_alias_map` `diff_alias_map`\n- 基线：`baseline_learn` `baseline_check` `baseline_record_change` `baseline_status`\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`\n  `stream_publish_event` `rca_narrate` `fleet_status` `fleet_incidents`\n- 程序解读：`plc_program_outline` `plc_program_xref` `plc_program_section` `plc_program_visibility`\n- 元：`protocols_supported`\n\n## Workflows\n\n1. **Doctor-first**：`protocols_supported` → `iaiops doctor` → OPC-UA 先 `opcua_diagnose_connection`。\n2. **欠发排查**：`modbus_apply_template`(`huawei_sun2000_inverter`) 读各组串功率(+辐照) →\n   `pv_performance` 排欠发组串 → 结合 `pdm_forecast` 盯逆变器温升趋势。\n3. **停机/告警**：`downtime_triage`;风机齿轮箱/轴承劣化用 `pdm_forecast`。\n4. **只读**：本 edition 工具表面全只读(逆变器限功率/风机偏航不经本工具下发)。\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/502 | ✅ |\n| Modbus-RTU | `pymodbus>=3.5,<4` + `pyserial>=3.5` | Modbus serial (RTU) | 串口从站/表计 | RS-485/serial | ✅ socat PTY;物理 RS-485 待核实 |\n| OPC-UA | `asyncua>=1.0,<2` | OPC UA 1.0x（DA+HA+AC 子集） | 全站 SCADA / PLC 网关 | opc.tcp | ✅ mock+HDA |\n| MQTT-Sparkplug B | `paho-mqtt>=2.0,<3`（extra） | Sparkplug B 3.0 | 电站遥测 / IoT 网关 UNS | MQTT/1883/8883 | ✅ broker mock |\n\nFile v0.20.3:_meta.json\n\n{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.20.3\",\n  \"publishedAt\": 1785558770588\n}\n\nFile v0.20.3:skill-card.md\n\n## Description: <br>\nRenewables edition of iaiops for solar PV plants and wind farms, covering Modbus, OPC-UA, MQTT-Sparkplug telemetry, cross-protocol diagnostics, predictive maintenance, downtime, OEE, alarms, and PV underperformance 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 renewables telemetry and diagnose solar PV, wind turbine, SCADA, alarm, downtime, and asset-health issues across supported industrial protocols. It is best suited for read-first analysis and triage workflows in plant monitoring contexts. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill is presented as read-only monitoring but documents publish, export, stream, and historian push tools that could move operational data. <br>\nMitigation: Require explicit operator approval and server-side policy restrictions for publishing, exporting, streaming, or historian push tools in plant or SCADA environments. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/zw008/skills/iaiops-renewables) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, analysis, shell commands, configuration] <br>\n**Output Format:** [Markdown with inline command and tool guidance] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May reference read-only diagnostic workflows, protocol-specific tool calls, telemetry analysis, and operator approval requirements for tools that publish, export, or push data.] <br>\n\n## Skill Version(s): <br>\n0.20.3 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: iaiops-renewables Owner: zw008 Summary: Renewables edition of iaiops — solar PV plants and wind farms: PV inverters / string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt / generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a renewables signature tool pv_performance (underperforming-string","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: iaiops-renewables\ndescription: >-\n  Renewables edition of iaiops — solar PV plants and wind farms: PV inverters /\n  string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt /\n  generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug\n  telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a\n  renewables signature tool pv_performance (underperforming-string detection).\n  Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 /\n  组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 /\n  nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading /\n  遮挡, or 电站. Read-first; this edition's tool surface is read-only.\n---\n\n# iaiops-renewables — 光伏 / 风电 edition（Modbus + OPC-UA + Sparkplug + 脑）\n\n启动：`IAIOPS_MCP=renewables` / `iaiops-mcp-renewables`（= modbus + opcua + sparkplug\n+ 脑；等价 `IAIOPS_MCP=modbus,opcua,sparkplug`）。典型现场：逆变器/组串汇流箱、风机控制器\n走 Modbus,全站 SCADA 走 OPC-UA,遥测经 MQTT-Sparkplug。语义层已含 irradiance / wind_speed /\nrotor_speed / pitch / yaw / state_of_charge 等可再生类别(`opcua_discover_tags` 自动归类)。\n\n## 工具\n\n### 可再生专属（edition 工具;仅随 renewables edition 加载,不进全局脑）\n- `pv_performance` — **组串/逆变器欠发检测**:算各组串性能比(有 `expected_w` 用之,或\n  额定×辐照/1000,否则对全场中位数),低于阈值即 underperforming(积灰/遮挡/熔丝断/组件失效),\n  ~0 功率为 offline。worst-first,每比值引用输入。纯分析,喂逆变器/汇流箱 Modbus 或站 SCADA。\n\n### Modbus-TCP / 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  （可再生模板:`huawei_sun2000_inverter`、`growatt_inverter`、`generic_wind_turbine`;均 `待核实`）\n- `modbus_health_summary` — 寄存器 vs 阈值分类\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` `opcua_discover_tags` `opcua_health_summary` `opcua_anomaly_scan`\n\n### MQTT-Sparkplug B（可选;电站遥测 / IoT 网关 UNS）\n- `sparkplug_node_list` `sparkplug_subscribe_sample` `sparkplug_decode_payload`\n- `mqtt_read_topic` `mqtt_publish` `sparkplug_live_schema`\n- `uns_browse` `uns_topic_audit` `uns_schema_drift` `uns_live_audit` `uns_live_drift`\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- 预测维护：`pdm_forecast` —— 逆变器温升、风机轴承/齿轮箱趋势 + 到限时间\n- 告警事件聚类：`alarm_event_clusters` — `alarm_bad_actors` 按**来源**排名,回答的是「哪台仪表最吵」,\n  不是「哪个故障最吵」;一个把同一条件写成十种说法的厂会得到十个 bad actor。这个按事件**说了什么**分组。\n  合并规则是**去掉大小写/标点/数字后的精确相等,不是相似度** —— 故意做笨,所以不需要模型、且可核对;\n  每个簇都列出被合并的原文与来源。**它不主张两条措辞不同的告警是同一个故障**,那由人判断。\n- 数据质量：`data_quality_scorecard` `data_qua"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7b067awq2s97bn3d7p5qfhw5827pxc\",\n  \"slug\": \"iaiops-renewables\",\n  \"version\": \"0.28.0\",\n  \"publishedAt\": 1789535397749\n}"},{"path":"skill-card.md","content":"## Description:\n\nRenewables edition of iaiops for solar PV plants and wind farms, covering Modbus-connected inverters, string combiners, wind-turbine controllers, OPC-UA plant SCADA, MQTT-Sparkplug telemetry, cross-protocol diagnostics, predictive maintenance, downtime, OEE, alarms, and PV underperformance 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\nDevelopers, reliability engineers, and operations teams use this skill to inspect renewable energy site telemetry, diagnose underperforming PV strings or inverters, triage wind-farm and plant SCADA issues, and draft read-first onboarding or configuration guidance for supported industrial protocols.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The release evidence reports a mismatch between read-only positioning and listed operations that can publish, push, or export operational data.\n\nMitigation: Before production OT installation, restrict credentials and broker or historian permissions to the intended mode, and require explicit operator approval or tool-side allowlists for any publish, push, or export operation.\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 command and configuration snippets]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Read-first workflow guidance; production OT use requires review of tool permissions and credentials before enabling publish, push, or export operations.]\n\n## Skill Version(s):\n\n0.28.0 (source: 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."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Renewables edition of iaiops — solar PV plants and wind farms: PV inverters / string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt / generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a renewables signature tool pv_performance (underperforming-string detection). Use when the task mentions solar / 光伏 / PV / photovoltaic, inverter / 逆变器 / 组串 / string / combiner, irradiance / 辐照 / POA, wind / 风电 / turbine / 风机 / nacelle / pitch / yaw, plant SCADA, performance ratio, soiling / 积灰 / shading / 遮挡, or 电站. Read-first; this edition's tool surface is read-only. Skill: iaiops-renewables Owner: zw008 Summary: Renewables edition of iaiops — solar PV plants and wind farms: PV inverters / string combiners and wind-turbine controllers over Modbus (SUN2000 / Growatt / generic wind-turbine templates), plant SCADA over OPC-UA, and MQTT-Sparkplug telemetry, plus the cross-protocol brain (PdM, downtime, OEE, alarm) and a renewables signature tool pv_performance (underperforming-string","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1240,"uniquenessScore":51,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T03:03:55.407Z","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-10T03:03:55.407Z","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-10T06:44:30.012Z","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"}]}}}