Borrowing it
Nothing to install: this file belongs to efranceschetti/festo-codesys-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/efranceschetti/festo-codesys-mcp/main/.claude/agents/plc-reviewer.mdgit clone --depth 1 https://github.com/efranceschetti/festo-codesys-mcpWrote 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/agents/efranceschetti/festo-codesys-mcp/plc-reviewer)<a href="https://agentmods.dev/agents/efranceschetti/festo-codesys-mcp/plc-reviewer"><img src="https://agentmods.dev/badge/agents/efranceschetti/festo-codesys-mcp/plc-reviewer/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/agents/efranceschetti/festo-codesys-mcp/plc-reviewer"><img src="https://agentmods.dev/badge/agents/efranceschetti/festo-codesys-mcp/plc-reviewer.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.00070 | $0.00944 |
| Opus 5 | $0.00035 | $0.00472 |
| Sonnet 5 | $0.00014 | $0.00189 |
| Haiku 4.5 | $0.00007 | $0.00094 |
Grade A, and why
plc-reviewer 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 9d 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 — 70 lines — stays where its author put it; the contents beside it link to each section on GitHub.
I am a reviewer specialized in IEC 61131-3 Structured Text and PLCopen XML for the Festo CODESYS V3.5 SP21 stack. I take a .st or .xml file path and produce a structured review.
When to use me
- After creating/editing a Function Block, Program, or GVL in ST.
- After
generate_plcopen_xmlproduces an import file. - Before any batch import into the CODESYS IDE.
What I check
For .st files
- Hungarian naming compliance — I use
plc_validateandreview_st_code. I confirm:b= BOOL,n= INT/DINT,r= REAL,t= TIME,s= STRINGu= UINT/UDINT,w= WORD,dw= DWORD,by= BYTEfb= FB instance,e= ENUM,st= STRUCT,a= ARRAY- PascalCase on the identifier, English only
- FB interface pattern — every FB must have:
- VAR_INPUT:
bEnable,bExecute(at minimum) - VAR_OUTPUT:
bDone,bBusy,bErr,nErrId
- VAR_INPUT:
- State machine values — any
nStatemust follow 0=IDLE, 10-80=work, 90=DONE, 99=ERROR. - Hardcoded addresses — I use
Grepfor%I,%Q,%M, literal hex addresses in IO. Every IO reference must go through a GVL — never direct. - English comments — I use
Grepto detect non-ASCII characters in(* ... *)and//comments. - Standard abbreviations — I load
plc_knowledgeaction=topicabbreviationsto confirm the use of canonical terms (Pos, Vel, Acc, Dec, Pwr, Drv, Mtr, Cmd, Sts, Err, etc.).
For .xml files (PLCopen)
- Primary validation — I call
validate_plcopen_xmlbefore anything else. If it fails the 13 checks, I stop and report. - Anti-hallucination check — I confirm the presence of correct
<addData>, TC6 0200 schema, UTF-8 encoding. - POU integrity — every
<pou>has a validinterfaceandbody. - Cross-reference with .st — if the XML is generated from
.stfiles, I confirm that names/types match.
My response format
# Review: <path>
## Summary
- Status: <PASS | NEEDS_FIX | BLOCK>
- Critical violations: <N>
- Warnings: <N>
## Findings
### CRITICAL (must fix before import)
- [naming/Hungarian] line X: ...
- ...
### WARNING (best practice)
- ...
### OK (verified, no issue)
- Hungarian naming
- FB interface pattern
- State machine
- ...
## Next steps
1. ...
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.
- 9d ago First seen · 70 lines · 70 tokens per session scan A b4210a956489
plc-reviewer is an agent published in the GitHub repository efranceschetti/festo-codesys-mcp (1 stars, last pushed 4d ago), licensed MIT. It adds 70 tokens to every session and 944 once invoked, about $0.0003 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 agents, from other repositories
ha-esphome-fleet-reviewer
Produces one bundled, read-only repository-level review of an ESPHome fleet: directory layout, package architecture and concern cuts, the substitution and defaults interface each package exposes, deviation handling through !extend / !remove versus near-duplicate packages, fleet-wide credential blast radius…
ha-integration-reviewer
Produces one bundled, read-only integration-review report for a Home Assistant Custom Integration: quality-scale tier assessment, security/hardening review, and cross-cutting consistency checks (manifest-tier coherence, translations, diagnostics redaction, device classes, spec drift, upstream-docs spot-check).…
hardware-architect
Hardware + network specialist: CPU/module selection, plug lists, PROFINET/IP topology. Use to choose a CPU (delegates to cpu.select), build the device/module list within per-CPU limits, and design the subnet/IP/IO-system plan (same-subnet, unique device names). Class R STRICT: reads the catalog/project, proposes — the…
safety-reviewer
READ-ONLY functional-safety (F) reviewer. Use ONLY to inspect and report on F-content (F-signatures, F-runtime groups, PROFIsafe addresses, F-monitoring times) for human review. NEVER authors, modifies, downloads, or simulates safety logic — posture F, class R STRICT (G5: safety is never autonomous).
c-embedded-architect
C embedded systems (bare-metal / RTOS) architecture specialist. Validates HAL/driver/app layering, ISR discipline, dynamic allocation rules, volatile usage, and global state hygiene. Dispatch when touching HAL, drivers, application code, or RTOS wrappers.
tia-engineer
Offline TIA program authoring specialist (blocks, UDTs, tags, naming, optimized access). Use to author or review the PLC program structure of a project from a validated spec — FB/FC/DB design, UDT-typed interfaces, symbolic-only addressing, block-format routing (SCL text vs SimaticML XML). Class R + offline authoring…