tia-openness-roadmap — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited tia-openness-roadmap (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Route the task to the correct implementation path and load the right skill files.
request to skip Python, C#, or live operations).
phases, .tiares, generated/custom ownership, and MAC packaging or qualification.
For review/security/quality analysis of pasted or exported PLC code, use plc-code-analysis as a standalone skill and do not load this roadmap. That skill accepts raw SCL/ST, SIMATIC SD, and SimaticML without authorizing engineering writes or live TIA operations.
Single skill owns all Python implementation:
| Skill | Location |
|---|---|
tia-python | skills/tia-python/SKILL.md |
tia-python contains its own reference file table that routes to the correct references/*.md file based on the task domain (PLC, HMI, library, project, portal).
Always starts with the common foundation skill, then domain skill(s):
| Skill | Location | Role |
|---|---|---|
tia-csharp-common | skills/tia-csharp-common/SKILL.md | Mandatory first load for every C# task |
tia-project-general | skills/tia-project-general/SKILL.md | Domain skill |
tia-devices-general | skills/tia-devices-general/SKILL.md | Domain skill |
tia-hmi-operations | skills/tia-hmi-operations/SKILL.md | Domain skill |
tia-plc-operations | skills/tia-plc-operations/SKILL.md | Domain skill |
tia-networks | skills/tia-networks/SKILL.md | Domain skill |
tia-simatic-drives | skills/tia-simatic-drives/SKILL.md | Domain skill |
tia-import-export | skills/tia-import-export/SKILL.md | Domain skill |
tia-multiuser | skills/tia-multiuser/SKILL.md | Domain skill |
tia-teamcenter | skills/tia-teamcenter/SKILL.md | Domain skill |
tia-testsuite | skills/tia-testsuite/SKILL.md | Domain skill |
tia-sivarc | skills/tia-sivarc/SKILL.md | Domain skill |
Dedicated higher-level path for Siemens Modular Application Creator source and Module Builder workflows:
| Skill | Location |
|---|---|
tia-mac-module-builder | skills/tia-mac-module-builder/SKILL.md |
Use it for TiaEquipmentModule, MAC lifecycle/model/use-case code, .tiares, generated library wrappers, packaging, MacFunctionTest, and MacGenerationTest. If the module directly uses raw Siemens.Engineering objects, also route that part through the C# common and domain skills.
Standalone skill for TIA Portal Add-In development (always C#, VS Code workflow):
| Skill | Location |
|---|---|
addin-operations | skills/addin-operations/SKILL.md |
| Task pattern | Implementation | Skill |
|---|---|---|
| prerequisite / environment / missing install diagnostics | Diagnostic probe | tia-doctor |
| open/create/save/archive/retrieve project | Python | tia-python |
| project server / local session / portal attach | Python | tia-python |
| PLC blocks / tags / UDTs / sources / compile | Python | tia-python |
| PLC online / download / compare-to-online | Python | tia-python |
| HMI tags / screens / scripts / alarms / lists | Python | tia-python |
| HMI import/export / compile | Python | tia-python |
| library types / versions / instantiate / update | Python | tia-python |
| XML / SimaticML / AML / CAx import/export | Python | tia-python |
| generic device compile / upgrade / properties | Python | tia-python |
| topology / subnet / node / IO-system / port | C# | tia-networks |
| Startdrive / SINAMICS / drive controller | C# | tia-simatic-drives |
| device item slot/subslot/module manipulation | C# | tia-devices-general |
| advanced PLC online/security/upload services | C# | tia-plc-operations |
| advanced Classic or Unified HMI / screen items / runtime | C# | tia-hmi-operations |
| VCI / version control interface | C# | tia-project-general |
| project/global libraries, master copies, library types/versions, library update or harmonization | C# | tia-project-general |
| multiuser engineering / server projects / local sessions | C# | tia-multiuser |
| Teamcenter integration / managed projects | C# | tia-teamcenter |
| automated testing / TestSuite / application test / style guide / system test | C# | tia-testsuite |
| SiVArc rules / definitions / expression resolver / layout data / generation | C# | tia-sivarc |
Modular Application Creator / MAC / Module Builder / TiaEquipmentModule / .tiares | MAC Module Builder | tia-mac-module-builder |
| MAC function tests / generation tests / packaging | MAC Module Builder | tia-mac-module-builder |
| TIA Portal Add-In / addin-project / .addin | C# | addin-operations |
Apply the user's explicit implementation/scope choice before these defaults.
Choose Python when the exact required operation exists in the tia-python reference files.
Choose MAC Module Builder when the task's primary artifact is a Modular Application Creator module, Module Builder resource/generation input, or MAC package/test project. This path is source-first; it does not itself authorize a live generation run.
Choose C# when:
Use this exact structure:
Use skill(s): ...Implementation path: Python or Implementation path: C# Openness or Implementation path: MAC Module Builder or Implementation path: Diagnostic probeReason: ...Execution order: ...If Diagnostic probe: read skills/tia-doctor/SKILL.md and run its probe command. Report the probe output and remediation items. Do not create or modify projects.
If Python: read skills/tia-python/SKILL.md, then load the reference file(s) it points to for the task domain. Do NOT load domain skills — they are for C# only.
If MAC Module Builder: read skills/tia-mac-module-builder/SKILL.md, then load only the reference file(s) selected by its reference table. If direct raw Openness work is required, additionally follow the C# path for that domain.
If C#:
skills/tia-csharp-common/SKILL.md first — always, for every C# task.SKILL.md of each selected domain skill, then load only thereferences/*.md file(s) that skill's own reference table (or its reference_catalogue.md, where present) points to for the task.
If Add-In: read skills/addin-operations/SKILL.md. No other skills needed.
Do NOT write code based solely on the routing response — always load the skill files first.
If implementation starts in Python and the required call is not documented:
tia-csharp-common first, then the domain skill~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.