CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-java-flow

Use when writing Java code with `dev.axllm:ax` for flows, nodes, program graphs, nested programs, dynamic options, caching, and optimizer components.

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-flow/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 executable Java examples and useful guardrails, weakened by a long, dense inlined 'Astra Session Work' section and references to files that are not part of the bundle. Tightening the prose section and splitting it into a real reference file would lift both conciseness and progressive disclosure.

Suggestions

Move the 'Astra Session Work' section into a separate reference file (e.g., references/astra-sessions.md) and keep a 3-5 line summary with a clear pointer in SKILL.md; this addresses both the conciseness and progressive_disclosure gaps.

Verify the referenced paths ('API.md', 'axir-api.json', 'axir-capabilities.json', 'examples/') actually exist in the skill bundle, or rewrite the pointers to wherever they resolve (e.g., within the generated package) so navigation is unambiguous.

Make the code examples consistently compilable — show imports once and use the same qualified/unqualified style across the core and later patterns — and add one short executable Astra example instead of prose-only session guidance.

DimensionReasoningScore

Conciseness

The pattern sections with code are lean and assume competence, but the 'Astra Session Work' section is ~28 lines of extremely dense prose with restated cancellation rules and repeated 'as in TypeScript' comparisons that could be tightened or trimmed. This matches 'mostly efficient but includes some unnecessary explanation or could be tightened' — it is not padded with concepts Claude already knows, so it stays above 2.

3 / 5

Actionability

Concrete, near-copy-paste Java patterns cover the common cases (core flow, branch, fan-out/join, run, cache), matching 'mostly executable guidance; concrete code or commands with minor gaps'. Gaps: the core pattern uses fully-qualified 'java.util.Map.of' while later examples use bare 'Map.of'/'List.of' with no imports shown, the referenced 'examples/' and doc files are not present in the bundle, and the Astra section describes runtime behavior rather than instructing.

4 / 5

Workflow Clarity

The patterns build progressively from core to typed programs, branching, parallelism, running, and caching, with 'When To Use' and 'Guardrails' framing how to approach the task — a clear sequence with most checkpoints present. There is no explicit step-by-step procedure for a new task and no validation loop, but the skill involves no destructive or batch operations requiring one, so it sits above anchor 3.

4 / 5

Progressive Disclosure

Section structure is good, but the body cites 'API.md', 'axir-api.json', 'axir-capabilities.json', and 'examples/' that do not exist in the skill bundle (no references/ or examples/ directories), and the dense Astra session material is inlined in SKILL.md where it clearly belongs in a separate reference file. This matches 'some structure but could be better organized; references present but not clearly signaled; 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, well-scoped description that pairs an explicit 'Use when' trigger with a specific package identifier and a comprehensive subsystem list. Its main weakness is that the 'what' is folded into the 'when' clause and a few natural trigger terms (e.g., AxFlow/AxGen API names) are absent.

DimensionReasoningScore

Specificity

The description gives one action ('writing Java code') anchored to a specific package ('dev.axllm:ax') and enumerates seven concrete subsystems ('flows, nodes, program graphs, nested programs, dynamic options, caching, and optimizer components'), providing broad capability coverage with only minor gaps — it names domains rather than multiple distinct action verbs, which keeps it below 5.

4 / 5

Completeness

An explicit 'Use when...' clause with concrete triggers answers 'when' clearly, and the enumerated subsystems convey 'what'; however the 'what' is embedded in the same 'use when' clause rather than stated as a standalone capability sentence, so it matches 'has both what and when; when could be more explicit or specific' rather than the fully separated and explicit anchor 5.

4 / 5

Trigger Term Quality

Natural terms users would say are present ('Java code', 'flows', 'nodes', 'caching') plus the exact package identifier 'dev.axllm:ax', but common variations an ax user would naturally mention — API names like 'AxFlow', 'AxGen', or synonyms like 'workflow' — are missing, so it fits the 'good keyword coverage, a few natural terms missing' anchor rather than 5.

4 / 5

Distinctiveness Conflict Risk

The description is pinned to a specific package ('dev.axllm:ax'), a specific language (Java), and specific subsystems, giving it a clear niche with distinct triggers and minimal risk of firing for unrelated skills.

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.