Install any skill in seconds. Free to start, no credit card required.
Get Started Free →ax-llm/ax-ai
This skill helps an LLM generate correct AI provider setup and configuration code using @ax-llm/ax.
Passed 22 of 24 test cases with the skill, and 4 of 24 without it.
and 28 more in the full report
18 fixed4 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
One of 18 test cases the skill fixed. Same model, same prompt, with and without the skill.
Write a TypeScript snippet pointing an AI client at a self-hosted OpenAI-compatible LLM endpoint at https://local-llm.internal/v1 using a custom model string.
| Checked | Without skill | With skill |
|---|---|---|
| Sets provider profile name to openai-compatible. | Missed | Passed |
| Configures apiURL pointing to custom endpoint base URL. | Missed | Passed |
The instructions your model reads when the skill loads.
Use this skill to generate AI provider setup, configuration, and chat code. Prefer short, modern, copyable patterns. Do not write tutorial prose unless the user explicitly asks for explanation.
import { ai } from '@ax-llm/ax';
const openai = ai({ name: 'openai', apiKey: 'sk-...' });
const claude = ai({ name: 'anthropic', apiKey: 'sk-ant-...' });
const gemini = ai({ name: 'google-gemini', apiKey: 'AIza...' });
const azure = ai({ name: 'azure-openai', apiKey: 'your-key', resourceName: 'your-resource', deploymentName: 'gpt-5-4-mini' });
const deepseek = ai({ name: 'deepseek', apiKey: 'sk-...' });
const mistral = ai({ name: 'mistral', apiKey: 'your-key' });
const cohere = ai({ name: 'cohere', apiKey: 'your-key' });
const custom = ai({
name: 'openai-compatible',
apiKey: process.env.PROVIDER_API_KEY,
apiURL: 'https://example.com/v1',
config: { model: 'provider/model-name' },
});
const reka = ai({ name: 'reka', apiKey: 'your-key' });
const grok = ai({ name: 'grok', apiKey: 'your-key' });
name selects a deployment profile; config.model selects a model inside that
deployment. Never infer provider behavior from a model ID. For example,
name: 'together' with a deepseek-ai/... model uses Together's profile rules,
not DeepSeek's native request shape.
Use axAIProfiles() to discover the complete named catalog and
axGetAIProfile(name) to inspect endpoint requirements, authentication,
operations, capabilities, model rules, sources, and review dates. Use
name: 'openai-compatible' plus apiURL for an unlisted custom endpoint;
unknown names are errors.
Profile-only branded classes were removed in the major-version migration. Use
ai({ name: ... }) for Azure OpenAI, Cohere, DeepSeek, DeepSeek Responses,
Mistral, Reka, and Grok. Retained low-level classes represent genuine
test cases passed, vs 4 / 24 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.