CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-python-ai

Use when writing Python code with `axllm` 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/python/.well-known/agent-skills/ax-python-ai/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

An information-dense, highly concrete reference body: it assumes Claude's intelligence, avoids known-concept padding, and specifies exact defaults, error strings, and signatures. Its weaknesses are structural — monolithic inline detail that belongs in reference files, no sequenced workflow with validation checkpoints, and dangling references to bundle files that do not exist.

Suggestions

Move per-provider reference detail (sampling rules per model family, retry/backoff specifics, Vertex embedding rules, session-adapter semantics) into a references/ file or files, keeping only a short decision summary per topic in SKILL.md.

Add a sequenced quickstart workflow — choose a named profile, build the client with `ai(...)`, verify against a scripted no-key example, then switch to provider credentials — with explicit validation checkpoints so the topic-organized rules have an executing order.

Either include the referenced materials (`API.md`, `axir-api.json`, `axir-capabilities.json`, `examples/`) in the skill bundle or remove the dangling path references, since none currently exist alongside SKILL.md.

DimensionReasoningScore

Conciseness

Every sentence carries package-specific rules with no padding about concepts Claude already knows (nothing like "PDF files store text and images..."), so it is above 2. But roughly 160 lines of dense run-on prose — e.g., the sampling paragraph "temperature 0, or temperature 0.7 and top-p 1 for `openai-responses`... GPT-5.1-5.4 while reasoning is off, their default; GPT-5.5 and 5.6 with effort `none`" — could be dramatically tightened or moved to reference tables, matching the 3 anchor "mostly efficient but could be tightened" rather than the lean 4-5 anchors.

3 / 5

Actionability

Concrete, specific guidance dominates: one executable snippet (`llm = ai('openai', api_key=os.environ['OPENAI_API_KEY'])`), exact defaults ("`retryableStatusCodes`, by default 500, 408, 429, 502, 503, 504 and 529"), exact error messages ("Request timed out after <N>ms"), and exact signatures (`add_child_agent(namespace, name, child)`). It is not a 5 because the bulk of guidance is prose rules with only a single code example, and the "start with examples under `examples/`" instructions point to paths that are not part of the skill bundle.

4 / 5

Workflow Clarity

The body is organized by topic (profiles, caching, timeouts, retries, routing, sessions), never by sequenced steps, and contains no validation checkpoints — only starting-point guidance like "Start from package examples for exact native syntax before inventing a new call shape". This matches the 3 anchor (sequence/checkpoints implicit), above 2 because sections are coherent and ordered, below 4 because no explicit step sequence or verification loop exists anywhere.

3 / 5

Progressive Disclosure

Thirteen well-labeled sections provide real structure, and external materials are named ("`API.md` and `axir-api.json`", "`axir-capabilities.json`", "`examples/`", a URL), matching the 3 anchor's "some structure... content that should be separate is inline". It is not a 4-5 because essentially all detail (per-provider sampling rules, retry/backoff internals, session semantics, the full API surface list) is inlined in SKILL.md, and the referenced files are not present in the bundle, so the claimed split between overview and reference does not actually exist.

3 / 5

Total

13

/

20

Passed

Description

75%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 solid description with an explicit "Use when..." trigger, good natural keyword coverage anchored by the `axllm` package name, and a specific enumerated capability list. Its main weakness is that capabilities are listed as topic nouns without stating what the skill itself provides, keeping every dimension at 'good but not exemplary'.

DimensionReasoningScore

Specificity

Enumerates concrete capabilities — "named deployment profiles, generic provider clients, model selection, OpenAI-compatible calls, Responses, Gemini, Anthropic, routers, and balancers" — giving several specific items with minor coverage gaps. It falls short of the 5 anchor because these are domain nouns rather than the concrete actions ("Extract text and tables from PDF files, fill forms") the top anchor requires, and above 3 because coverage goes well beyond 1-2 actions.

4 / 5

Completeness

The explicit clause "Use when writing Python code with `axllm` for..." clearly answers 'when', and the enumerated purposes convey the 'what' domain. It matches the 4 anchor ("both present; 'when' could be more explicit or specific") rather than 5 because the description never states what the skill itself provides (API docs, examples, manifests), leaving the 'what' implied rather than explicit.

4 / 5

Trigger Term Quality

Natural keywords a user of this package would say are present — "Python", "OpenAI-compatible", "Responses", "Gemini", "Anthropic", "routers", "balancers", plus the package name "axllm". It is not a 5 because common variations and synonyms ("chat completions", "failover", "LLM client", "model catalog") are missing, and not a 3 because provider-name coverage is broad rather than partial.

4 / 5

Distinctiveness Conflict Risk

The package name "axllm" pins the skill to one specific generated package, making it mostly distinct as in the 4 anchor. It is not a 5 because broad provider terms like "Gemini, Anthropic, routers, and balancers" carry minor overlap risk with generic provider-API skills, and not a 3 because the `axllm` gating keeps it well above "could still overlap with similar skills".

4 / 5

Total

16

/

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.