CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-java-ai

Use when writing Java code with `dev.axllm:ax` for named deployment profiles, generic provider clients, model selection, OpenAI-compatible calls, Responses, Gemini, Anthropic, routers, and balancers.

57

Quality

72%

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 ./website/static/java/.well-known/agent-skills/ax-java-ai/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%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.

The body is an information-dense, well-sectioned API reference that assumes Claude's competence and never explains basic concepts, but it is heavy inlined prose with only one runnable snippet and no multi-step workflow or validation checkpoints. Splitting the profile/sampling and session details into actual reference files, with executable Java snippets per section, would lift it substantially.

Suggestions

Split the densest sections (Named Deployment Profiles, Astra Session Work) into separate reference files (e.g., PROFILES.md, SESSIONS.md) and keep short decision rules in SKILL.md, since those sections run 20+ lines of compound-sentence prose each.

Add one small executable Java snippet per major section (client construction per profile, retry config, balancer setup) instead of deferring all runnable code to example paths outside the bundle.

Verify referenced paths: 'API.md', 'examples/', and 'src/examples/java/generation/' are cited but do not exist in the skill bundle, so either include them or point to where the generated package actually exposes them.

DimensionReasoningScore

Conciseness

Mostly dense package-specific facts Claude cannot know (error messages, defaults, per-profile rules), so little is wasted on known concepts. However, sections like 'Named Deployment Profiles' and 'Astra Session Work' are walls of run-on compound sentences ('A profile without a base URL of its own (...) needs one from the caller: `ai(...)` fails with TypeScript's `<Name> requires apiURL` instead of sending the key to another host') that could be split into scannable rules, and repeated TypeScript-comparison asides add padding.

3 / 5

Actionability

There is one executable snippet ('var llm = Ax.ai("openai", java.util.Map.of("apiKey", System.getenv("OPENAI_API_KEY")));') and many exact API names, defaults, and error strings, but most sections give behavioral rules in prose rather than runnable Java, deferring to example paths ('src/examples/java/generation/', 'examples/adaptive_balancer_no_key') that are not part of this skill bundle. Not pseudocode, but incomplete executable coverage.

3 / 5

Workflow Clarity

The body is a topical reference (profiles, caching, timeouts, retries, routing, sessions) rather than a sequenced workflow, so steps exist only implicitly (pick a profile -> construct client -> set options). The Guardrails section ('Start from package examples for exact native syntax before inventing a new call shape') serves as a loose checkpoint, but there are no explicit validation sequences or feedback loops.

3 / 5

Progressive Disclosure

Section headers provide real structure and referenced materials are one level deep ('API.md', 'axir-capabilities.json', 'examples/'), but the referenced paths do not exist in the skill bundle, and large inlined blocks (per-model sampling rules, Astra session semantics) read like reference material that should live in separate files, matching the 3 anchor of structure with content that should be separate kept inline.

3 / 5

Total

12

/

20

Passed

Description

83%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 with an explicit 'Use when...' trigger, a named package, and a concrete feature list. It is distinct thanks to the Java + package tie, with only minor synonym-coverage and provider-name-overlap weaknesses.

DimensionReasoningScore

Specificity

The description lists several concrete capabilities ('named deployment profiles, generic provider clients, model selection, OpenAI-compatible calls, Responses, Gemini, Anthropic, routers, and balancers') anchored to a specific package. It falls short of the 5 anchor because the capabilities are stated as noun phrases rather than concrete actions, leaving minor coverage gaps.

4 / 5

Completeness

It explicitly answers both what ('writing Java code with `dev.axllm:ax` for named deployment profiles... routers, and balancers') and when ('Use when writing Java code with...') with concrete trigger phrases. Both elements are present and explicit, matching the 5 anchor.

5 / 5

Trigger Term Quality

It includes natural domain terms users would say: 'Java', 'OpenAI-compatible calls', 'Responses', 'Gemini', 'Anthropic', 'routers', and 'balancers'. A few natural variations are missing (e.g., 'LLM client', 'failover', 'structured output'), keeping it below the comprehensive synonym coverage of the 5 anchor.

4 / 5

Distinctiveness Conflict Risk

The Java language tie and the specific package ID `dev.axllm:ax` carve out a clear niche, but naming 'Anthropic', 'Gemini', and 'OpenAI' creates minor overlap risk with provider-specific skills in the same collection.

4 / 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.