Back to skills directory
czarnak/totally-integrated-claude

czarnak/totally-integrated-claude

@Czarnak 26

Claude Code plugin automating Siemens TIA Portal engineering via Python scripting and C# Openness skills.

tia-portalsiemensplcautomationclaude-codemcpopennessindustrial-automation

Install

$ npx skills add Czarnak/totally-integrated-claude

README

# GitHub Repository: Czarnak/totally-integrated-claude

**URL:** https://github.com/Czarnak/totally-integrated-claude
**Author:** Czarnak
**Description:** A Claude Code plugin for Siemens TIA Portal engineering automation.
**Homepage:** https://czarnak.github.io/totally-integrated-claude/
**Language:** PowerShell

## Stats
- Stars: 26
- Forks: 6
- Open Issues: 1
- Commits: 32
- Created: 2026-04-09T15:35:59Z
- Updated: 2026-06-22T00:53:50Z
- Pushed: 2026-06-22T00:53:47Z

## README
# totally-integrated-claude

A Claude Code plugin for **Siemens TIA Portal engineering automation**.

Provides a routed skill framework covering the full TIA Portal Openness API surface — Python TIA Scripting for everyday tasks and C# Openness for advanced object-model work — plus an LSP server for Siemens PLC source languages.

![image](img/repo_graphic.png)

---

## Features

- **Automatic routing** - one entry-point skill (`tia-openness-roadmap`) selects Python or C# and loads the right domain skill
- **Python TIA Scripting** - full coverage of PLC blocks/tags, HMI, libraries, devices, project lifecycle via `tia-python`
- **C# Openness** - nine domain skills covering every Openness API area (see table below)
- **TIA Portal Add-In development** — VS Code–based Add-In authoring workflow
- **LSP language server** - syntax highlighting, diagnostics, and code intelligence for Siemens PLC source files
- **TIA Portal MCP server** - work with your agent directly in TIA Portal V21 (separate installation required, see below)
- **MCP write safety hooks** - Claude Code blocks TIA Portal writes unless the call includes `confirm=true` and a server-issued `safetyToken`
- **Environment diagnostics** - manually run `tia-doctor` to check TIA Portal, Openness, Python TIA Scripting, MCP, and LSP prerequisites

---

## Skills

| Skill | Purpose |
| --- | --- |
| `tia-openness-roadmap` | **Entry point.** Routes all TIA Portal tasks to the correct implementation path and domain skill. Load this first for every TIA Portal task. |
| `tia-doctor` | **Manual diagnostic.** Checks local prerequisites and reports exact remediation steps without mutating the machine. |
| `plc-code-analysis` | **Standalone.** Multi-perspective security and quality analysis for PLC code (SCL/LAD/FBD) via SimaticML or MCP. |
| `tia-portal-mcp` | **Interactive.** Direct TIA Portal interaction via MCP tools (browse tree, read/write logic, list tags, hardware config). |
| `tia-python` | Python TIA Scripting: PLC blocks/tags/UDTs, HMI tags/screens, library types/versions, project lifecycle, CAx import/export. |
| `tia-csharp-common` | C# foundation: TIA Portal process attach, `ExclusiveAccess`, `Transaction`, disposable patterns. Required first load for every C# task. |
| `tia-project-general` | C# project & portal lifecycle: open, create, save, archive, retrieve, UMAC/UMC, language settings, diagnostics. |
| `tia-devices-general` | C# device & device-item operations: hardware catalog, device creation/deletion, slot/subslot traversal, software containers, network connections, hardware parameters. |
| `tia-plc-operations` | C# PLC software engineering: program/system blocks, PLC tags/UDTs, software units, Safety, alarms, OPC-UA, technological objects, watch/force tables, online/download, compare. |
| `tia-hmi-operations` | C# Unified HMI: screens, screen items, elements, parts, tags, alarms, scripts, cycles, connections, dynamization, events, runtime settings, system services. |
| `tia-networks` | C# topology: subnets, nodes, IO systems, port channels, addresses, IO timing. |
| `tia-simatic-drives` | C# Startdrive / SINAMICS: drive controller access, drive engineering, motion control, download. |
| `tia-import-export` | C# & Python import/export: SimaticML, AML/CAx, PLC blocks, HMI screens/tags/alarms, hardware AML, project data. |
| `tia-multiuser` | C# Multiuser Engineering: server project management, local sessions, multiuser commissioning workflows. |
| `tia-teamcenter` | C# Teamcenter Integration: Teamcenter storage management and Teamcenter-managed project operations. |
| `tia-testsuite` | C# TestSuite & Application Test: test sets, application tests, style-guide rules, automated system testing. |
| `addin-operations` | TIA Portal Add-In development: project structure, VS Code workflow, Add-In lifecycle, menus, permissions, deployment. |

---

## LSP Language Server

The plugin ships a compiled LSP server (`bin/siemens-lsp.exe`) providing language intelligence for Siemens PLC source files:

| Extension | Language |
| --- | --- |
| `.scl` | Structured Control Language |
| `.st` | Structured Text (IEC 61131-3) |
| `.s7res` | S7 Resource |
| `.s7dcl` | S7 Declaration |
| `.udt` | User-Defined Type |
| `.db` | Data Block |
| `.awl` | Statement List (AWL/STL) |

---

## Prerequisites

### For Python TIA Scripting

- Siemens TIA Portal V17 or later
- TIA Scripting Python downloaded from Siemens Industry Online Support
- Python 3.12.x for the current `siemens_tia_scripting` wheel

### For C# Openness

- Siemens TIA Portal V17 or later
- TIA Portal Openness assemblies (installed with TIA Portal)
- .NET Framework 4.8 or later

### For Add-In development

- Visual Studio 2022 or VS Code with C# Dev Kit
- TIA Portal Add-In SDK (available from Siemens Industry Online Support)

TIA Scripting Python is not installed from PyPI by package name. Download the
TIA Scripting Python ZIP from Siemens, then use one of Siemens' supported setup
paths:

- File import: unzip it and set `TIA_SCRIPTING` to the extracted `binaries`
  directory.
- Wheel install: from the extracted `binaries` directory, install the matching
  wheel file, for example:

```powershell
cd C:\Path\To\Your\TIA_Scripting_Python\binaries
py -3.12 -m pip install .\siemens_tia_scripting-x.x.x-cp312-cp312-win_amd64.whl
```

To check a local machine, run the bundled doctor probe:

```powershell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File skills\tia-doctor\probe.ps1
```

For machine-readable output:

```powershell
powershell.exe -NoProfile -ExecutionPolicy Bypass -File skills\tia-doctor\probe.ps1 -Json
```

---

## Installation

Install from GitHub or clone this repository and link it locally while developing.

### Claude Code

```bash
/plugin marketplace add Czarnak/totally-integrated-claude
```

### Antigravity CLI

Install from GitHub:

```bash
agy plugin install https://github.com/Czarnak/totally-integrated-claude
```

For local development, load the plugin:

```bash
agy plugin validate
agy plugin install
```

### Codex

Install the marketplace from GitHub:

```bash
codex plugin marketplace add Czarnak/totally-integrated-claude
```

From inside an interactive Codex session, you can use the slash-command form:

```bash
/plugin marketplace add Czarnak/totally-integrated-claude
```

---

## Usage

Start every TIA Portal task by asking Claude to load the routing skill:

```text
How do I read all PLC tag tables from an open TIA Portal project?
```

Claude will load `tia-openness-roadmap`, select the correct implementation path (Python or C#), and load the matching domain skill automatically.

### TIA Portal MCP write safety

TIA Portal MCP write tools use a preview-then-apply workflow. First call the matching `preview_*` tool, review the summary/diff and `currentStateHash`, then pass the returned `safetyToken` to the write tool with `confirm=true`.

Examples:

| Write | Required preview |
| --- | --- |
| `update_block_logic` | `preview_update_block_logic` |
| `create_tag_table`, `delete_tag_table` | `preview_create_tag_table`, `preview_delete_tag_table` |
| `create_tag`, `update_tag`, `delete_tag` | `preview_create_tag`, `preview_update_tag`, `preview_delete_tag` |
| `create_user_constant`, `update_user_constant`, `delete_user_constant` | matching `preview_*_user_constant` tool |
| `add_network_device`, `configure_network_device` | `preview_add_network_device`, `preview_configure_network_device` |
| `open_project`, `create_project`, `save_project`, `save_project_as`, `archive_project`, `close_project` | matching `preview_*_project` tool |

Claude Code also loads `hooks/tia-write-guard.ps1` through `hooks/hooks.json` as defense-in-depth. The MCP server is still the authority: other clients must use the same preview token flow.

### Environment diagnostics

Use `tia-doctor` when TIA Portal automation fails because of missing local
prerequisites. It is a read-only PowerShell probe that checks TIA Portal,
Openness assemblies, membership in the `Siemens TIA Openness` Windows user
group, Python TIA Scripting, `tia-mcp`, and the bundled Siemens PLC language
server.

### Routing examples

| Task | Path | Domain skill |
| --- | --- | --- |
| Explore project structure interactively | MCP | `tia-portal-mcp` |
| Analyze exported SimaticML XML for security issues | Standalone | `plc-code-analysis` |
| Read/write PLC blocks and tags | Python | `tia-python` |
| HMI screen access and export | Python | `tia-python` |
| Device slot/subslot manipulation | C# | `tia-devices-general` |
| Subnet and IO-system configuration | C# | `tia-networks` |
| SINAMICS drive engineering | C# | `tia-simatic-drives` |
| Advanced PLC online/security services | C# | `tia-plc-operations` |
| Multiuser Engineering (server projects) | C# | `tia-multiuser` |
| Teamcenter managed projects | C# | `tia-teamcenter` |
| Automated PLC/HMI testing | C# | `tia-testsuite` |
| TIA Portal Add-In project | C# | `addin-operations` |

---

## Worth installing to boost your workflow

- C# LSP plugin from [Claude Plugins Official](https://github.com/anthropics/claude-plugins-official)
- [Tia Portal MCP Server](https://github.com/Czarnak/tia-portal-mcp)

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for contributor setup, validation
commands, test expectations, skill authoring rules, and safety requirements.

## Sources

- [TIA Portal Openness docs](https://docs.tia.siemens.cloud/r/en-us/v21/tia-portal-openness-api-for-automation-of-engineering-workflows/)
- [TIA Scripting Python](https://support.industry.siemens.com/cs/document/109742322/tool-for-easier-use-of-the-tia-portal-openness-interface-(tia-scripting-python))
- [Siemens LSP](https://marketplace.visualstudio.com/items?itemName=DynamicEngineering.dynamic-siemens-language-support)

## Examples

- [PLC Block Scanner](https://github.com/Czarnak/plc-block-scanner) - as simple as possible, strictly as an example.
- [TIA Git Add-In](https://github.com/Czarnak/tia-git-addin) - Add-In for TIA Portal V21 making version control comfortable for PLC engineers.

## License

MIT — see [LICENSE](LICENSE).

Information

Language
PowerShell
Created
2026/6/22
Updated
2026/6/22