{"id":"3df7cfec-e8fe-4b72-9ad5-a6bbcee346b8","shortId":"PTMZhf","kind":"skill","title":"tia-plc-operations","tagline":"C# Openness implementation of PLC software engineering.","description":"# tia-plc-operations\n\n## Scope\n\nPLC software engineering — full C# Openness implementation.\n\nWhen the roadmap routes here, the entire solution is C#.\nDo not mix with Python wrapper calls.\nAlways load `tia-csharp-common` first (done by roadmap).\n\n---\n\n## Reference files\n\nLoad ONLY the reference file(s) relevant to the task. Do not load all files at once.\n\n| Reference file | Load when the task involves |\n| --- | --- |\n| `references/online-status.md` | Going online/offline, reading PLC state, configuring connection parameters, `OnlineProvider`, `OnlineState`, `ConnectionConfiguration` |\n| `references/compare.md` | Comparing PLC software or hardware, `CompareResult`, `CompareResultState`, `CompareToOnline`, `UpdateProgram` |\n| `references/blocks.md` | Program blocks, system blocks, `PlcSoftware` root, know-how/write protection, block groups, ProDiag-FB, DataBlock snapshots, compile individual block/UDT, fingerprints, webserver pages, OB priority, loadable file |\n| `references/external-sources.md` | PLC external source files, importing/generating blocks from sources, `PlcExternalSource`, `PlcExternalSourceGroup` |\n| `references/tags-types.md` | PLC tag tables, tags, user constants, system constants, UDTs, PLC types, UDT group navigation |\n| `references/software-units.md` | Software units (`PlcUnit`), `PlcUnitProvider`, unit relations, unit access/publish, namespaces, name value type documents |\n| `references/safety-unit.md` | Fail-safe unit (`PlcSafetyUnit`), SafetyUnit access, safety relations, publish safety blocks |\n| `references/safety-administration.md` | Global safety settings, `SafetyAdministration`, safety signature, safety system version, safety runtime groups, safety validation assistant |\n| `references/alarms.md` | PLC alarms, alarm classes, alarm text lists, `PlcAlarmTextProvider` |\n| `references/technological-objects.md` | Technological Objects (TOs), motion control, axes, encoders, TO mapping, hardware connections |\n| `references/watch-force-tables.md` | Watch tables, force tables, `PlcWatchTable`, `PlcForceTable`, watch entries |\n| `references/opc-ua.md` | OPC UA server interfaces, OPC UA communication groups, access control, role mapping |\n| `references/supervision.md` | Supervision settings, supervision provider, supervision export/import |\n\nFor tasks spanning multiple areas, load all relevant reference files before generating code.\n\n---\n\n## Stub behaviour\n\nIf a task targets a partial reference file, do not invent API calls.\nState clearly which sections are missing. The only remaining stub is import/export\nsignatures in `compile-import-export.md` — all other files are complete.\n\n---\n\n## Execution pattern\n\n1. Access `PlcSoftware` via device's `SoftwareContainer`\n2. Identify which reference file(s) cover the task — load them\n3. Navigate Openness object model per reference file patterns\n4. For online work: use `OnlineProvider` service on the CPU `DeviceItem` (see `online-status.md`)\n5. For compare: use `CompareTo` / `CompareToOnline` on `PlcSoftware` or `Device` (see `compare.md`)\n6. For software units: access via `PlcUnitProvider` service on `PlcSoftware` (see `software-units.md`)\n7. For safety unit: access via `PlcUnitProvider.UnitGroup.SafetyUnits` (see `safety-unit.md`)\n\n## Access pattern (always needed)\n\n```csharp\nusing Siemens.Engineering.HW.Features;\nusing Siemens.Engineering.SW;\n\n// From a DeviceItem (CPU)\nSoftwareContainer sc = deviceItem.GetService<SoftwareContainer>();\nPlcSoftware plcSoftware = sc?.Software as PlcSoftware;\n```","tags":["tia","plc","operations","totally","integrated","claude","czarnak","agent-skills","claude-code","claude-code-plugin","claude-skills","codex"],"capabilities":["skill","source-czarnak","skill-tia-plc-operations","topic-agent-skills","topic-claude-code","topic-claude-code-plugin","topic-claude-skills","topic-codex","topic-codex-cli","topic-codex-plugin","topic-gemini","topic-gemini-cli","topic-gemini-cli-extension","topic-gemini-extension","topic-mcp"],"categories":["totally-integrated-claude"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/Czarnak/totally-integrated-claude/tia-plc-operations","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add Czarnak/totally-integrated-claude","source_repo":"https://github.com/Czarnak/totally-integrated-claude","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 9 github stars · SKILL.md body (3,510 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:30.363Z","embedding":null,"createdAt":"2026-05-18T13:13:58.539Z","updatedAt":"2026-05-18T19:08:30.363Z","lastSeenAt":"2026-05-18T19:08:30.363Z","tsv":"'/write':109 '1':297 '2':304 '3':315 '4':324 '5':337 '6':349 '7':361 'access':175,236,298,353,365,370 'access/publish':162 'alarm':199,200,202 'alway':41,372 'api':273 'area':251 'assist':196 'axe':212 'behaviour':261 'block':101,103,111,134,180 'block/udt':120 'c':5,21,33 'call':40,274 'class':201 'clear':276 'code':259 'common':46 'communic':234 'compar':90,339 'compare.md':348 'compareresult':95 'compareresultst':96 'compareto':341 'comparetoonlin':97,342 'compil':118 'compile-import-export.md':289 'complet':294 'configur':83 'connect':84,217 'connectionconfigur':88 'constant':145,147 'control':211,237 'cover':310 'cpu':333,382 'csharp':45,374 'datablock':116 'devic':301,346 'deviceitem':334,381 'deviceitem.getservice':385 'document':167 'done':48 'encod':213 'engin':11,19 'entir':30 'entri':226 'execut':295 'export/import':246 'extern':130 'fail':170 'fail-saf':169 'fb':115 'file':52,57,67,71,127,132,256,269,292,308,322 'fingerprint':121 'first':47 'forc':221 'full':20 'generat':258 'global':182 'go':78 'group':112,152,193,235 'hardwar':94,216 'identifi':305 'implement':7,23 'import/export':286 'importing/generating':133 'individu':119 'interfac':231 'invent':272 'involv':76 'know':107 'know-how':106 'list':204 'load':42,53,65,72,252,313 'loadabl':126 'map':215,239 'miss':280 'mix':36 'model':319 'motion':210 'multipl':250 'name':164 'namespac':163 'navig':153,316 'need':373 'ob':124 'object':208,318 'onlin':326 'online-status.md':336 'online/offline':79 'onlineprovid':86,329 'onlinest':87 'opc':228,232 'open':6,22,317 'oper':4,15 'page':123 'paramet':85 'partial':267 'pattern':296,323,371 'per':320 'plc':3,9,14,17,81,91,129,140,149,198 'plcalarmtextprovid':205 'plcexternalsourc':137 'plcexternalsourcegroup':138 'plcforcet':224 'plcsafetyunit':173 'plcsoftwar':104,299,344,358,386,387,391 'plcunit':157 'plcunitprovid':158,355 'plcunitprovider.unitgroup.safetyunits':367 'plcwatchtabl':223 'prioriti':125 'prodiag':114 'prodiag-fb':113 'program':100 'protect':110 'provid':244 'publish':178 'python':38 'read':80 'refer':51,56,70,255,268,307,321 'references/alarms.md':197 'references/blocks.md':99 'references/compare.md':89 'references/external-sources.md':128 'references/online-status.md':77 'references/opc-ua.md':227 'references/safety-administration.md':181 'references/safety-unit.md':168 'references/software-units.md':154 'references/supervision.md':240 'references/tags-types.md':139 'references/technological-objects.md':206 'references/watch-force-tables.md':218 'relat':160,177 'relev':59,254 'remain':283 'roadmap':26,50 'role':238 'root':105 'rout':27 'runtim':192 'safe':171 'safeti':176,179,183,186,188,191,194,363 'safety-unit.md':369 'safetyadministr':185 'safetyunit':174 'sc':384,388 'scope':16 'section':278 'see':335,347,359,368 'server':230 'servic':330,356 'set':184,242 'siemens.engineering.hw.features':376 'siemens.engineering.sw':378 'signatur':187,287 'skill' 'skill-tia-plc-operations' 'snapshot':117 'softwar':10,18,92,155,351,389 'software-units.md':360 'softwarecontain':303,383 'solut':31 'sourc':131,136 'source-czarnak' 'span':249 'state':82,275 'stub':260,284 'supervis':241,243,245 'system':102,146,189 'tabl':142,220,222 'tag':141,143 'target':265 'task':62,75,248,264,312 'technolog':207 'text':203 'tia':2,13,44 'tia-csharp-common':43 'tia-plc-oper':1,12 'topic-agent-skills' 'topic-claude-code' 'topic-claude-code-plugin' 'topic-claude-skills' 'topic-codex' 'topic-codex-cli' 'topic-codex-plugin' 'topic-gemini' 'topic-gemini-cli' 'topic-gemini-cli-extension' 'topic-gemini-extension' 'topic-mcp' 'tos':209 'type':150,166 'ua':229,233 'udt':148,151 'unit':156,159,161,172,352,364 'updateprogram':98 'use':328,340,375,377 'user':144 'valid':195 'valu':165 'version':190 'via':300,354,366 'watch':219,225 'webserv':122 'work':327 'wrapper':39","prices":[{"id":"dfb12e86-00ed-487d-9ff8-3b1c4e618dd5","listingId":"3df7cfec-e8fe-4b72-9ad5-a6bbcee346b8","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"Czarnak","category":"totally-integrated-claude","install_from":"skills.sh"},"createdAt":"2026-05-18T13:13:58.539Z"}],"sources":[{"listingId":"3df7cfec-e8fe-4b72-9ad5-a6bbcee346b8","source":"github","sourceId":"Czarnak/totally-integrated-claude/tia-plc-operations","sourceUrl":"https://github.com/Czarnak/totally-integrated-claude/tree/main/skills/tia-plc-operations","isPrimary":false,"firstSeenAt":"2026-05-18T13:13:58.539Z","lastSeenAt":"2026-05-18T19:08:30.363Z"}],"details":{"listingId":"3df7cfec-e8fe-4b72-9ad5-a6bbcee346b8","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"Czarnak","slug":"tia-plc-operations","github":{"repo":"Czarnak/totally-integrated-claude","stars":9,"topics":["agent-skills","claude-code","claude-code-plugin","claude-skills","codex","codex-cli","codex-plugin","gemini","gemini-cli","gemini-cli-extension","gemini-extension","mcp","mcp-server","siemens","skills","tia-openness","tia-portal"],"license":"mit","html_url":"https://github.com/Czarnak/totally-integrated-claude","pushed_at":"2026-05-08T03:14:15Z","description":"A Claude Code plugin for Siemens TIA Portal engineering automation.","skill_md_sha":"5308018db1c019d4556df26e2b2cb75c127aa3c5","skill_md_path":"skills/tia-plc-operations/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/Czarnak/totally-integrated-claude/tree/main/skills/tia-plc-operations"},"layout":"multi","source":"github","category":"totally-integrated-claude","frontmatter":{"name":"tia-plc-operations","description":"C# Openness implementation of PLC software engineering."},"skills_sh_url":"https://skills.sh/Czarnak/totally-integrated-claude/tia-plc-operations"},"updatedAt":"2026-05-18T19:08:30.363Z"}}