Borrowing it
Nothing to install: this file belongs to GabrielOnDelphi/Claude-Tools-for-Delphi. 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/GabrielOnDelphi/Claude-Tools-for-Delphi/main/.claude/skills/light-review-RedGreen/SKILL.mdgit clone --depth 1 https://github.com/GabrielOnDelphi/Claude-Tools-for-DelphiWrote 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/gabrielondelphi/claude-tools-for-delphi/light-review-redgreen)<a href="https://agentmods.dev/skills/gabrielondelphi/claude-tools-for-delphi/light-review-redgreen"><img src="https://agentmods.dev/badge/skills/gabrielondelphi/claude-tools-for-delphi/light-review-redgreen/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/gabrielondelphi/claude-tools-for-delphi/light-review-redgreen"><img src="https://agentmods.dev/badge/skills/gabrielondelphi/claude-tools-for-delphi/light-review-redgreen.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00000 | $0.01526 |
| Opus 5 | $0.00000 | $0.00763 |
| Sonnet 5 | $0.00000 | $0.00305 |
| Haiku 4.5 | $0.00000 | $0.00153 |
Grade A, and why
light-review-RedGreen 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 — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/light-review-RedGreen — Test first, then make it pass
This skill enforces one discipline: a failing test that fails on its own assertion exists and is confirmed RED before any production code is written. Then you make it green. Nothing else.
Why it matters: a test written after the code is tautological — it confirms the code does what the code does, not what the requirement says. Red-first is the only cheap proof the test can actually fail.
Two entry modes
- New behavior — the test encodes the requirement the new code must satisfy. It is red because the behavior does not exist yet.
- Bug fix — the test reproduces the bug: it asserts the correct result and therefore fails against today's buggy code. Green then means the bug is fixed AND a regression test guards it forever. This is the highest-value use — never fix a bug without it, unless the bug is genuinely untestable (see "When not to use").
The loop (one behavior at a time)
- Locate the test project (usually
UnitTesting\Tests.dproj) and the unit under test. If the project has no test project, do NOT guess a layout — ask the user whether to create one (template:c:\AI\Claude Code\TEMPLATE FOLDER\UnitTesting (TEMPLATE)\) and wait. - Write ONE failing
[Test]for this behavior. It MUST:- use a real assertion (
Assert.AreEqual,Assert.IsTrue,Assert.WillRaise, …) — neverAssert.Passas the sole assertion, never zeroAssert.*calls; - assert behavior (a returned value, a raised exception, a state change), not "the type exists" or "the function is callable";
- have a name that states what is verified.
- use a real assertion (
- Confirm RED — and for the RIGHT reason. Compile the test
.dprojvia thelight-compileragent (see Compiling), then launch the test EXE yourself and read the DUnitX counts. The test must fail on its assertion (DUnitX reports a failure — e.g. "Expected 5 but got 0") — NOT fail to compile, and NOT error out for an unrelated reason. A compile error or an unexpected exception means the test is wrong; fix the test before writing any product code. - Green — implement the smallest change that makes it pass. Reuse LightSaber before writing new code — a
LightCore.*/LightVcl.*/LightFmx.*unit may already do it;usesthat unit instead of hand-rolling, and say you checked. Then compile via the agent, launch the EXE, and confirm the test now passes and nothing else went red. - Refactor only if needed, then re-run the EXE to confirm it is still green.
- Stop — do not commit. Leave the change for the user to review and commit; git is theirs to trigger.
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 · +10 lines 0dc1a2e01fd4
- 11d ago First seen · 63 lines · 0 tokens per session scan A 17276958d5a2
light-review-RedGreen is a skill published in the GitHub repository GabrielOnDelphi/Claude-Tools-for-Delphi (18 stars, last pushed 4d ago), licensed MPL-2.0. It costs nothing until one of its globs matches a file; then it loads 1,526 tokens. 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-30.
Other skills, from other repositories
kotlin-testing
Kotlin testing patterns with Kotest, MockK, coroutine testing, property-based testing, and Kover coverage. Follows TDD methodology with idiomatic Kotlin practices.
cpp-testing
Use only when writing/updating/fixing C++ tests, configuring GoogleTest/CTest, diagnosing failing or flaky tests, or adding coverage/sanitizers.
rust-testing
Rust testing patterns including unit tests, integration tests, async testing, property-based testing, mocking, and coverage. Follows TDD methodology.
typescript-test-writing
Use this skill when writing or modifying tests in the llxprt-code repository. Covers mandatory TDD, behavioral testing, bun:test conventions and file naming, mock hygiene (no mock theater), and what never to test. Distilled from dev-docs/RULES.md, which remains the source of truth.
python
Python development with ruff, mypy, pytest - TDD and type safety.
nw-fp-clojure
Clojure language-specific patterns, data-first modeling, REPL-driven development, and spec.