CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-java-signature

Use when writing Java code with `dev.axllm:ax` for string signatures, field descriptors, JSON schema output, validation, and typed tool argument shapes.

60

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./packages/java/skills/ax-java-signature/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-organized pattern reference with genuinely executable Java examples and useful guardrails. The weaknesses are the dense, partly cross-language Typesafe/Jev prose that could be a separate reference file, and references to bundle files (API.md, examples/, manifests) that do not actually exist alongside SKILL.md.

Suggestions

Trim or move the "Typesafe / Jev" section into a dedicated reference file, keeping only the Java-relevant basics in SKILL.md, and drop cross-language details (C++ valueDescriptions, TypeScript literal-key inference) that don't apply to Java code.

Ship the referenced bundle files (API.md, axir-api.json, axir-capabilities.json, examples/) or remove/reword the pointers so navigation targets actually exist.

Show a minimal runnable end-to-end example (constructing the client and inputs) so the forward() call in "Reuse the signature" is executable as written.

DimensionReasoningScore

Conciseness

The pattern sections are tight, but the ~25-line "Typesafe / Jev" prose block is dense and includes tokens irrelevant to a Java skill ("C++ uses valueDescriptions on its existing field descriptors", "only TypeScript can infer literal question keys"), plus cross-language naming triplets like "system_one / systemOne / SystemOne" and confusing sentences like "Numeric bounds never define a Score rubric". It fits the 3 anchor (mostly efficient but includes unnecessary explanation or could be tightened), not 2 since there is no padding about concepts Claude already knows.

3 / 5

Actionability

The code examples are concrete and near copy-paste ready: Ax.s("question:string -> answer:string"), sig.toJsonSchema("outputs", java.util.Map.of()), the fluent builder chain, and Ax.ax(signature) with program.forward(client, inputs). Minor gaps (client/inputs never defined, Ax.fn/Tool listed but never shown) keep it at 4 rather than 5.

4 / 5

Workflow Clarity

For a pattern-reference skill the flow is clear and unambiguous: a When To Use section, a Core Pattern first, escalating More Patterns, "Start from the complete programs under examples/", and Guardrails that tell the agent which example set to use (no-key vs provider-api) and what to do on doc/source disagreement. There is no validation loop, but the skill involves no destructive or batch operations, so the cap doesn't apply; it sits below 5 only because the entry-point sequence is implicit rather than stated as numbered steps.

4 / 5

Progressive Disclosure

The body references API.md, axir-api.json, axir-capabilities.json, examples/, and src/examples/java/generation/, but no references/, scripts/, or assets/ directories exist in the bundle, so the referenced files are not present to navigate to. The in-SKILL.md section structure is good, but the Typesafe/Jev detail is inlined where a reference file would serve better, matching the 3 anchor (some structure, references present but not clearly backed, content that should be separate is inline).

3 / 5

Total

14

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: third-person voice, explicit "Use when" trigger, specific package scope, and a concrete capability list. Main gaps are a slightly circular when-clause and a few missing natural keyword variations.

DimensionReasoningScore

Specificity

The description lists several concrete capabilities — "string signatures, field descriptors, JSON schema output, validation, and typed tool argument shapes" — anchored to a specific package. It stays at score 4 rather than 5 because the capabilities are named as noun phrases under a single verb ("writing Java code ... for") rather than multiple explicit actions like the 5-anchor examples.

4 / 5

Completeness

Both parts are explicit: the what is "writing Java code with dev.axllm:ax for string signatures, field descriptors, JSON schema output, validation, and typed tool argument shapes" and the when is "Use when writing Java code with dev.axllm:ax". The when is present but somewhat circular (use the skill when using the package), so it fits the 4 anchor ("when could be more explicit or specific") rather than the 5 anchor's concrete independent trigger phrases.

4 / 5

Trigger Term Quality

Natural terms a user would say are present: "Java", "JSON schema", "validation", "signatures", plus the package id "dev.axllm:ax". It misses a few natural variations users might type (e.g., "AxSignature", "Ax.f", "schema generation"), matching the 4 anchor "good keyword coverage; a few natural terms missing".

4 / 5

Distinctiveness Conflict Risk

The package identifier "dev.axllm:ax" plus the Java-scoped signature/schema niche makes this a clear, distinct trigger with minimal overlap risk against generic Java, JSON-schema, or validation skills; no neighboring anchor fits better.

5 / 5

Total

17

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
ax-llm/ax
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.