CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-python-gen

Use when writing Python code with `axllm` for AxGen programs, forward calls, indexed multi-sampling, result pickers, streaming, tools, assertions, traces, usage, and output parsing.

52

Quality

66%

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/python/skills/ax-python-gen/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

38%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 demonstrates deep, accurate knowledge of the generated package's behavior with many exact API names, defaults, and error messages, but it is delivered as a monolithic prose specification rather than a navigable skill. Overwhelming density, no working end-to-end examples beyond a 4-line snippet, and references to files absent from the bundle hold down every dimension.

Suggestions

Move the exhaustive option-by-option specifications (Provider Forward Options, Astra Session Work, date parsing, retry semantics) into one-level-deep reference files under references/ (e.g., references/forward-options.md, references/sessions.md) and keep a short summary plus pointed links in SKILL.md.

Replace prose behavior descriptions with a few complete executable examples — constructing a client, attaching a tool, streaming a forward, multi-sampling with a picker — either inline or as runnable files in the bundle the skill actually ships.

Add a short sequenced workflow with validation checkpoints, e.g.: 1) copy the closest example from examples/, 2) adapt the signature and options, 3) validate locally with a no-key scripted example before any provider call.

DimensionReasoningScore

Conciseness

The body is a ~128-line, 23KB wall of dense prose that exhaustively inlines every option's edge cases (e.g., the 30+ line 'Provider Forward Options' section and the 'Astra Session Work' section), with the phrase 'as in TypeScript' repeated roughly twenty times as padding. It is noticeably verbose with many sections that should be trimmed or moved out, though it does not explain concepts Claude already knows, keeping it above the 1 anchor.

2 / 5

Actionability

There is real concrete guidance — the core-pattern code block, exact option spellings, defaults ('maxSteps default 25', 'maxRetries default 3'), method signatures like `ax(..., sample_count=N, result_picker=callback)` and `add_field_processor(field, fn)`, and exact error strings — but it is incomplete: `llm` in the core pattern is never constructed or explained, and no complete executable example shows tools, streaming, or multi-sampling end to end. This matches the 3 anchor: some concrete guidance, key details missing.

3 / 5

Workflow Clarity

'When To Use' bullets and the 'Guardrails' section give a rough orientation (start from package examples, use no-key examples for deterministic local checks), but there is no sequenced multi-step process with explicit validation checkpoints — the validation hint is a single implicit guardrail line. This fits the 3 anchor: sequence present but checkpoints missing or implicit.

3 / 5

Progressive Disclosure

The skill bundle contains no `references/`, `scripts/`, or `assets/` directories, so the paths the body relies on (`API.md`, `axir-api.json`, `axir-capabilities.json`, `examples/`, `src/examples/python/generation/`) do not resolve, and the bulk of the body is an inlined API/behavior specification that clearly belongs in separate reference files. This matches the 2 anchor: content that belongs in separate files is inlined and references are effectively buried/dangling, despite the section headers keeping it above a 1.

2 / 5

Total

10

/

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 that explicitly signals both purpose and trigger conditions using distinctive package-specific terms and a broad enumeration of capability areas. Its main weakness is that the 'when' clause is a restatement of the 'what' rather than a set of independent user-facing trigger phrases, and capabilities are listed as feature nouns rather than concrete actions.

DimensionReasoningScore

Specificity

The description enumerates many concrete capability areas — 'AxGen programs, forward calls, indexed multi-sampling, result pickers, streaming, tools, assertions, traces, usage, and output parsing' — giving broad, specific coverage of the package. It falls short of the 5 anchor because the items are feature-area nouns under a single generic action ('writing Python code with `axllm`') rather than multiple distinct concrete actions like the anchor's 'extract text, fill forms, merge documents, convert pages'.

4 / 5

Completeness

Both what ('writing Python code with `axllm` for AxGen programs, forward calls, ... output parsing') and when ('Use when writing Python code with `axllm` ...') are explicit. It sits below 5 because the when-clause simply restates the what rather than naming distinct trigger situations or user mentions (compare the 5 anchor's 'or when the user mentions PDFs, forms, or document extraction').

4 / 5

Trigger Term Quality

Terms like 'Python code', 'axllm', 'AxGen', 'forward calls', 'streaming', 'multi-sampling', 'result pickers', and 'output parsing' are exactly what a user of this library would say, giving good keyword coverage. A few natural variations are missing (e.g., 'structured generation', 'structured output', 'MCP', 'caching'), so it does not reach the comprehensive-with-synonyms 5 anchor.

4 / 5

Distinctiveness Conflict Risk

The niche markers '`axllm`' and 'AxGen' are highly distinctive package names unlikely to appear in any other skill's context, and the enumerated feature areas further narrow the trigger. This matches the 5 anchor: a clear niche with distinct triggers and minimal conflict risk.

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.