Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when changing Ax website language docs, language-specific snippets, examples, API symbol mappings, generated package capabilities, or adding a new website language route. Keeps the markdown-only Hugo site source-audited and generated from repo truth.
.claude/skills/ax-llm-website-md-language-docs/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-03 | ✗→✓ | ▲ Improved | -22% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 12% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -14% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -11% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -24% | 0% |
Use this skill when a change affects website/, Ax public APIs, examples, AxIR package docs, language capabilities, or docs that should appear in language-prefixed markdown routes.
src/ax/index.tssrc/ax/skills/npm run example -- list and the files it namespackages/{python,java,cpp,go,rust}/website/content-src/templates/.website/content-src/languages/<language>.json.code, fence, verified, illustrative, sourcePath, requiresCredentials, and notes.sourcePath pointing at a checked-in runnable example when a snippet is meant to be copy/paste runnable.illustrative or let the generator label them automatically.website/content-src/site-map.json; generated pages read this manifest.website/.generated/ or generated package docs. If AxIR package truth is stale, refresh it with npm run axir:generate-packages.src/examples/<language>/<group>/ with ax-example headers before updating generated markdown.title, group, description, provider, env, and level; use story only for examples that belong in Advanced Start.generation, short-agents, flows, optimization, and audio need beginner, intermediate, and advanced examples.packages/<language>/examples for AxIR verification separate from the public website catalog.npm run example -- list --json and regenerate the website with npm run website:prepare.build/apidocs.packages/<language>/axir-api.json.ai, ax, s, agent, and optimize.Run the narrow checks for the surface you changed, then run:
bashnpm run doc:build:markdown npm run axir:check-packages npm run example -- list npm run example -- list --json npm run website:prepare npm run website:check npm run test:examples:generated npx biome check package.json scripts/website-prepare.mjs scripts/check-website-links.mjs .github/workflows/ci.yml --files-ignore-unknown=true git diff --check
If Hugo is not installed locally, install or point PATH at the pinned Hugo binary used by CI before running website:check.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 11,269 | 5,295 | -53% | 1 | 1 | 0% | 2,177 | 1,255 | -42% | 0 | 0 | — |
case-02 | fail→fail | 9,811 | 5,906 | -40% | 1 | 1 | 0% | 1,965 | 1,170 | -40% | 0 | 0 | — |
case-03 | fail→pass | 12,048 | 5,074 | -58% | 1 | 1 | 0% | 2,249 | 1,762 | -22% | 0 | 0 | — |
case-04 | fail→pass | 6,647 | 3,467 | -48% | 1 | 1 | 0% | 1,309 | 1,466 | +12% | 0 | 0 | — |
case-05 | fail→pass | 8,565 | 2,748 | -68% | 1 | 1 | 0% | 1,519 | 1,300 | -14% | 0 | 0 | — |
case-06 | fail→pass | 10,528 | 5,001 | -52% | 1 | 1 | 0% | 1,938 | 1,734 | -11% | 0 | 0 | — |
case-07 | fail→pass | 8,713 | 2,375 | -73% | 1 | 1 | 0% | 1,665 | 1,265 | -24% | 0 | 0 | — |
case-08 | fail→pass | 8,565 | 2,119 | -75% | 1 | 1 | 0% | 1,523 | 1,194 | -22% | 0 | 0 | — |
case-09 | fail→pass | 14,085 | 3,342 | -76% | 1 | 1 | 0% | 2,462 | 1,328 | -46% | 0 | 0 | — |
case-10 | fail→pass | 9,388 | 3,444 | -63% | 1 | 1 | 0% | 1,702 | 1,435 | -16% | 0 | 0 | — |
case-11 | fail→pass | 7,443 | 1,752 | -76% | 1 | 1 | 0% | 1,391 | 1,113 | -20% | 0 | 0 | — |
case-12 | fail→pass | 12,331 | 4,009 | -67% | 1 | 1 | 0% | 2,007 | 1,560 | -22% | 0 | 0 | — |
case-13 | fail→pass | 6,552 | 2,244 | -66% | 1 | 1 | 0% | 1,155 | 1,152 | -0% | 0 | 0 | — |
case-14 | pass→pass | 8,943 | 2,901 | -68% | 1 | 1 | 0% | 1,576 | 1,249 | -21% | 0 | 0 | — |
case-15 | fail→pass | 3,806 | 1,511 | -60% | 1 | 1 | 0% | 707 | 1,101 | +56% | 0 | 0 | — |
case-16 | fail→pass | 6,571 | 2,391 | -64% | 1 | 1 | 0% | 1,114 | 1,144 | +3% | 0 | 0 | — |
case-17 | pass→pass | 11,277 | 3,556 | -68% | 1 | 1 | 0% | 1,936 | 1,465 | -24% | 0 | 0 | — |
case-18 | fail→pass | 10,083 | 2,594 | -74% | 1 | 1 | 0% | 1,875 | 1,263 | -33% | 0 | 0 | — |
case-19 | fail→pass | 9,523 | 2,262 | -76% | 1 | 1 | 0% | 1,901 | 1,195 | -37% | 0 | 0 | — |
case-20 | pass→fail | 15,849 | 5,055 | -68% | 1 | 1 | 0% | 3,656 | 1,112 | -70% | 0 | 0 | — |
case-21 | pass→fail | 15,961 | 2,239 | -86% | 1 | 1 | 0% | 3,254 | 1,150 | -65% | 0 | 0 | — |
case-22 | pass→pass | 7,409 | 7,358 | -1% | 1 | 1 | 0% | 1,527 | 2,156 | +41% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 20 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +59 percentage points is the difference between those two pass rates over the 20 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.