CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-python-typesafe

Use when writing Python code with `axllm` for Typesafe Jev boolean/class signatures, value descriptions, configurable Noul conversion, native Noul/Choice/Score, structured criteria and hybrid generation.

56

Quality

71%

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/python/.well-known/agent-skills/ax-python-typesafe/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.

The body is an efficient, jargon-tight reference with a clear decision structure and one solid executable example, plus sensible guardrails. Its main weaknesses are the complete absence of code for the native question/Choice/Score path it spends substantial prose on, an oversized inline API symbol dump, and references to files that do not exist in the bundle.

Suggestions

Add a short runnable example for the native Noul/Choice/Score client, since it is a primary 'When To Use' path with extensive prose but zero code.

Move the ~60-symbol 'Relevant API Surface' list into the referenced API.md/axir-api.json and keep only the handful of symbols needed for the Core Pattern inline.

Either include the referenced files (API.md, axir-api.json, axir-capabilities.json, examples/) in the skill bundle or point to their canonical location in the installed package so the references resolve.

Break dense multi-fact paragraphs (e.g., the trueThreshold and probability-tolerance paragraphs) into scannable bullets to tighten token efficiency.

DimensionReasoningScore

Conciseness

The body is dense and package-specific with no padding or explanation of concepts Claude already knows — facts like 'Real network support: yes. Scripted no-key transport support: yes.' earn their tokens. Minor tightening is possible in run-on sentences such as 'Set provider trueThreshold (or true_threshold) to a finite value in [0,1], default 0.5. Boolean conversion uses noul >= threshold; this policy is local and never sent.' and the ~60-symbol 'Relevant API Surface' dump, keeping it below anchor 5's 'every token earns its place'.

4 / 5

Actionability

The Core Pattern is executable, copy-paste-ready code ('model = ai(...); triage = ax(...); decision = triage.forward(model, {...})') and the guardrail 'Start from package examples for exact native syntax before inventing a new call shape' directs to runnable examples. However, the native Noul/Choice/Score path — a full third of the prose ('The separate native client exposes system_one / systemOne / SystemOne...') — has no code example at all, a major gap that places it below anchor 4 ('minor gaps').

3 / 5

Workflow Clarity

The 'When To Use' section gives clear decision routing (Jev for typed decisions, native for probabilities/scoring, a separate program for prose/tools) and the Core Pattern shows the three-step flow. No destructive or batch operations exist that would require validation checkpoints, so the simple-skill leniency applies; only minor gaps (e.g., no guidance on what to do when a signature is rejected 'before transport') keep it from a 5.

4 / 5

Progressive Disclosure

Sections are well-organized and external materials are labeled in 'Package Facts' ('Package API docs: API.md and axir-api.json', 'Runnable examples: examples/'), but the referenced files are not present anywhere in the skill bundle (no references/, scripts/, or assets/ directories exist), so the navigation cannot resolve. Additionally, the long inline 'Relevant API Surface' symbol list is content that clearly belongs in the referenced API documentation, matching anchor 3 ('content that should be separate is inline').

3 / 5

Total

14

/

20

Passed

Description

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

The description has an explicit, well-scoped 'Use when' trigger tied to a specific package, giving it excellent distinctiveness. However, the capability list leans heavily on internal jargon ('Typesafe Jev', 'Noul', 'hybrid generation') that obscures what the skill concretely does and weakens natural trigger-term coverage.

Suggestions

Replace internal jargon ('Typesafe Jev', 'Noul', 'hybrid generation') with user-facing capability words such as 'typed boolean/class decision outputs', 'native probabilities and scoring rubrics', and 'structured criteria generation'.

Add natural trigger synonyms users would actually say, e.g. 'typed outputs', 'structured outputs', 'probabilities', or 'scoring rubrics', to improve keyword coverage.

Open with a plain-verb statement of what the skill does (e.g. 'Generates typed decisions and scored criteria in Python via the axllm package') before enumerating features.

DimensionReasoningScore

Specificity

The description names the domain ('writing Python code with `axllm`') and lists capability areas ('boolean/class signatures, value descriptions, ... structured criteria and hybrid generation'), but these are opaque feature nouns rather than concrete actions, and buzzwords like 'Typesafe Jev' and 'Noul' are penalized per the judging guidelines. It sits below anchor 4 ('lists several specific actions') because the reader cannot tell what the skill actually does with those features.

3 / 5

Completeness

Both 'what' and 'when' are present: an explicit 'Use when writing Python code with `axllm`' trigger plus an enumerated capability list. It falls short of anchor 5 ('clearly and explicitly answers both') because the 'what' is stated in unexplained package jargon, leaving the actual capability unclear to anyone outside the package.

4 / 5

Trigger Term Quality

Some natural keywords are present ('Python code', 'axllm', 'boolean', 'class', 'score'), but common user-facing variations such as 'typed outputs', 'structured outputs', or 'probabilities' are missing, and 'Jev'/'Noul' are internal jargon no user would naturally say. This matches anchor 3 ('some relevant keywords but missing common variations or synonyms') rather than anchor 4's 'good keyword coverage'.

3 / 5

Distinctiveness Conflict Risk

The trigger is tightly scoped to a named package ('writing Python code with `axllm`'), creating a clear niche with distinct triggers and minimal risk of firing for unrelated skills, matching the anchor-5 example.

5 / 5

Total

15

/

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.