Borrowing it
Nothing to install: this file belongs to georgeturneruk/tckit. 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/georgeturneruk/tckit/main/.claude/skills/tc-build-test-loop/SKILL.mdgit clone --depth 1 https://github.com/georgeturneruk/tckitWrote 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/georgeturneruk/tckit/tc-build-test-loop)<a href="https://agentmods.dev/skills/georgeturneruk/tckit/tc-build-test-loop"><img src="https://agentmods.dev/badge/skills/georgeturneruk/tckit/tc-build-test-loop/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/georgeturneruk/tckit/tc-build-test-loop"><img src="https://agentmods.dev/badge/skills/georgeturneruk/tckit/tc-build-test-loop.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.00162 | $0.01944 |
| Opus 5 | $0.00081 | $0.00972 |
| Sonnet 5 | $0.00032 | $0.00389 |
| Haiku 4.5 | $0.00016 | $0.00194 |
Grade A, and why
tc-build-test-loop 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 8d 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 — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Build / deploy / test loop
Analyse first
Before the first Build of a cycle, call AnalyseProject(projectPath, severity: "warning"). It parses the project files offline, so it needs no XAE and returns in under a second against a build's tens of seconds, and it catches a class of defect a green build cannot rule out: a function block instance on a call stack whose state resets every call, floating-point equality, retention that cannot retain, a global with two writers.
severity: "warning"keeps naming suggestions out of the way. Raise it tosuggestiononly when the user asked about conventions.- Fix what it reports before building. These are not build errors, so building first tells you nothing about them.
- Check
skippedandconfig_warnings. A short finding list next to a longskippedlist means coverage was partial, not that the project is clean. - One pass per cycle, not per fix. Re-run it after the build-fix loop settles if you changed much.
This does not replace the build. It is cheaper, so it goes first.
Build-fix loop
- Call
Build(project_path)with an absolute path to the.sln(or.tsproj). For multi-PLC solutions, passplc_name=<consumer>on the same call; see "Multi-PLC builds with library references" below. - If
success: true:- If a
docs_warningfield is present, this is non-fatal — note it for the user but do NOT loop on it. - Proceed to deploy/test as the user requested.
- If a
- If
success: false, take the first error in the JSON list. Read the offending file viaGetPouItemif needed. Fix that one file only. - Rebuild. Do not batch fixes across files.
- Two-strikes rule. If the same error message on the same file/line persists after a second fix attempt, STOP. Present the error, your two attempts, your hypothesis, and ask the user.
Where targetAmsId comes from
Deploy, StartRuntime, and RunTests take a required targetAmsId parameter; there is no env-var or config-file default. If you don't know the target, ask the user rather than guessing or hunting through the filesystem.
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.
- 8d ago First seen · 85 lines · 162 tokens per session scan A d0c4035c642a
tc-build-test-loop is a skill published in the GitHub repository georgeturneruk/tckit (5 stars, last pushed 14d ago), licensed MIT. It adds 162 tokens to every session and 1,944 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
jetson-video-pipeline
Use when executing and verifying Jetson Video Codec SDK or PyNvVideoCodec encode/decode, transcode, segmentation, container decode, AV1, or acceptance workflows with exact artifact handoffs.
jetson-validate-image
Use after jetson-flash-image to run static BSP checks, on-target smoke/regression tests on a flashed DUT, or both. Not for build or flash steps. Triggers: validate bsp, on-target validation.
holohub-app-lifecycle
Use for non-failing HoloHub app work with ./holohub: scaffold, build, run, test, visual evidence, lint, and flow benchmarking.
ros2-robotics
Best practices for ROS 2 robotics development, covering package structure, nodes, topics/services/actions, launch files, QoS, tf2 transforms, and testing. Use when creating ROS 2 packages, writing nodes in rclpy or rclcpp, defining custom messages/services/actions, writing launch files, configuring QoS profiles…
code-plan
Turn a task description and repository into a structured implementation plan (files to create, files to modify, tests to add, risks).
SmartHome Video Anomaly Benchmark
VLM evaluation suite for video anomaly detection in smart home camera footage.