Agent skill

Corvus Java Evaluator

by corvus-dotnet in corvus-dotnet/Corvus.JsonSchema

Work on the Java port of the V5 standalone schema evaluator (src-java/corvus-json-schema, Maven artifact io.github.corvus-dotnet:corvus-json-schema): loader, compiler, the ASM bytecode generator…

Apache-2.0Auto-check passedMobile

Install Corvus Java Evaluator

skills CLI
$ npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install corvus-dotnet/Corvus.JsonSchema corvus-java-evaluator --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/corvus-dotnet/Corvus.JsonSchema.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/corvus-java-evaluator .claude/skills/corvus-java-evaluator && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
corvus-java-evaluator
GitHub stars
199
Token cost
~1.6k tokens
SKILL.md length
656 words
Files
1
Skills in repo
26
Repo updated
First seen
Licence
Apache-2.0

At a glance

Work on the Java port of the V5 standalone schema evaluator (src-java/corvus-json-schema, Maven artifact io.github.corvus-dotnet:corvus-json-schema): loader, compiler, the ASM bytecode generator…

  • Debugging the Java evaluator
  • SKILL.md covers Overview, Build and test, Zero allocation and Generated code, plus 4 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Measuring it against Blaze and the other Corvus evaluators

What it does

Corvus Java Evaluator is an agent skill from corvus-dotnet/Corvus.JsonSchema. Work on the Java port of the V5 standalone schema evaluator (src-java/corvus-json-schema, Maven artifact io.github.corvus-dotnet:corvus-json-schema): loader, compiler, the ASM bytecode generator, results collector and annotations, the allocation tests, the conformance and annotation suites, the Kotlin smoke test, the jsonschema-benchmark and Bowtie integrations, and performance measurement. USE FOR: changing or debugging the Java evaluator, measuring it against Blaze and the other Corvus evaluators, running its…

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering Android development and QA and bug reports. It works with Java, C#, TypeScript and Kotlin. The repository describes itself as: Support for Json Schema validation and entity generation. The licence is Apache-2.0.

When your agent uses it

  • Debugging the Java evaluator
  • Measuring it against Blaze and the other Corvus evaluators
  • Running its Bowtie harness
  • Releasing it to Maven Central

Example prompts

  • “/corvus-java-evaluator”

What it can do on your machine

Read from SKILL.md and the folder at commit b9e3040. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Corvus Java Evaluator loads about 1.6k tokens when it runs. Until then it costs about 200 tokens; SKILL.md has 656 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~200
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from corvus-dotnet/Corvus.JsonSchema at commit b9e3040, republished under its Apache-2.0 licence (© corvus-dotnet). 656 words, ~1,588 tokens.

Download SKILL.mdSave it as .claude/skills/corvus-java-evaluator/SKILL.md (or your agent's skills folder).
name
corvus-java-evaluator
description
Work on the Java port of the V5 standalone schema evaluator (src-java/corvus-json-schema, Maven artifact io.github.corvus-dotnet:corvus-json-schema): loader, compiler, the ASM bytecode generator, results collector and annotations, the allocation tests, the conformance and annotation suites, the Kotlin smoke test, the jsonschema-benchmark and Bowtie integrations, and performance measurement. USE FOR: changing or debugging the Java evaluator, measuring it against Blaze and the other Corvus evaluators, running its Bowtie harness, releasing it to Maven Central, keeping it in parity with the C# runtime evaluator. DO NOT USE FOR: the C# runtime evaluator itself (see corvus-standalone-evaluator and docs/RuntimeEvaluator.md), the TypeScript port (corvus-typescript-evaluator).

Java Standalone Evaluator

Overview

src-java/corvus-json-schema ports the Corvus.Text.Json.RuntimeEvaluator pipeline to Java 17, by way of the Rust and TypeScript ports. SchemaLoader and SchemaCompiler build the node graph (SchemaNode) and its analyses (marking, in-place cycles, discriminators). CodeGen then generates one static method per node into a hidden class, with ASM shaded into the jar under io.github.corvusdotnet.jsonschema.internal.asm; Evaluator interprets the same graph for results collection, and for nodes that are not compiled. JsonDocument is the instance model: the UTF-8 text plus a flat long[] tape, two longs per value. The package README describes the design; OPTIMIZATIONS.md maps every optimisation to its counterpart in the C#, Rust and TypeScript evaluators. Keep it current: a technique added to any of the other evaluators should be checked off (or ruled out, with the reason) there.

Build and test

Java 17 or later; the wrapper fetches Maven. From src-java/corvus-json-schema:

bash
./mvnw test                     # every test, then AllocationTest again without escape analysis
./mvnw test -Dtest=SuiteTest -DcorvusArgLine=-Dcorvus.jsonschema.interpret=true   # the suite on the interpreter
./mvnw install -P release -Dgpg.skip   # as CI does: adds the sources and javadoc jars (doclint fails on warnings)

The suites read the repository's JSON-Schema-Test-Suite submodule. Every required, optional and format test must pass (draft4/optional/zeroTerminatedFloats.json is excluded, as in the C# runner), and all annotation assertions. SuiteTest also asserts that every suite schema compiles to bytecode; a node that falls back to the interpreter is a performance bug, so don't relax that count.

MetaschemasTest checks the embedded metaschemas (src/main/resources) against src/Corvus.Text.Json/metaschema.

src-java/kotlin-smoke uses the installed jar from Kotlin (./mvnw test there after install), and src-java/corvus-json-schema-bowtie runs the Bowtie harness over IHOP on the required and annotation suites (./mvnw package). CI (.github/workflows/java.yml) runs all of these on Linux x64 and arm64, Windows and macOS, with Java 17, 21 and 25.

Zero allocation

Validation must allocate nothing in the steady state, compiled or interpreted, from a JsonDocument, a String or a byte[]. AllocationTest measures every keyword path with ThreadMXBean.getCurrentThreadAllocatedBytes, and runs again with -XX:-DoEscapeAnalysis so that a path that is only allocation-free after C2 scalar replacement fails. Add a case for every new keyword path. Scratch space comes from the Evaluator (its arena and buffers, found through the validator's owner-thread cache and then a ThreadLocal); formats read the UTF-8 bytes through Utf8Chars with reused matchers (Formats.Context).

Generated code

  • HotSpot never JIT-compiles a method of more than 8000 bytes of bytecode, so one runs interpreted, often 10 times slower. CodeGen reads each method's size from the class file and regenerates an oversized node in its compact form (hashed name dispatch), or leaves it to the interpreter. Keep that guard in mind when generating more code inline.
  • To see what was generated, set -Dcorvus.jsonschema.dump=<dir> and disassemble the class with javap -c -p.
  • Constants reach the generated code as class data (MethodHandles.classDataAt, through a dynamic constant whose name must be _).
Show full SKILL.md (227 more words)Show less

Performance work

  • In process: src-java/corvus-json-schema-bench (Compare, see its README) runs the jsonschema-benchmark corpora with corvus, networknt and kmp. Profile with async-profiler (-agentpath:.../libasyncProfiler.so=start,event=cpu,...).
  • Against Blaze, Corvus .NET and Corvus Rust: build the images and run Compare-Images.ps1 (see the bench README), pinned with -CpuSet. Every harness must warm up by time (2 seconds, at least 100 passes) and report the last warm-up pass, timed inside the loop; a pass timed after the loop can run code that was only compiled inlined into the loop's on-stack-replacement compilation, and read several times too slow on the JVM. Compare like with like.
  • Measure before and after on the same machine, interleaved.

Parity with the C# evaluator

When the C# collecting mode changes (paths, messages, row order, which subschema results are kept), update Evaluator's collecting paths and ResultsTest, which reproduces the C# ResultsTests/ResultPathTests expectations. Format recognition follows SchemaCompiler.GetFormatKind (Formats.Kind). Patterns are translated from ECMA-262 by EcmaRegex, as the .NET evaluator's translator does (see corvus-ecma-regex).

Releasing to Maven Central

Versioned independently, with its history in src-java/corvus-json-schema/VERSIONHISTORY.md. Bump <version> in pom.xml and corvus.version in src-java/kotlin-smoke/pom.xml, add the history entry, and merge; .github/workflows/maven-publish.yml publishes and tags java-v<version>. See docs/ReleaseProcess.md, "The Java library". Never push a java-v tag by hand.

Integrations

  • src-java/corvus-json-schema-bench/jsonschema-benchmark/: the implementations/corvus-java directory for jsonschema-benchmark.
  • src-java/corvus-json-schema-bowtie/: the Bowtie harness (BowtieHarness) and its image.
  • Docs: docs/JsonSchemaForJava.md, its row in docs/OtherLanguages.md, and the home page's language list.

© corvus-dotnet, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/corvus-java-evaluator of corvus-dotnet/Corvus.JsonSchema.

Open the folder on GitHubat commit b9e3040

Compare with similar skills

Corvus Java Evaluator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Corvus Java Evaluator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Corvus Java Evaluator this skillcorvus-dotnet/Corvus.JsonSchema199—~1.6kAutomated safety check: PassApache-2.0
Test Revieweraxelixlabs/axelix148—~3.2kAutomated safety check: PassLGPL-3.0
Build Teaql Appteaql/teaql-agent-kit2.8k—~4.6kAutomated safety check: PassMIT
Test Writeraxelixlabs/axelix148—~2.2kAutomated safety check: PassLGPL-3.0
Hexagonal Architectureyamcodes/arkenv1454 repos~2.9kAutomated safety check: PassMIT
Crap Analyzerswingerman/engineer154—~1.2kAutomated safety check: PassMIT

Similar skills

  • Test Reviewer

    axelixlabs/axelix

    Reviews test code in GitHub pull requests for isolation, public-API contract coverage, AAA structure, and correct exception assertions.

    148 GitHub stars~3.2k tokensUpdated today
    MobileAuto-check passed
  • Build Teaql App

    teaql/teaql-agent-kit

    Build or change a TeaQL application in Java, Rust, Go, Swift, Python, C/.NET, or TypeScript, including Kotlin/JVM applications that consume Java-generated libraries.

    2.8k GitHub stars~4.6k tokensUpdated 10 days ago
    MobileAuto-check passed
  • Test Writer

    axelixlabs/axelix

    Writes new tests for Axelix source code (Java, Kotlin, TypeScript, JavaScript) that follow the project's testing standards — public-API contract coverage, test isolation, given/when/then structure…

    148 GitHub stars~2.2k tokensUpdated today
    MobileAuto-check passed
  • Hexagonal Architecture

    yamcodes/arkenv

    Design, implement, and refactor Ports & Adapters systems with clear domain boundaries, dependency inversion, and testable use-case orchestration across TypeScript, Java, Kotlin, and Go services.

    145 GitHub starsUsed in 4 repos~2.9k tokens
    MobileAuto-check passed
  • Crap Analyzer

    swingerman/engineer

    A skill your agent uses to produce a risk-based refactor + test plan for recently-changed code on a diff/branch/PR by computing CRAP (complexity × untested) on changed methods.

    154 GitHub stars~1.2k tokensUpdated 14 days ago
    Testing & QAAuto-check passed
  • Official

    Audits existing tests in any language using formal, research-backed test smell names and the testsmells.org 19-smell academic taxonomy.

    5.6k GitHub starsUsed in 1 repo~2.5k tokens
    MobileAuto-check passed

More from corvus-dotnet/Corvus.JsonSchema

All 26 skills in this repo
  • Corvus Analyzers

    corvus-dotnet/Corvus.JsonSchema

    Understand and work with the Roslyn analyzers shipped with Corvus.Text.Json.

    199 GitHub stars~876 tokensUpdated today
    Auto-check passed
  • Corvus Benchmarks

    corvus-dotnet/Corvus.JsonSchema

    Run, interpret, and maintain BenchmarkDotNet benchmarks for JSON Schema validation and query languages.

    199 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Corvus Bowtie Testing

    corvus-dotnet/Corvus.JsonSchema

    Test Corvus.JsonSchema against the JSON Schema Test Suite using Bowtie, the cross-implementation meta-validator.

    199 GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Corvus Buffer And Pooling

    corvus-dotnet/Corvus.JsonSchema

    Write allocation-efficient buffer code in Corvus.JsonSchema using the codebase's established three-tier pooling pattern: stackalloc → ArrayPool → ThreadStatic caches.

    199 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Corvus Bytes To Bytes

    corvus-dotnet/Corvus.JsonSchema

    Eliminate hand-rolled POCO record<-document string seams — types/paths that materialize a managed string (or List<string/Dictionary) between a bytes SOURCE (a parsed UTF-8 body, a DB column, a…

    199 GitHub stars~3k tokensUpdated today
    Auto-check passed
  • Corvus Codegen

    corvus-dotnet/Corvus.JsonSchema

    Generate strongly-typed C from JSON Schema using the Roslyn source generator or the corvusjson CLI tool.

    199 GitHub stars~2.1k tokensUpdated today
    Auto-check passed

Questions about Corvus Java Evaluator

What does Corvus Java Evaluator do?

Work on the Java port of the V5 standalone schema evaluator (src-java/corvus-json-schema, Maven artifact io.github.corvus-dotnet:corvus-json-schema): loader, compiler, the ASM bytecode generator…. JsonSchema.corvus-dotnet:corvus-json-schema): loader, compiler, the ASM bytecode generator, results collector and annotations, the allocation tests, the conformance and annotation suites, the Kotlin smoke test, the jsonschema-benchmark and Bowtie integrations, and performance measurement.

When should I use Corvus Java Evaluator?

Corvus Java Evaluator fits situations like: debugging the Java evaluator; measuring it against Blaze and the other Corvus evaluators; running its Bowtie harness; releasing it to Maven Central.

How do I install Corvus Java Evaluator in Claude Code?

Run `npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a claude-code`. Or copy the skill folder (.github/skills/corvus-java-evaluator in corvus-dotnet/Corvus.JsonSchema) into .claude/skills/corvus-java-evaluator in your project. Claude Code loads it when a task matches its description.

How do I install Corvus Java Evaluator in Codex?

Run `npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a codex`. Or copy the skill folder (.github/skills/corvus-java-evaluator in corvus-dotnet/Corvus.JsonSchema) into .agents/skills/corvus-java-evaluator in your project. Codex loads it when a task matches its description.

Can I use Corvus Java Evaluator in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/corvus-java-evaluator, .gemini/skills/corvus-java-evaluator, .github/skills/corvus-java-evaluator and .opencode/skills/corvus-java-evaluator in your project.

What does Corvus Java Evaluator need to run?

SKILL.md names no scripts, command-line tools or credentials: Corvus Java Evaluator is instructions for the agent only.

Does Corvus Java Evaluator access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Corvus Java Evaluator safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Corvus Java Evaluator use?

Corvus Java Evaluator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Corvus Java Evaluator use?

About 1.6k tokens (SKILL.md is roughly 6.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Corvus Java Evaluator?

Skills that share tags, products or a category with Corvus Java Evaluator: Test Reviewer (axelixlabs/axelix, 148 stars), Build Teaql App (teaql/teaql-agent-kit, 2.8k stars), Test Writer (axelixlabs/axelix, 148 stars) and Hexagonal Architecture (yamcodes/arkenv, 145 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Corvus Java Evaluator?

corvus-dotnet (a GitHub organization) maintains it in corvus-dotnet/Corvus.JsonSchema, which has 199 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 8, 2026.

Source: corvus-dotnet/Corvus.JsonSchema on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.