Test Reviewer
axelixlabs/axelix
Reviews test code in GitHub pull requests for isolation, public-API contract coverage, AAA structure, and correct exception assertions.
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…
$ npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install corvus-dotnet/Corvus.JsonSchema corvus-java-evaluator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "corvus-java-evaluator" agent skill from https://github.com/corvus-dotnet/Corvus.JsonSchema/tree/main/.github/skills/corvus-java-evaluator into .claude/skills/corvus-java-evaluator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "corvus-java-evaluator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/corvus-dotnet/Corvus.JsonSchema/tree/main/.github/skills/corvus-java-evaluatorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install corvus-dotnet/Corvus.JsonSchema corvus-java-evaluator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/corvus-dotnet/Corvus.JsonSchema.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/corvus-java-evaluator .agents/skills/corvus-java-evaluator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "corvus-java-evaluator" agent skill from https://github.com/corvus-dotnet/Corvus.JsonSchema/tree/main/.github/skills/corvus-java-evaluator into .agents/skills/corvus-java-evaluator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "corvus-java-evaluator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install corvus-dotnet/Corvus.JsonSchema corvus-java-evaluator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/corvus-dotnet/Corvus.JsonSchema.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/corvus-java-evaluator .cursor/skills/corvus-java-evaluator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "corvus-java-evaluator" agent skill from https://github.com/corvus-dotnet/Corvus.JsonSchema/tree/main/.github/skills/corvus-java-evaluator into .cursor/skills/corvus-java-evaluator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "corvus-java-evaluator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/corvus-dotnet/Corvus.JsonSchema.git --path .github/skills/corvus-java-evaluator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install corvus-dotnet/Corvus.JsonSchema corvus-java-evaluator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/corvus-dotnet/Corvus.JsonSchema.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/corvus-java-evaluator .gemini/skills/corvus-java-evaluator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "corvus-java-evaluator" agent skill from https://github.com/corvus-dotnet/Corvus.JsonSchema/tree/main/.github/skills/corvus-java-evaluator into .gemini/skills/corvus-java-evaluator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "corvus-java-evaluator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install corvus-dotnet/Corvus.JsonSchema corvus-java-evaluatorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/corvus-dotnet/Corvus.JsonSchema.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/corvus-java-evaluator .github/skills/corvus-java-evaluator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "corvus-java-evaluator" agent skill from https://github.com/corvus-dotnet/Corvus.JsonSchema/tree/main/.github/skills/corvus-java-evaluator into .github/skills/corvus-java-evaluator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "corvus-java-evaluator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add corvus-dotnet/Corvus.JsonSchema --skill corvus-java-evaluator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install corvus-dotnet/Corvus.JsonSchema corvus-java-evaluator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/corvus-dotnet/Corvus.JsonSchema.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/corvus-java-evaluator .opencode/skills/corvus-java-evaluator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "corvus-java-evaluator" agent skill from https://github.com/corvus-dotnet/Corvus.JsonSchema/tree/main/.github/skills/corvus-java-evaluator into .opencode/skills/corvus-java-evaluator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "corvus-java-evaluator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
corvus-java-evaluatorWork 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…
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.
Read from SKILL.md and the folder at commit b9e3040. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
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.
.claude/skills/corvus-java-evaluator/SKILL.md (or your agent's skills folder).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.
Java 17 or later; the wrapper fetches Maven. From src-java/corvus-json-schema:
./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.
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).
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.-Dcorvus.jsonschema.dump=<dir> and disassemble the class with javap -c -p.MethodHandles.classDataAt, through a dynamic constant whose name
must be _).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,...).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.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).
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.
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/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
Just SKILL.md in .github/skills/corvus-java-evaluator of corvus-dotnet/Corvus.JsonSchema.
Open the folder on GitHubat commit b9e3040
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Corvus Java Evaluator this skillcorvus-dotnet/Corvus.JsonSchema | 199 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Test Revieweraxelixlabs/axelix | 148 | — | ~3.2k | Automated safety check: Pass | LGPL-3.0 | |
| Build Teaql Appteaql/teaql-agent-kit | 2.8k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Test Writeraxelixlabs/axelix | 148 | — | ~2.2k | Automated safety check: Pass | LGPL-3.0 | |
| Hexagonal Architectureyamcodes/arkenv | 145 | 4 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Crap Analyzerswingerman/engineer | 154 | — | ~1.2k | Automated safety check: Pass | MIT |
axelixlabs/axelix
Reviews test code in GitHub pull requests for isolation, public-API contract coverage, AAA structure, and correct exception assertions.
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.
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…
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.
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.
dotnet/skills
Audits existing tests in any language using formal, research-backed test smell names and the testsmells.org 19-smell academic taxonomy.
corvus-dotnet/Corvus.JsonSchema
Understand and work with the Roslyn analyzers shipped with Corvus.Text.Json.
corvus-dotnet/Corvus.JsonSchema
Run, interpret, and maintain BenchmarkDotNet benchmarks for JSON Schema validation and query languages.
corvus-dotnet/Corvus.JsonSchema
Test Corvus.JsonSchema against the JSON Schema Test Suite using Bowtie, the cross-implementation meta-validator.
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.
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…
corvus-dotnet/Corvus.JsonSchema
Generate strongly-typed C from JSON Schema using the Roslyn source generator or the corvusjson CLI tool.
Categories
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.
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.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Corvus Java Evaluator is instructions for the agent only.
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.
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.
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.
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.
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.
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.