Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/jrobelia/inventree-plugin-ai-toolkitnpx agentmods add skills/jrobelia/inventree-plugin-ai-toolkit/test-inventree-pluginWrote 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/jrobelia/inventree-plugin-ai-toolkit/test-inventree-plugin)<a href="https://agentmods.dev/skills/jrobelia/inventree-plugin-ai-toolkit/test-inventree-plugin"><img src="https://agentmods.dev/badge/skills/jrobelia/inventree-plugin-ai-toolkit/test-inventree-plugin/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/jrobelia/inventree-plugin-ai-toolkit/test-inventree-plugin"><img src="https://agentmods.dev/badge/skills/jrobelia/inventree-plugin-ai-toolkit/test-inventree-plugin.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.00097 | $0.01121 |
| Opus 5 | $0.00048 | $0.00561 |
| Sonnet 5 | $0.00019 | $0.00224 |
| Haiku 4.5 | $0.00010 | $0.00112 |
Grade A, and why
test-inventree-plugin 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 — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Test an InvenTree plugin
Purpose: Run the full deterministic test suite for any plugin in plugins/.
One-liner
From the toolkit root, with the devcontainer running:
docker compose -f .devcontainer/docker-compose.yml -f .devcontainer/docker-compose.frontend-volumes.yml exec -u vscode toolkit bash -c "cd /workspace && bash scripts/run-test-all.sh /workspace/plugins/<PluginFolderName>"
If you are already inside the devcontainer:
bash scripts/run-test-all.sh /workspace/plugins/<PluginFolderName>
scripts/run-test-all.sh checks http://localhost:8001/api/system/health/ first. If the server is already warm, it reuses it; otherwise it starts one, waits for it, then calls the plugin's test-all.sh.
Workflow
1. Resolve the plugin
Ask the user for the plugin folder name if it is not already in context. The folder is the name under plugins/, not the Python module name.
Completion criterion: a valid plugins\<PluginFolderName> directory exists.
2. Discover the runtime environment
Run these checks from the toolkit root:
# Is the devcontainer running?
docker ps --filter "name=toolkit" --format "{{.Names}}"
# Is the InvenTree server healthy?
(Invoke-RestMethod -Uri "http://localhost:8001/api/system/health/" -TimeoutSec 5).status -eq "ok"
Possible states:
- Warm: devcontainer is running and the server returns
ok. - Container-only: devcontainer is running, but the server is down.
- Cold: no devcontainer.
Completion criterion: the environment state is known.
3. Run the tests
- Warm or container-only: run the one-liner above.
run-test-all.shstarts the server automatically if needed. - Cold: ask the user whether to start the devcontainer. If yes:
docker compose -f .devcontainer/docker-compose.yml -f .devcontainer/docker-compose.frontend-volumes.yml up -d- Wait for the container to be ready.
- Run the one-liner.
- Cold and user declines: run the Windows host fallback below.
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 · 125 lines · 97 tokens per session scan A 58c6240f1d52
test-inventree-plugin is a skill published in the GitHub repository jrobelia/inventree-plugin-ai-toolkit (1 stars, last pushed 21d ago), licensed MIT. It adds 97 tokens to every session and 1,121 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-08-31.
Other skills, from other repositories
dotnet-testing-advanced-tunit-advanced
A guide for advanced TUnit testing in .NET. TUnit is a testing framework; the guide covers tests driven by data, dependency injection, integration tests, retries, time limits, and filtering.
dotnet-testing-autodata-xunit-integration
A guide for using AutoFixture, a .NET library that creates test data, with xUnit, a .NET testing framework. It explains attributes such as AutoData, InlineAutoData, and MemberAutoData for supplying values to parameterized tests.
dotnet-testing-autofixture-nsubstitute-integration
A .NET testing guide for using AutoFixture and NSubstitute to automatically create test data and substitute versions of dependencies.
dotnet-testing-advanced-aspire-testing
A guide to testing .NET Aspire distributed applications, which are programs made of several coordinated services. It covers tests that run the real service setup through an AppHost, the project that describes how those services are arranged.
dotnet-testing-advanced
A guide that routes advanced .NET testing questions to the right specialist instructions. It covers API and integration tests, database and other container-based tests, microservices, .NET Aspire, and related testing tools.
dotnet-testing-awesome-assertions-guide
A guide to AwesomeAssertions, a .NET library for writing readable checks in automated tests. It covers checks for objects, collections, strings, numbers, exceptions, and asynchronous code.