From TIA Portal Automation Harness
Prepare a human-approval envelope for a GATED operation — download / CPU-STOP (G3), go-online (G4), network scan (G7), master-secret/UMAC (G6), safety/F (G5). Use when the user wants to "download / deploy / go online / commission", or after tia.verify is clean and the next step touches the physical controller. Class GATE: this skill NEVER performs the gated action — it produces the plan + planHash + exactly what the human must approve, and the precise resume call. The AI never approves, never invents a secret, never deploys F autonomously.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tia-harness:tia.handoffThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The harness is an **assistant up to the gate, never an autonomous commissioner**. Anything
The harness is an assistant up to the gate, never an autonomous commissioner. Anything
that touches the physical controller, the network, secrets, or safety stops here: this
skill assembles the approval envelope (requires_human_action) — what can be done, what
the human must do, the plan + hash, and the exact resume call — and then stops.
tia.verify is clean and the user wants to download / deploy / go online / scan / commission.| Gate | Action | Tool | What the human must approve |
|---|---|---|---|
| G1 | open/connect project (1st time) | tia_connect (+ tia_show_ui) | confirm the TIA trust dialog on the serve host |
| G3 | download (CPU STOP → overwrite → restart) | tia_download | the load preview: StopAll, OverwriteSystemData, StartModule |
| G4 | go online (connect to live CPU) | tia_online | it is safe to connect to the target machine |
| G7 | network scan (accessible devices) | tia_accessible_devices | probing the local network via the PG/PC NIC |
| G6 | master secret / UMAC | tia_mastersecret_set, connect umac* | supply the secret (human/credential vault) |
| G5 | safety/F author·modify·download | — | never autonomous; F deploy is a human, gated action |
tia_compile is clean (errors:0) via
tia.verify. Never prepare a download for an inconsistent project.tia_accessible_devices (needs confirm:true,
a network scan → itself a gate) or tia_connections_diagnose.tia_download { dryRun:true } → returns plan, planHash,
loadPreview (StopAll / Overwrite / StartModule), and the Gd9 note. Nothing is sent.requires_human_action):
canDo — e.g. "download to PLC_1".youMustDo — the concrete physical consequence (the CPU will STOP, system data is
overwritten, the CPU restarts) + confirm it is safe on the target line.plan + planHash — the exact binding.resume — the precise call a human runs after approving: tia_download { approved:true, planHash:"<the hash>", ... } (the same plan; the hash binds approval to the reviewed plan).tia_download with approved:true yourself. A human approves
out-of-band and runs the resume call (or explicitly instructs you to, with the hash).approved:true + a matching planHash only ever
come from an explicit human decision..mcp.json.safety-reviewer is read-only.planHash from the dry-run
— a changed plan invalidates the approval (re-review).npx claudepluginhub renanlido/tia-harness --plugin tia-harnessGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.