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 nonlooped/roblox-suite --skill roblox-testinggit clone --depth 1 https://github.com/nonlooped/roblox-suiteWrote 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/nonlooped/roblox-suite/roblox-testing)<a href="https://agentmods.dev/skills/nonlooped/roblox-suite/roblox-testing"><img src="https://agentmods.dev/badge/skills/nonlooped/roblox-suite/roblox-testing/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/nonlooped/roblox-suite/roblox-testing"><img src="https://agentmods.dev/badge/skills/nonlooped/roblox-suite/roblox-testing.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.00042 | $0.02874 |
| Opus 5.5 | $0.00017 | $0.01150 |
| Sonnet 5.5 | $0.00008 | $0.00575 |
| Haiku 4.5 | $0.00004 | $0.00287 |
Grade A, and why
roblox-testing 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 4d 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 — 343 lines — stays where its author put it; the contents beside it link to each section on GitHub.
roblox-testing
Official sources:
- https://create.roblox.com/docs/en-us/studio/developer-console
- https://create.roblox.com/docs/en-us/performance-optimization/identify
- https://create.roblox.com/docs/en-us/performance-optimization/microprofiler
- https://create.roblox.com/docs/en-us/performance-optimization/scene-analysis
- https://create.roblox.com/docs/en-us/studio/optimization/memory-usage
- https://create.roblox.com/docs/en-us/studio/optimization/scriptprofiler
Start with a reproducible failure and identify whether it occurs on the client, server, or both. Choose a debugging or profiling tool based on that evidence.
The debugging mindset
- Reproduce it. If you can't reproduce it, you can't fix it.
- Isolate it. Remove systems until the bug disappears; the last thing removed is the cause.
- Measure it. Use tools instead of guessing.
- Fix one thing at a time. Verify the fix and add a regression test if possible.
- Log defensively. Good logs make future debugging faster.
Logging discipline
Use print, warn, and error deliberately:
printfor normal diagnostics.warnfor recoverable problems you should notice.errorfor programming errors that should stop execution.
Include context in log messages:
warn(string.format("[DataStore] Save failed for %d: %s", userId, tostring(err)))
Avoid logging secrets, player data, or PII.
pcall and assertions
Wrap fallible calls, especially cloud services, HTTP, DataStores, Marketplace:
local ok, result = pcall(function()
return someService:DoSomething()
end)
if not ok then
warn("DoSomething failed:", result)
end
Use assert for internal invariants that should never fail:
assert(config.MaxSpeed > 0, "MaxSpeed must be positive")
Developer Console
Open with F9 in-game or in Studio play mode.
Tabs:
- Log: client/server output, errors, warnings.
- Memory: categorized memory usage.
- Network: HTTP and service requests.
- Server Stats: heartbeat, ping, data ping.
- Script Profiler: record script CPU usage.
- MicroProfiler: capture server dumps.
What ships with it
8 files 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.
- 4d ago Changed 764797dea6af
- 1mo ago Changed · -15 lines · -38 tokens per session c25b4a2ddf82
- 1mo ago First seen · 358 lines · 80 tokens per session scan A 427b8e61b41e
roblox-testing is a skill published in the GitHub repository nonlooped/roblox-suite (23 stars, last pushed 3d ago), licensed MIT. It adds 42 tokens to every session and 2,874 once invoked, about $0.0002 per session on Opus 5.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-30.
Other skills, from other repositories
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.
godot-gdscript-headless-testing
Run GDScript test suites from the command line with godot --headless, using a SceneTree/MainLoop runner script that exits non-zero on failure so CI can gate merges. Use when a Godot project needs unit tests without opening the editor, when wiring a CI job (GitHub Actions or similar) that must fail the build on a…
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…
gm-verify
Mechanical verification of the built game: headless build, unit tests, lint, static checks. Explicit invocation only — use /gm-verify.
roblox-engineer
!cat skills/shared/game-visual-foundations.md 2>/dev/null || echo "=== Visual Foundations not loaded ===" !cat skills/shared/protocols/ux-protocol.md 2>/dev/null || true !cat skills/shared/protocols/game-test-protocol.md 2>/dev/null || true !cat skills/shared/protocols/quality-gate.md 2>/dev/null || true !cat…
godot-testing-patterns
Expert blueprint for testing patterns using GUT (Godot Unit Test), integration tests, mock/stub patterns, async testing, and validation techniques. Covers assert patterns, signal testing, and CI/CD integration. Use when implementing tests OR validating game logic. Keywords GUT, unit test, integration test, assert…