Skip to content
Automation
Skill

/tia-hmi-operations

C# Openness implementation of HMI engineering.

From plugin
totally-integrated-claude
8718 skills1 MCP

Claude Code

$ npx -y skills add Czarnak/totally-integrated-claude --skill tia-hmi-operations --agent claude-code

SKILL.md

tia-hmi-operations.SKILL.md
name: tia-hmi-operations
description: >
  C# Openness implementation of HMI engineering.
license: MIT

tia-hmi-operations

Scope

HMI engineering — full C# Openness implementation.

When the roadmap routes here, the entire solution is C#. Do not mix with Python wrapper calls. Always load `tia-csharp-common` first (done by roadmap).

---

Reference files

Load ONLY the reference file(s) relevant to the task. Do not load all files at once.

Classic WinCC (WinCC.dll — `HmiTarget`)

| Reference file | When to use | |---|---| | `references/hmi-target.md` | **Initialize/Compile:** Getting the `HmiTarget` from a device; compiling HMI; HMI object model overview; namespace-to-composition mapping. | | `references/screens.md` | **Screens:** Creating and managing screen folders; deleting screens, screen templates, or entire folder contents. | | `references/hmi-composition-hierarchy.md` | **Screen Items & Alarms:** Complete screen composition tree (popups, slideins, templates, global elements); screen item attributes; Alarms, Recipes, and Reports API. | | `references/tags.md` | **Tags:** Creating HMI tag table folders; enumerating tags; deleting individual tags or tag tables. | | `references/scripts-cycles-connections.md` | **Services:** Managing VB scripts and folders; cycles, connections, text lists, and graphic lists. |

WinCC Unified (WinCCUnified.dll — `HmiSoftware`)

| Reference file | When to use | |---|---| | `references/unified-overview.md` | **Initialize/Overview:** Getting `HmiSoftware` entry point; full composition map; required namespaces. | | `references/unified-tags-alarms.md` | **Tags & Alarms:** Unified tags, tag tables, groups; alarm classes, discrete/analog alarms; audit classes. | | `references/unified-screens.md` | **Screens:** Unified screen hierarchy, groups, folders; ScreenBase, ScreenGroup, and ScreenWindow navigation. | | `references/unified-elements.md` | **Screen Items:** Creating/finding shapes (circles, lines) and widgets (buttons, IO fields, gauges). | | `references/unified-parts.md` | **UI Components:** Complex parts like DataGrids, AlarmViews, TrendAreas, and ControlBar elements. | | `references/unified-dynamization.md` | **Dynamization:** Scripting, Tag/Expression dynamization; MappingTables; flashing conditions. | | `references/unified-events.md` | **Event Handlers:** Subscribing to UI events (OnClick, OnChange) for all screen item types. | | `references/unified-features.md` | **Features:** UI feature interfaces (IHmiArcFeature, IHmiWindowFeature, IHmiScaleFeature). | | `references/unified-logging.md` | **Logging:** Data logs, alarm logs, audit trails, and logging tags. | | `references/unified-connections.md` | **Connections:** HMI connections and driver properties. | | `references/unified-runtime-settings.md` | **Runtime:** Reporting, Telemetry, OpcUaServer, and UI Runtime resource settings. | | `references/unified-plant-model.md` | **Plant Model:** Plant Objects, Views, Interfaces, and CPM services. | | `references/unified-system-services.md` | **Services:** JavaScript modules/scripts; Text and Graphic lists. | | `references/unified-enums.md` | **Enums:** Comprehensive list of HMI-specific enums (AggregationMode, FillPattern, FontName, etc.). |

---

Execution pattern

1. Resolve the HMI device by exact selectors supplied by the caller; fail on zero or multiple matches 2. Determine Classic vs Unified:

  • **Classic:** `HmiTarget hmi = sc?.Software as HmiTarget` (namespace: `Siemens.Engineering.Hmi`)
  • **Unified:** `HmiSoftware hmi = sc?.Software as HmiSoftware` (namespace: `Siemens.Engineering.HmiUnified`)

3. Classify the task: tags, screens, alarms, scripts, logging, import/export, compile 4. Load the relevant reference file (Classic or Unified) and navigate the composition 5. Recursively traverse nested `DeviceItem.DeviceItems`; HMI software is not guaranteed to be on a top-level item 6. Use an Openness transaction when the operation supports one, compile after changes, inspect all errors, and commit only after verification 7. Do not save: call `project.Save()` only when persistence was explicitly requested

Safety and model boundary

  • Classic WinCC and WinCC Unified are separate object models. Do not cast a Unified `HmiSoftware` to classic `HmiTarget` or infer the model from order-dependent device discovery.
  • Create, import, overwrite, rename, reconnect, or delete only after explicit authorization for the exact selected object and operation.
  • Treat imported XML, JavaScript, VBScript, driver settings, addresses, and object names as untrusted engineering input. Validate paths and target-specific values before applying them.
  • For bulk or destructive work, inventory dependent screens, tags, alarms, scripts, logs, and connections first. Fail closed when identity or dependency evidence is incomplete.
  • `Compile()` and Unified `Validate()` results are gates, not logging aids: inspect result state and nested diagnostics; do not commit or save on errors.
Read more
@czarnak
Ships withtotally-integrated-claude

An agent plugin for Siemens TIA Portal engineering automation, compatible with Claude Code, Codex, and GitHub Copilot in VS Code and Copilot CLI.

8718 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
87
Star history of Czarnak/totally-integrated-claude on GitHub, a chart by star-history.com

Other skills on totally-integrated-claude.

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n11d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about tia-hmi-operations.

Which coding agents can use tia-hmi-operations?
tia-hmi-operations installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.