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.00154 | $0.00899 |
| Opus 5 | $0.00077 | $0.00449 |
| Sonnet 5 | $0.00031 | $0.00180 |
| Haiku 4.5 | $0.00015 | $0.00090 |
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 10d 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 — 65 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.
When to use
- After
spec.validateis green and beforetia.scaffold, to preview the build. - The user says "plan / preview / dry-run / what would this create".
- To review ordering + assumptions (e.g. which CPU is the tag/block target) before committing.
Inputs
- A project-spec object (JSON) — inline, a file path, or pasted text.
- (Implicit) the bundled schema + rules used by
tia_spec_validate.
Outputs
status—plan_okorinvalid(with the validation violations if invalid).steps[]— the ordered operations, each{ op, method, path, body, summary }(subnets → devices → modules → network → tag tables → tags → blocks → compile).assumptions[]— e.g. "tag/block target CLP = the firstrole:cpudevice".warnings[]— non-blocking spec warnings.- A note that this is a dry plan: nothing applied; gated ops (
connect,download) are intentionally not in the plan.
Procedure (in order)
- Validate first. Call
tia_spec_validate(or run thespec.validateskill). If it reports anyerror, STOP and return the violations — do not plan an invalid spec. - Plan. Call
tia_spec_planwith the spec. It returns the orderedsteps+assumptions+warnings. (It is pure — no serve.) - Present for review. Show the steps in order with their
summary, surface the assumptions explicitly (especially the target CLP), and list any warnings. State thattia.scaffold(with a project open) is what actually applies this, and that a bare CPU will need the protection recipe to compile clean (seetia.scaffold/RECIPES.md).
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.
- 10d ago First seen · 65 lines · 154 tokens per session scan A 44ea6d8d1bf6
spec.plan is a skill published in the GitHub repository renanlido/tia-harness (5 stars, last pushed 1mo ago), licensed MIT. It adds 154 tokens to every session and 899 once invoked, about $0.0008 per session on Opus 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-08-31.
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.
recipe-create-meet-space
Create a Google Meet meeting space and share the join link.
atmos-validation
Validate Atmos projects, components, arbitrary JSON Schema inputs, EditorConfig, and GitHub Actions; use affected-file selection and native CI annotations.
atmos-config
Atmos root configuration: atmos.yaml discovery, precedence, deep merging, basepath, imports, minimal bootstrap, and routing to narrower Atmos skills.
detecting-privilege-escalation-in-kubernetes-pods
Detect and prevent privilege escalation in Kubernetes pods by monitoring security contexts, capabilities, and syscall patterns with Falco and OPA policies.
loop
Full execution protocol for MODE: LOOP — the compound-engineering loop: brainstorm → plan → build → review → improve, iterating under defense-in-depth stop conditions with generator/critic separation, durable resumable state, and mandatory compounding learning capture. Loaded on demand by the architect when the loop…