Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add renanlido/tia-harness --skill spec-plangit clone --depth 1 https://github.com/renanlido/tia-harnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/renanlido/tia-harness/spec-plan)<a href="https://agentmods.dev/skills/renanlido/tia-harness/spec-plan"><img src="https://agentmods.dev/badge/skills/renanlido/tia-harness/spec-plan/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/renanlido/tia-harness/spec-plan"><img src="https://agentmods.dev/badge/skills/renanlido/tia-harness/spec-plan.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00186 | $0.03061 |
| Opus 5.5 | $0.00074 | $0.01224 |
| Sonnet 5.5 | $0.00037 | $0.00612 |
| Haiku 4.5 | $0.00019 | $0.00306 |
Grade A, and why
spec-plan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.
spec-plan — spec → ordered build plan (class R, dry, no mutation)
Transform a structured project-spec (the project-spec model, §13.2) into the
ordered sequence of offline operations that tia-scaffold would execute — without
touching the project. This is the bridge between spec-validate (is the spec legal?) and
tia-scaffold (build it): it shows the plan so a human can review it first.
It is class R. Both tools it uses — tia_spec_validate and tia_spec_plan — are
pure: they run deterministically on the spec text and never call the serve API or
open TIA. So this never mutates and never crosses a gate.
One optional step comes after the plan (step 4, Impact on the open project): with a project
already open it reads, through serve, how the existing objects the plan would write to are
cross-referenced. It is only a read, it never changes the plan and the plan never waits for it.
Errors and reporting
- Needs no
serveand no TIA Portal: thetia_*tools named here are pure and offline, so do not calltia_ping. If they are not in the tool list, say so and use the fallback this skill names, or stop. - Report the tool's answer as returned (violations,
error,kind,hint) and state what was done and what was not. Never fix the input silently, never retry with changed input to get past a failure, and never report success after an error. - The first bullet covers
tia_spec_validateandtia_spec_plan. The optionalImpact on the open projectstep (step 4) is the only part that reads throughserve: only there calltia_ping, and only after the plan is presented. If it cannot run or fails (serveunreachable or not activated, no project open,tia_crossrefsor a read tool missing, a tool error), sayimpact not readwith the reason (quoteerror,kindandhintverbatim for a tool error) and keep the plan as the answer. Never block or withdraw the plan on it, and never retry with changed arguments beyond the repeats step 4 names. - On the reads of step 4,
status:"running"+jobId(onlytia_crossrefsanswers it) andkind:"busy"are not failures and are handled differently.status:"running"+jobIdidentifies THIS request: polltia_job_status {jobId}until the final result and never repeat the call; after atimeout, check the state before repeating anything.kind:"busy"means another job holds the serve and THIS request did not run: wait for that job withtia_job_status {jobId}, taking thejobIdfromdetails.jobId, never use that job's result for this read, then repeat the same read once with unchanged arguments; if it answersbusyagain, sayimpact not readwith the reason. - Also on the reads of step 4: a
409cursor_stale, orcoveragecounts that differ between pages, restarts that object's page walk from the first page, once for each, and a page that arrives with an omission marker is repeated with a smallerlimit, at most three times; step 4 says how. A read that cannot be completed is reported asimpact not completewith the reason, never as an absence of impact.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago Changed · +75 lines · +30 tokens per session 53f097348d39
- 10d ago First seen · 71 lines · 156 tokens per session scan A 3abaf577bb86
spec-plan is a skill published in the GitHub repository renanlido/tia-harness (11 stars, last pushed 4d ago), licensed MIT. It adds 186 tokens to every session and 3,061 once invoked, about $0.0007 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-18.
Other skills, from other repositories
tiaportal-mcp
A skill for controlling Siemens TIA Portal, the engineering software used to configure Siemens PLCs and HMIs. It works through an MCP server, a tool connection that lets an agent inspect and change projects.
iaiops-building
Building edition of iaiops — facility / HVAC / BMS / 厂务 over BACnet/IP (ASHRAE 135): Who-Is discovery, object/point lists, presentValue snapshots, COV capture, TrendLog reads, one MOC-gated property write; plus Modbus-TCP/RTU for meters/chillers and optional plain MQTT for IoT sensors, with the cross-protocol brain.…
iaiops-factory
Factory edition of iaiops — discrete-manufacturing lines: OPC-UA, Modbus-TCP/RTU, Siemens S7comm (S7-300/400/1200/1500), Mitsubishi MC/MELSEC, Omron FINS (CS/CJ/CP/NX), Allen-Bradley EtherNet/IP (ControlLogix/CompactLogix), EtherCAT (CoE/SOEM), PROFINET (DCP discovery), MTConnect (CNC machine tools), IO-Link (master…
iaiops-pharma
Pharmaceutical-manufacturing edition of iaiops — GMP drug/biologics plants as a distinct vertical from generic buildings and municipal water. BACnet/IP BMS+EMS (cleanroom pressure cascade, temperature/RH), Modbus (PW/WFI skids, stills, EDI, analysers), HART-IP (conductivity / TOC / level transmitters), OPC-UA (DCS…
iaiops-clinical
Clinical-facility edition of iaiops — hospital / healthcare facilities as a distinct vertical from generic building management, with patient-safety framing. BACnet/IP BMS (isolation-room pressurization + medical-gas source monitoring), Modbus (medical-gas alarm panels / energy meters), OPC-UA (plant SCADA), plus the…
iaiops-process
Process-industry edition of iaiops — chemical / pharma / food & beverage / oil & gas plants: HART-IP process instrumentation (transmitters, valve positioners, loop current), OPC-UA (DCS / gateway read), Modbus-TCP/RTU (skids, analyzers), optional MQTT/Sparkplug B UNS, plus the cross-protocol brain (downtime…