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 infraspecdev/tesseract --skill jvm-language-reviewgit clone --depth 1 https://github.com/infraspecdev/tesseractWrote 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/infraspecdev/tesseract/jvm-language-review)<a href="https://agentmods.dev/skills/infraspecdev/tesseract/jvm-language-review"><img src="https://agentmods.dev/badge/skills/infraspecdev/tesseract/jvm-language-review/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/infraspecdev/tesseract/jvm-language-review"><img src="https://agentmods.dev/badge/skills/infraspecdev/tesseract/jvm-language-review.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.00072 | $0.01708 |
| Opus 5.5 | $0.00029 | $0.00683 |
| Sonnet 5.5 | $0.00014 | $0.00342 |
| Haiku 4.5 | $0.00007 | $0.00171 |
Grade A, and why
backend-jvm-language-review 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 1mo 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 — 112 lines — stays where its author put it; the contents beside it link to each section on GitHub.
JVM Language Review
Overview
Review Java and Kotlin source for idiomatic language usage independent of framework concerns. Catches issues that compile but don't match modern idioms or that risk subtle bugs (mutability, ID-based equals, missed Optional checks, etc.).
Triggers when Java (.java) or Kotlin (.kt) source files are in scope. Pairs with code-quality-review (which is language-agnostic SOLID/DRY/KISS) and spring-data (which covers entity-specific equals/hashCode).
Java Version Compatibility
Supported: Java 17 (declared via java_versions: ["17"] in frontmatter — matches Spring Boot 3 baseline).
Java 11 (older LTS) — degraded coverage:
- J1 (records): NOT AVAILABLE before Java 14 — DON'T flag missing record usage; suggest plain final-field POJO
- J2 (sealed types): NOT AVAILABLE before Java 17 — DON'T flag closed hierarchies as needing
sealed; suggest enum or class hierarchy with package-private constructors - J3–J10: all apply
Java 8 (legacy) — degraded coverage:
- J1, J2: not available (see Java 11 above)
- J5 (var): NOT AVAILABLE before Java 10 — DON'T flag missing var; explicit types are required
- J7 (try-with-resources): applies, but final-effectively-final var-in-resource is Java 9+
- Other checks apply
The agent passes the detected Java major version to this skill; the skill gates language-feature checks accordingly. For new Java versions (e.g., Java 21 with virtual threads, sequenced collections), follow Pattern A (broaden the rubric) per shield/skills/backend/EXTENDING-VERSIONS.md.
Kotlin coverage: The skill body covers Kotlin (K1–K5) conceptually. Fixture-level RED-GREEN testing for Kotlin is deferred to a follow-on (no .kt files in the v1 fixture).
When to Use
- Reviewing Java domain classes for records / sealed types / immutability
- Reviewing Kotlin classes for null safety and data class patterns
- Auditing exception design choices
- Pre-implementation: shaping a new model or value class
When NOT to Use
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.
- 1mo ago First seen · 112 lines · 72 tokens per session scan A 2b75c55725fb
backend-jvm-language-review is a skill published in the GitHub repository infraspecdev/tesseract (5 stars, last pushed 3mo ago), licensed MIT. It adds 72 tokens to every session and 1,708 once invoked, about $0.0003 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-09-03.
Other skills, from other repositories
writing-java-kotlin
Idiomatic modern Java and Kotlin JVM development. Use when writing .java, .kt, or .kts code; changing Gradle or Maven builds; or working on Spring, Micronaut, Quarkus, Ktor, Android JVM modules, JUnit, Mockito, Kotest, ktlint, detekt, or JVM CLI/services. Emphasizes JDK toolchains, null-safety, fast focused…
axiom-audit-codable
Use when the user mentions Codable review, JSON encoding/decoding issues, data serialization audit, or modernizing legacy code.
axiom-swift-simplifier
Use when the user wants to simplify Swift code, reduce boilerplate, or make Swift more readable and idiomatic without changing behavior.
migrate-intellij-util
Optimize memory usage, consistency, and performance by migrating standard Java/Kotlin classes to IntelliJ's specialized com.intellij.util implementations.
authoring-java-sdk-tasks
Writes Airflow task logic in Java, Kotlin, or any JVM language using the Airflow Java SDK. Use when the user wants to implement Airflow tasks in Java/JVM, asks about @Builder.Dag/@Builder.Task/@Builder.XCom, the Task/BundleBuilder interfaces, reading connections/variables/XComs from Java, the JSON-to-Java type…
kotlin-concurrency-and-flow
Use when writing or reviewing Kotlin coroutine scope ownership, raw Thread or Executor work, init launches, non-suspending launch APIs, runBlocking, cancellation, StateFlow, SharedFlow, Channel, stateIn, SharingStarted, state updates, or one-shot events.