CtrlK
BlogDocsLog inGet started
Tessl Logo

ax-ai

This skill helps an LLM generate correct AI provider setup and configuration code using @ax-llm/ax. Use when the user asks about ai(), providers, models, routing, adaptive balancing, presets, embeddings, batch audio with ai.transcribe() or ai.speak(), extended thinking, context caching, or mentions OpenAI/Anthropic/Google/Azure/DeepSeek/Mistral/Cohere/Reka/Grok with @ax-llm/ax.

65

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

tessl review fix ./website/static/typescript/.well-known/agent-skills/ax-ai/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 highly actionable, code-dense codegen reference with strong guardrails, but it is a monolithic single file with heavy time-sensitive version detail and no progressive disclosure into bundle reference files or explicit sequenced workflow. Splitting per-provider notes and example code into references/ would materially improve it.

Suggestions

Move dense, version-sensitive provider behavior (DeepSeek/Grok/Groq/Cerebras reasoning-effort mappings and the Anthropic/Gemini budget-level tables) into reference files under references/ and link from SKILL.md, isolating time-sensitive model IDs from the overview.

Add a short explicit decision workflow at the top (choose profile via axAIProfiles() -> configure credentials/credentialProvider -> select router/balancer primitive -> call chat/embed/transcribe/speak) so the path through the reference is sequenced.

Relocate the large Examples link list and per-provider quick-start snippets into a references/ bundle so SKILL.md stays a lean overview with one-level-deep, clearly signaled navigation.

DimensionReasoningScore

Conciseness

The body is mostly code-first and not padded with concepts Claude already knows, but it is very long (~640 lines) and saturated with time-sensitive version numbers and model IDs (GPT-5.6, Claude48Opus, Grok 4.6/4.5/4.3, Groq/Cerebras mappings) that are not isolated in a deprecated/old-patterns section.

3 / 5

Actionability

It provides numerous copy-paste-ready, executable TypeScript snippets covering the common cases (provider setup, routing/balancing, chat, transcribe/speak, embeddings, context caching, MCP), plus concrete rules and a "Do Not Generate" guardrail list.

5 / 5

Workflow Clarity

The content is organized as a topical reference with useful decision guidance ("Choose the primitive by responsibility") rather than an explicit multi-step workflow, and there are no validation checkpoints; this is acceptable since code generation is non-destructive, but no sequenced path is laid out.

3 / 5

Progressive Disclosure

No bundle files exist (references/scripts/assets are absent), and dense provider-specific API detail (DeepSeek notes, budget-level tables, context-cache rules) is inlined in the single SKILL.md rather than split into one-level-deep reference files; the only offloaded content is the external Examples link list.

3 / 5

Total

14

/

20

Passed

Description

95%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, third-person description that clearly states both what the skill does and when to use it, with comprehensive natural trigger terms and a distinct niche tied to @ax-llm/ax. The only minor weakness is that the concrete action is essentially single (generate setup/configuration code) despite the broad capability list.

DimensionReasoningScore

Specificity

The description lists many specific capability areas ("routing, adaptive balancing, presets, embeddings, batch audio with ai.transcribe() or ai.speak(), extended thinking, context caching") but the concrete action is essentially one ("generate correct AI provider setup and configuration code"), so coverage is strong with a minor gap versus multiple distinct actions.

4 / 5

Completeness

It explicitly answers "what" ("helps an LLM generate correct AI provider setup and configuration code using @ax-llm/ax") and "when" via an explicit "Use when the user asks about..." clause with concrete trigger phrases.

5 / 5

Trigger Term Quality

Comprehensive natural terms users would actually say, including provider names (OpenAI/Anthropic/Google/Azure/DeepSeek/Mistral/Cohere/Reka/Grok) plus API surface terms like ai(), ai.transcribe(), embeddings, and context caching.

5 / 5

Distinctiveness Conflict Risk

It is bound to a specific library (@ax-llm/ax) and names specific providers and API functions, giving it a clear niche with minimal conflict risk against generic AI-code skills.

5 / 5

Total

19

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (648 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

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.