Skip to content
Automation
Skill

/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 from older TIA Portal versions and configuring Add-In project parameters.

From plugin
totally-integrated-claude
8718 skills1 MCP

Claude Code

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

SKILL.md

addin-operations.SKILL.md
name: addin-operations
description: >
  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 from older TIA Portal versions and configuring Add-In project parameters.
license: MIT
allowed-tools: Bash(dotnet new *)

TIA Portal Add-In Development — Visual Studio Code

Source: TIA Portal Add-In Development Tools Manual (11/2025)

Scope

Add-In development in VS Code using C# and the dotnet Add-In SDK. Do not mix with Python wrapper calls.

---

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/api-surface.md` | Choosing provider/add-in types; VCI or CAx workflow item types; workflow-to-assembly mapping | | `references/api-menus.md` | Building context menu structures; action items; submenus; selection handling | | `references/api-permissions.md` | Starting external processes; handling ProcessStartPermission | | `references/assembly-references.md` | Adding PLC software, block, or tag access to an Add-In csproj | | `references/attribute-helper.md` | Reading/writing engineering object attributes via `GetAttributeInfos` or `SetAttributes` | | `references/threading-and-callbacks.md` | Add-In execution lifetime; notifications and confirmations; separate-process UI; status callback constraints | | `references/runtime-gotchas.md` | Unsupported assembly-path resolution; managed dependency packaging; SplitContainer sizing crashes; WinForms `.resx` sandbox failures; version fields; engineering-object field warnings | | `references/package-and-publisher.md` | `.addin` package internals; V21 publisher config; `PlatformTarget`; verifying a published package | | `references/migrate-from-older-version.md` | Converting a V20 (or earlier) Add-In to V21; decompiling an existing `.addin` when source is lost | | `references/skeleton.md` | Starting a new context-menu Add-In from scratch |

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

---

Execution pattern

1. Pick the Add-In type → run `dotnet new <template>` (see template table below) 2. Decide which TIA Portal objects the Add-In must access; if PLC/SW/HW → load `references/assembly-references.md` 3. Implement `BuildContextMenuItems` — status callback returns `MenuStatus.Enabled`, guard logic goes in the action callback 4. For UI: use callback-scoped `MessageBoxProvider`, or a permitted separate process for long-lived/custom UI → load `references/threading-and-callbacks.md` 5. Before distributing: compile with "Run build task", debug with F5

---

Task: Create new Add-In C# project

Procedure

1. Open the Windows command prompt with administrator privileges. 2. (Optional) Navigate to the desired project location, or use the `--output` parameter. 3. Run:

   dotnet new addin-project [options]

Essential parameters

| Parameter | Long form | Short | Description | |-----------|-----------|-------|-------------| | output | --output | -o | Project folder. If not specified, project is created in the current directory. | | name | --name | -n | Project name. If not specified, the parent directory name is used. | | Namespace | --Namespace | -N | C# namespace. Default is derived from output directory or project name. | | TIAAccess | --TIAAccess | -TI | Authorization level: `ReadWrite` (default) or `ReadOnly`. |

Example

dotnet new addin-project -o C:\MyAddIns\MyFirstAddIn -n MyAddinProject -N MyAddinNamespace -TI ReadWrite

Additional parameters

The following parameters can also be set at creation time but are **editable later in `Config.xml`** inside the project directory: Author, Description, AddInVersion, ProductName, ProductId, ProductVersion, UnrestrictedAccess, JustificationComment.

Result

A new project is created containing the framework for an empty Add-In that can be built. The project directory contains `Config.xml` for changing parameters after creation.

---

Task: Add an Add-In template to existing project

Procedure

1. Open the Windows command prompt with administrator privileges. 2. Navigate to the project directory (or use `--output`). 3. Run:

   dotnet new <Add-In-Type> [-o <output dir>] [-n <name>] [-N <namespace>]

Replace `<Add-In-Type>` with the short name from the table below.

Available templates

**addin-project-tree-menu** — TIA Portal Project-Tree Context Menu Add-In Adds custom entries to the right-click menu of the project tree. Use cases: automating operations on blocks, tag tables, or devices; batch-exporting selected items; running custom validations on project tree objects.

**addin-project-library-tree-menu** — TIA Portal Project-Library-Tree Context Menu Add-In Adds custom entries to the right-click menu of the project library tree. Use cases: custom library management operations; automated copying or versioning of library types; bulk operations on library elements.

**addin-global-library-tree-menu** — TIA Portal Global-Library-Tree Context Menu Add-In Adds custom entries to the right-click menu of a global library. Use cases: synchronizing global library content with external systems; enforcing naming conventions across library elements; automated library maintenance tasks.

**addin-devices-and-networks-menu** — TIA Portal Devices and Networks Context Menu Add-In Adds custom entries to the right-click menu of the hardware and network editor. Use cases: automated network configuration; bulk device parameter changes; generating device reports or hardware bills of materials.

**addin-vci-editor** — TIA Portal VCI Editor Add-In Adds entries to the workspace area of the Version Control Interface workspace editor. These entries are always visible and should contain general-purpose functions. For repository-specific operations, use the VCI Import or VCI Export templates

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…

n8n2w209k
@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 addin-operations.

Which coding agents can use addin-operations?
addin-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.