siemens/tia-portal-ai-extensions/change-detection

Claude Code and agent skill by siemens/tia-portal-ai-extensions

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Detecting what changed in a TIA Portal project via Openness. Use when comparing project state over time, deciding whether a re-download/re-compile is needed, tracking library type versions, or checking if a PLC program or Safety configuration changed.

Install

npx vskill@latest install siemens/tia-portal-ai-extensions/change-detection

SKILL.md

Change Detection

Overview

Openness offers no single "diff" API. Instead, several targeted services and properties each answer a narrower question about what changed. Pick the right one for the question you're actually asking instead of re-reading and comparing the whole project.

Required Namespaces

csharp
using Siemens.Engineering;
using Siemens.Engineering.CrossReference;

Common Patterns

Choose the Right Change-Detection Service

Description: Match the question you need answered to the corresponding service or property. Re-reading and diffing an entire project tree is expensive (see `performance-and-caching`) — these services are purpose-built to be cheap and precise.

What you want to knowUse thisDetail
Is it the same object as seen last time?ObjectIdentifierProviderEach object has a stable, project-unique ID (see `performance-and-caching`)
Did a library type change?GUID + versionEach library type and version has its own globally unique GUID
Did the project change at all?ProjectBase timestampsCreationTime and LastModified (last save)
Did an object change at all?CreationDate / ModifiedDateMany project objects expose these properties (last edit)
Did the PLC program change at all?PlcChecksumProviderChecksum changes on edits; empty until fully compiled, resets to empty on program change until next compile
What exactly changed in Safety?SafetySignatureProviderMultiple, granular F-signatures for Safety administration and program blocks
What exactly changed in a block or PLC data type?FingerprintProviderFingerprints for code, interface, properties, comments and more, on program blocks and PLC data types
Where is an object used?CrossReferenceServiceContext such as unused, using, and used-by — see `blocks` for the full pattern
What does a library type or master copy bring along?LibraryTypeVersion / MasterCopyDependencies, Dependants, MasterCopiesContainingInstances on a LibraryTypeVersion; ContentDescriptions on a MasterCopy — see `global-library`
Check the PLC Program Checksum

Description: PlcChecksumProvider exposes a checksum that changes whenever the compiled PLC program changes. It is empty until the software has been fully compiled at least once, and resets to empty on further edits until the next compile.

Example:

csharp
PlcChecksumProvider checksumProvider = plcSoftware.GetService<PlcChecksumProvider>();
string checksum = checksumProvider.Checksum;
if (string.IsNullOrEmpty(checksum))
{
// Not compiled yet, or changed since last compile — trigger ICompilable.Compile() first
}

Key Types and Methods:

  • PlcChecksumProvider — service on PlcSoftware
  • PlcChecksumProvider.Checksum — empty when not (yet) compiled or when the program changed since the last compile
Check Fine-Grained Block/UDT Fingerprints

Description: FingerprintProvider exposes separate fingerprints for different aspects of a block or PLC data type (code, interface, properties, comments, etc.), letting you detect exactly what part changed instead of only whether something changed.

Example:

csharp
FingerprintProvider fingerprintProvider = block.GetService<FingerprintProvider>();
string interfaceFingerprint = fingerprintProvider.InterfaceFingerprint;
string codeFingerprint = fingerprintProvider.CodeFingerprint;

Key Types and Methods:

  • FingerprintProvider — service available on program blocks and PLC data types
  • Exposes separate fingerprints per aspect (code, interface, properties, comments, ...)
Check Safety Signatures

Description: SafetySignatureProvider exposes multiple, granular F-signatures used for Safety administration and Safety program blocks, allowing precise change tracking in Safety-relevant parts of a project.

Key Types and Methods:

  • SafetySignatureProvider — service exposing F-signatures for Safety administration and program blocks

Quick Reference

Method/PatternPurpose
ObjectIdentifierProviderConfirm the same object across sessions
GUID + version on a library typeDetect library type changes
ProjectBase.CreationTime / LastModifiedDetect any project-level change
CreationDate / ModifiedDateDetect any object-level change
PlcChecksumProvider.ChecksumDetect PLC program change (compile-state aware)
SafetySignatureProviderDetect Safety-specific changes via F-signatures
FingerprintProviderDetect fine-grained block/UDT changes (code, interface, comments, ...)
CrossReferenceService.GetCrossReferences()Find where an object is used

Related Files

Exception Handling

  • GetService<T>() for these providers throws if the object does not support that service — check object classification (e.g. only PlcSoftware supports PlcChecksumProvider) before requesting it.
  • A PlcChecksumProvider.Checksum of empty string is a valid state (not-yet-compiled or changed-since-compile), not an error — do not treat it as a failure.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/siemens/tia-portal-ai-extensions/change-detection/badge)](https://verified-skill.com/skills/siemens/tia-portal-ai-extensions/change-detection)

Something wrong with this skill or its page? Tell us.