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/improve-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/improve-inventree-plugin)<a href="https://agentmods.dev/skills/jrobelia/inventree-plugin-ai-toolkit/improve-inventree-plugin"><img src="https://agentmods.dev/badge/skills/jrobelia/inventree-plugin-ai-toolkit/improve-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/improve-inventree-plugin"><img src="https://agentmods.dev/badge/skills/jrobelia/inventree-plugin-ai-toolkit/improve-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.00037 | $0.01038 |
| Opus 5 | $0.00018 | $0.00519 |
| Sonnet 5 | $0.00007 | $0.00208 |
| Haiku 4.5 | $0.00004 | $0.00104 |
Grade A, and why
improve-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 — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Change an InvenTree plugin
Purpose: Run a tight change → test → build → commit loop for an existing InvenTree plugin.
One-liner
bash scripts/run-test-all.sh /workspace/plugins/<plugin-name>
Workflow
1. Understand the change
Ask the user:
- What behavior should change?
- Which files/components are affected?
- What is the expected result?
- Are there breaking changes or new dependencies?
Completion criterion: the change is scoped enough to identify the plugin and the files to touch.
2. Locate the plugin and module
ls /workspace/plugins/<plugin-name>
dirname $(ls /workspace/plugins/<plugin-name>/*/__init__.py | head -1)
Completion criterion: the plugin directory and Python module name are known.
3. Establish a baseline
Run the deterministic test suite before making changes:
bash scripts/run-test-all.sh /workspace/plugins/<plugin-name>
run-test-all.sh starts the InvenTree server if it is not already healthy.
Completion criterion: baseline results are captured. If the environment is broken, fix it before changing code.
4. Make the change
Edit the relevant backend and/or frontend files. Keep the change small and focused.
Completion criterion: the requested change is implemented.
5. Verify the change
Re-run the deterministic test suite:
bash scripts/run-test-all.sh /workspace/plugins/<plugin-name>
You can use FAST=1 for a quick lint/unit pass during iteration, but do not call the change done until the full suite passes.
Completion criterion: the test layers that should pass are green.
6. Build the package
Run the devcontainer build script:
bash scripts/build-plugin.sh /workspace/plugins/<plugin-name>
Completion criterion: dist/*.whl exists and build-plugin.sh exits 0.
7. Deploy if requested
If the user wants to test on staging, use the deploy-inventree-plugin skill.
Completion criterion: staging is requested and passed to the deploy skill, or deployment is skipped.
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 · 145 lines · 37 tokens per session scan A 85e41ab5ba29
improve-inventree-plugin is a skill published in the GitHub repository jrobelia/inventree-plugin-ai-toolkit (1 stars, last pushed 22d ago), licensed MIT. It adds 37 tokens to every session and 1,038 once invoked, about $0.0002 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
performance-smell-detection
Detect potential code-level performance smells in Java - streams, collections, boxing, regex, object creation. Provides awareness, not absolutes - always measure before optimizing. For JPA/database performance, use jpa-patterns instead.
bug-triage
Read all open bugs in production/qa/bugs/, re-evaluate priority vs. severity, assign to sprints, surface systemic trends, and produce a triage report. Run at sprint start or when the bug count grows enough to need re-prioritization.
bug-report
Creates a structured bug report from a description, or analyzes code to identify potential bugs. Ensures every bug report has full reproduction steps, severity assessment, and context.
spk-admin-setup-doctor
Install, verify, and repair Spec Kitty commands, skills, agent paths, runtime prerequisites, and common setup failures.
022-root-cause-analysis
Use when a framed problem needs root-cause investigation rather than a symptom-level fix, applying Five Whys, Fishbone (Ishikawa), Current Reality Tree, and constraint identification. This should trigger when an issue's Root Cause Analysis point of view needs evaluation, or when a maintainer directly asks to find the…
126-java-exception-handling
Use when you need to apply Java exception handling best practices — including using specific exception types, managing resources with try-with-resources, securing exception messages, preserving error context via exception chaining, validating inputs early with fail-fast principles, handling thread interruption…