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 sonereraslan/local-marketplace --skill unity-tddgit clone --depth 1 https://github.com/sonereraslan/local-marketplaceWrote 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/sonereraslan/local-marketplace/unity-tdd)<a href="https://agentmods.dev/skills/sonereraslan/local-marketplace/unity-tdd"><img src="https://agentmods.dev/badge/skills/sonereraslan/local-marketplace/unity-tdd/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/sonereraslan/local-marketplace/unity-tdd"><img src="https://agentmods.dev/badge/skills/sonereraslan/local-marketplace/unity-tdd.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.00104 | $0.03076 |
| Opus 5 | $0.00052 | $0.01538 |
| Sonnet 5 | $0.00021 | $0.00615 |
| Haiku 4.5 | $0.00010 | $0.00308 |
Grade A, and why
unity-tdd 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 — 359 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test-Driven Development (Unity)
Overview
Write the test first. Watch it fail. Write minimal code to pass.
Core principle: If you didn't watch the test fail, you don't know if it tests the right thing.
When to Use
Always (write tests first):
- New domain logic (game rules, calculations, state machines)
- Bug fixes where the failure can be isolated to C# logic
- Refactoring pure C# classes
- ScriptableObject data and methods
TDD where logic can be isolated. Visual and experiential tuning does not require TDD.
Exceptions (discuss with user):
- Visual/experiential tuning (particle effects, camera shake, animation curves, game feel)
- Throwaway prototype scenes
- Procedural content generation requiring human judgment
Tests must be deterministic. If a test can pass and fail intermittently under identical conditions, it is invalid and must be fixed before continuing development.
The Iron Law
Rule: No production code without a failing test first.
If code was written before the test, delete it and start fresh from the test. Do not keep it as reference or adapt it while writing tests. Implement from tests only.
Test Type Selection
Choose test type BEFORE writing any test. This determines the test folder, .asmdef references, and what Unity systems are available.
| Logic Type | Test Type | Rationale |
|---|---|---|
| Pure C# calculations, state, rules | EditMode | Fast, no Unity overhead, no domain reload cost |
| ScriptableObject data and methods | EditMode | No scene required, runs headlessly |
| MonoBehaviour lifecycle (Awake, Start, Update) | PlayMode | Requires Unity runtime |
| Physics interactions | PlayMode | Requires physics simulation |
| Coroutines | PlayMode | Requires frame execution |
| Scene loading / unloading | PlayMode | Requires Scene system |
| UI Canvas interactions | PlayMode | Requires UI system |
| Visual-only tuning (particles, curves, feel) | No test | Human judgment required |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 First seen · 359 lines · 104 tokens per session scan A 4edf1f85362c
unity-tdd is a skill published in the GitHub repository sonereraslan/local-marketplace (2 stars, last pushed 4mo ago), licensed MIT. It adds 104 tokens to every session and 3,076 once invoked, about $0.0005 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-09-03.
Other skills, from other repositories
unity-testing
Unity 6 testing guide. Use when writing unit tests, integration tests, or doing TDD with Unity Test Framework. Covers Edit Mode and Play Mode tests, NUnit attributes ([Test], [UnityTest], [SetUp], [TearDown]), testing MonoBehaviours and coroutines, and CI/CD integration. Based on Unity 6.3 LTS documentation.
write-vibe-tests
Write or refactor Mistral Vibe tests with proper decoupling. Use when adding behavior coverage, testing ports/adapters, replacing brittle mocks, creating fakes, adding characterization tests before refactors, or changing tests under tests/ for vibe/core, vibe/cli, vibe/acp, tools, config, sessions, skills, hooks, MCP…
tests-run
Execute Unity tests (EditMode or PlayMode) and return per-test results. Supports filtering by test assembly, namespace, class, and method. Refreshes the AssetDatabase first; defers execution across domain reloads if scripts changed. Precondition: every open scene must be saved — dirty scenes abort the run.
composing-matchers
Build compound Gomega assertions by combining matchers — And/SatisfyAll (all pass), Or/SatisfyAny (any pass), Not (negate), WithTransform to map the actual before matching, Satisfy for an ad-hoc predicate, HaveValue to dereference pointers/interfaces, HaveField for struct fields and method results, HaveEach for every…
gdunit-driver
Run gdUnit4 unit tests and parse results into structured output. Use this skill after writing or modifying code to verify correctness via unit tests, when diagnosing test failures, or when writing new test files. Triggers: "run tests", "test fails", "write a test", any gdUnit4/unit test mention. Supports both GDScript…
nw-fp-fsharp
F# language-specific patterns, Railway-Oriented Programming, and Computation Expressions.