addin-operations
TIA Portal Add-In development in Visual Studio Code: creating Add-In C# projects, adding Add-In templates, compiling and debugging Add-Ins, converting Add-Ins…
Use when the TIA Portal MCP server is available for focused, guarded project reads and writes. Use TIA Openness skills for complex multi-step automation.
$ npx -y skills add Czarnak/totally-integrated-claude --skill tia-portal-mcp --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/tia-portal-mcpContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when the TIA Portal MCP server is available for focused, guarded project reads and writes. Use TIA Openness skills for complex multi-step automation.
name: tia-portal-mcp description: > Use when the TIA Portal MCP server is available for focused, guarded project reads and writes. Use TIA Openness skills for complex multi-step automation. license: MIT
Use this skill for direct TIA Portal interaction through the MCP server. The server exposes exactly ten public MCP tools: three batch tools and seven project lifecycle tools. Internal worker operations, including lifecycle probes, are not MCP-visible tools.
Use MCP for exploration, inspection, and bounded changes. For loops, bulk automation, or an operation outside this surface, use `tia-openness-roadmap`.
| Tool | Purpose | |---|---| | `execute_read_batch` | Run up to 50 independent read operations. | | `preview_write_batch` | Preview up to 50 data-write operations and obtain one batch safety token. | | `apply_write_batch` | Apply the exact previewed write batch sequentially; stop on the first failure and mark remaining items skipped. There is no transaction or rollback. |
Read-operation names include `browse_project_tree`, `get_block_content`, `list_tag_tables`, `read_hardware_config`, `read_cross_references`, `search_equipment_catalog`, `compile_check`, and `get_project_status`. Data-write operation names include block, tag-table, tag, user-constant, and network-device operations such as `update_block_logic`, `create_block`, `create_tag`, and `add_network_device`.
| Tool | Purpose | |---|---| | `get_project_status` | Inspect the currently open project. | | `open_project` | Deliberately open or switch to a project. | | `create_project` | Create a project. | | `save_project` | Save the open project. | | `save_project_as` | Copy the open project and rebind to the copy. | | `archive_project` | Create an archive of the open project. | | `close_project` | Close the open project. |
`get_project_status(projectPath)` is read-only and non-binding. It never opens or switches a project, including when `projectPath` names a different project. Use `open_project` for deliberate session switching. If a bound session names a different path in a status request, the result is `binding_conflict`; do not use status as a switching mechanism.
All writes use single-use, short-lived safety tokens bound to the normalized project path, exact input, target, and current project state. Never invent or reuse a token.
For data writes:
1. Send the full ordered `operations` array to `preview_write_batch`. 2. Review the preview and its `safetyToken`. 3. Send the unchanged array to `apply_write_batch` with `confirm:true` and that token.
For lifecycle writes, the tool previews itself: call the lifecycle tool without a `safetyToken` to receive a preview and token, then call the same tool with the same input, `confirm:true`, and the token to apply. Lifecycle writes remain single-tool only and cannot be placed in a data batch.
`save_project_as` requires `rebind:true`. Passing `rebind:false` is rejected as `validation_error` before preview, token issuance, Siemens `SaveAs`, or audit effects. After a successful SaveAs, continue with the worker-reported copied project path; do not assume a caller-supplied path is authoritative.
Never automatically retry a write after `worker_timeout`, `worker_crashed`, or protocol loss. The outcome may be uncertain: inspect current state before a new, separately authorized request.
Write failures return `failureCategory` with a human-readable error. Supported categories: `validation_error`, `binding_conflict`, `state_changed`, `worker_operation_failed`, `worker_timeout`, `worker_crashed`, and `postcondition_failed`.
`warnings` is a separate array of non-fatal degradation notes. A warning never turns a failure into a success, and a failure category is never hidden by warnings. Treat any warning as a signal that the returned payload can be partial.
Read a block through `execute_read_batch` using `get_block_content`; use the returned SIMATIC ML documents as the source for a change. For `update_block_logic`, send a validated document bundle in a guarded data batch. The verified flow performs one import, compilation verification, and a non-empty re-export. Preserve unchanged documents exactly where possible; duplicate, malformed, or unsafe documents are rejected before any Siemens import, leaving the existing block unchanged.
For `create_block` with SCL, provide the requested block type and language in a guarded batch. The generated source has a non-empty Structured Text compile unit. After apply, resolve the requested block path and run `compile_check` to confirm it exists and compiles.
1. Run `execute_read_batch` with `browse_project_tree` to find the block path. 2. Run `execute_read_batch` with `get_block_content` for that path. 3. Analyze the returned documents before deciding whether a write is needed.
1. Read the current documents with `execute_read_batch`. 2. Make one focused, validated document change. 3. Preview `update_block_logic` with `preview_write_batch`. 4. Confirm intent, then apply the unchanged batch with `apply_write_batch`, `confirm:true`, and the returned token. 5. Review compilation and re-export verification. On an uncertain outcome, read current state instead of retrying automatically.
1. Inspect the open project with `get_project_status` if needed. 2. Preview `open_project` by calling it without a `safetyToken`. 3. Apply the same request with `confirm:true` and its token. 4. Verify the worker-reported path with `get_project_status`.
1. Read the hardware catalog through `execute_read_batch` and copy the exact `typeIdentifier`. 2. Preview ordered add/configure operations in one `preview_write_batch` request. 3. Confirm the identity and networ
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
Repo: Czarnak/totally-integrated-claude
TIA Portal Add-In development in Visual Studio Code: creating Add-In C# projects, adding Add-In templates, compiling and debugging Add-Ins, converting Add-Ins…
Standalone skill for multi-perspective PLC code security and quality analysis. Triggers on: "review", "audit", "analyze", "security check", "vulnerability…
Internal reference skill — do NOT load directly from user queries.
Manual, read-only prerequisite probe for TIA Portal V21 and its modular Openness API, with optional Python TIA Scripting and TIA MCP checks.