Skip to content
Automation
Skill

/tia-networks

C# Openness implementation of topology and low-level network engineering.

From plugin
totally-integrated-claude
5919 skills1 hook1 MCP
Install
$ npx -y skills add Czarnak/totally-integrated-claude --skill tia-networks --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/tia-networks

Context preview

The summary Claude sees to decide when to auto-load this skill.

C# Openness implementation of topology and low-level network engineering.

SKILL.md

tia-networks.SKILL.md
name: tia-networks
description: >
  C# Openness implementation of topology and low-level network engineering.
license: MIT

tia-networks

Scope

Topology and low-level network 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.

| Reference file | Load when the task involves | |---|---| | `references/subnets-and-nodes.md` | Reading/writing subnet attributes (name, type, PROFIBUS bus params, isochronous settings); accessing node attributes (IP address, PROFINET device name, node type); SubnetOwner service | | `references/io-systems.md` | PROFINET IO system attributes; DP master system (IoSystem) attributes; TransferArea creation/deletion on PN or DP interfaces | | `references/addresses-and-channels.md` | Address objects (StartAddress, IoType, Length, IsochronousMode, ProcessImage); channel access (ChannelType, ChannelIoType); AddressController service | | `references/io-timing.md` | IoConnector timing/watchdog attributes (PnUpdateTime, PnWatchdogFactor, RtClass, SyncRole); IO device interface isochronous settings (PnSendClock, IsochronousTi, IsochronousTo) | | `references/communication-connections.md` | Configuring and inspecting S7, FDL, ISO, ISO-on-TCP, TCP, UDP, PTP, and HMI communication connections through `CommunicationManagement.Connections` | | `references/online-connection-configuration.md` | Choosing/inspecting online connection paths with `ConnectionConfiguration`: modes, PC interfaces, target interfaces, subnets, gateways, accessible devices, and `ApplyConfiguration` |

For tasks spanning multiple areas, load all relevant reference files before generating code.

---

Safety and dependency gate

  • Resolve project, device, recursive device-item path, interface/node, subnet, IO system,

and connection with exact selectors. A name alone is insufficient when the same name can occur in another group or interface.

  • Obtain explicit authorization for the exact topology, address, timing, connection, or

online-path mutation. Read-only discovery and static validation are not authorization.

  • Before delete, disconnect, reconnect, readdress, or subnet replacement, inventory every

dependent node, IO system, communication connection, assigned PLC tag/address, and online route that the change can affect.

  • Bind that dependency inventory to the proposed change. If any connection endpoint or

selector cannot be identified completely, return `dependency_evidence_incomplete` and refuse the mutation.

  • Use `ExclusiveAccess` and a transaction where the operation supports them, then compile

the affected hardware/software. Do not save after ambiguous selection, partial mutation, incomplete dependency evidence, or compile/consistency failure.

  • Applying an online connection configuration, enumerating accessible devices, or going

online is a live operation. Keep it separate from offline topology edits and require the exact target and PC interface to be authorized.

---

Execution pattern

1. Access devices and device items from `Project.Devices` 2. Navigate network interfaces and nodes via Openness HW namespace 3. Use `GetService<SubnetOwner>()` to access subnets owned by a device item 4. Use `GetService<NetworkInterface>()` to access the network interface 5. Resolve exact endpoints and complete dependency evidence before creating or modifying IO systems, subnets, nodes, or connections 6. Modify addresses or channel timing via `deviceItem.Addresses` / `deviceItem.Channels` 7. Use `GetService<CommunicationManagement>()` for configured communication connections 8. Use `OnlineProvider.Configuration` only for online connection-path selection, not for project topology creation 9. Compile hardware after changes, inspect the complete result, and save only on success (see `tia-project-general/references/compile.md`)

Read more
Ships withtotally-integrated-claude

A Claude Code plugin for Siemens TIA Portal engineering automation. Provides a routed skill framework for TIA Portal engineering automation: Siemens TIA Scripting Python V1.4.3 for its supported wrapper surface, audited C# Openness skills for advanced

Get the whole plugin
Stats
61
Stars
10
Forks
Active
Maintenance
PowerShell
Language
MIT
License
1mo ago
Last commit
5mo ago
Created

Repo: Czarnak/totally-integrated-claude

Other skills on totally-integrated-claude.