Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when adding or changing generated AxIR language backends in this repo, including target registration, codegen templates, package metadata, examples, conformance, and verification. This is a repo-maintainer skill and must not be emitted into generated Ax packages.
.claude/skills/ax-llm-axir-language-backend/SKILL.md| Model | Eval pass | Runs |
|---|---|---|
| gemini-3.6-flash | 96% | 23 |
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 24% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 47% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 38% | 0% |
Use this for work on generated Ax libraries such as Python, Java, C++, Go, or future Rust. This is not an Ax product skill from src/ax/skills/; it is repo-local guidance for compiler/backend implementation.
tools/axir/internal/axir/codegen.go, verify.go, runtime_model.go, the existing *_core_emit.go files, and target templates.axir, ax-go, or compiler-internal branding in generated library metadata.unsupported_capabilities for a generated package that is included in default verification; either implement the surface or remove the public/manifest claim.pass, return None, return null, return nil, Value::Null, empty vectors, or generic "not implemented"/"unsupported" fallbacks. Validation errors remain acceptable for invalid inputs, unknown provider names, and unknown runtime protocol ops.conformance-coverage.json with each claimed fixture kind/operation classified as semantic, validation-error, transport-boundary, or explicitly-not-claimed; default-verified targets must not use presence-only.Compile, CLI help, default verify target list, package name mapping, capability manifest, target idiom metadata.tools/axir/internal/axir/axir_test.go, including negative cases for placeholder runner patterns and positive markers for AxAgent, AxFlow, AxAI, runtime protocol, and optimizer coverage.scripts/run-example.mjs, src/examples/<language>/, src/examples/README.md, and root package.json convenience scripts if needed.npm run example -- list, the root README "Run examples" block, examples README command blocks, package convenience scripts, and release/compiler docs so the new backend is discoverable without reading compiler internals.README.md, docs/COMPILER.md, docs/RELEASE.md, and docs/ARCHITECTURE.md. Edit canonical docs in docs/, not generated docs under website/.generated/.src/examples/<language>/<group>/ with provider-backed ax-example headers and run the website-md language docs workflow so generated markdown stays aligned.npm run test:axir passes and includes the new target in default verification once the backend is claimed as current.axir verify --targets python,java,cpp,<new-target> passes for all default suites: signature, schema, validation, prompt, axgen, axai, axagent, axoptimize, axprogram, and axflow.src/examples/<language>/; keep mock, no-key, scripted, debug, and conformance-only material under internal tests or packages/<language>/examples.generation, short-agents, flows, optimization, and audio each need beginner, intermediate, and advanced examples when the language is listed on the website.test:axir inclusion.src/ax/skills/; those files are Ax product subsystem docs.Raw session schema patterns are defined in ir/axcore/regex.axir; see regex.md for UTF-16 semantics and matcher invariants. Keep pattern decisions in Core and run the TypeScript-derived session-ecmascript-pattern-validation.json fixture in every target. Native agent tests must also exercise valid invocation after invalid-argument correction, not only pattern matching in isolation.
For cancellation changes, run the native transport tests as well as scripted session tests. C++ release verification builds a second session test binary with libcurl enabled so stalled HTTP cleanup is exercised; the core-only binary cannot prove that behavior. Delegated MCP tests abort only after the child starts its imported tool and assert settlement, retained usage, and closed parent callbacks.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 50,092 | 20,840 | -58% | 1 | 1 | 0% | 3,730 | 4,634 | +24% | 0 | 0 | — |
case-02 | fail→pass | 25,489 | 24,144 | -5% | 1 | 1 | 0% | 3,474 | 5,122 | +47% | 0 | 0 | — |
case-03 | fail→pass | 29,523 | 20,452 | -31% | 1 | 1 | 0% | 3,816 | 4,501 | +18% | 0 | 0 | — |
case-04 | pass→pass | 12,998 | 8,633 | -34% | 1 | 1 | 0% | 1,296 | 2,394 | +85% | 0 | 0 | — |
case-05 | fail→pass | 18,129 | 8,302 | -54% | 1 | 1 | 0% | 2,016 | 2,157 | +7% | 0 | 0 | — |
case-06 | pass→pass | 18,646 | 14,387 | -23% | 1 | 1 | 0% | 2,455 | 3,114 | +27% | 0 | 0 | — |
case-07 | fail→pass | 20,001 | 14,248 | -29% | 1 | 1 | 0% | 2,318 | 3,201 | +38% | 0 | 0 | — |
case-08 | fail→pass | 19,069 | 12,431 | -35% | 1 | 1 | 0% | 2,410 | 3,076 | +28% | 0 | 0 | — |
case-09 | fail→pass | 16,823 | 10,168 | -40% | 1 | 1 | 0% | 2,023 | 2,600 | +29% | 0 | 0 | — |
case-10 | fail→pass | 19,050 | 9,942 | -48% | 1 | 1 | 0% | 2,227 | 2,693 | +21% | 0 | 0 | — |
case-11 | pass→pass | 19,861 | 10,493 | -47% | 1 | 1 | 0% | 2,248 | 2,585 | +15% | 0 | 0 | — |
case-12 | pass→pass | 18,566 | 10,366 | -44% | 1 | 1 | 0% | 2,216 | 2,539 | +15% | 0 | 0 | — |
case-13 | fail→pass | 15,297 | 10,561 | -31% | 1 | 1 | 0% | 1,653 | 2,689 | +63% | 0 | 0 | — |
case-14 | fail→pass | 14,342 | 11,870 | -17% | 1 | 1 | 0% | 2,219 | 2,984 | +34% | 0 | 0 | — |
case-15 | fail→pass | 19,650 | 8,183 | -58% | 1 | 1 | 0% | 2,420 | 2,186 | -10% | 0 | 0 | — |
case-16 | pass→pass | 10,676 | 10,602 | -1% | 1 | 1 | 0% | 1,681 | 2,640 | +57% | 0 | 0 | — |
case-17 | fail→pass | 18,419 | 11,252 | -39% | 1 | 1 | 0% | 2,181 | 2,854 | +31% | 0 | 0 | — |
case-18 | fail→pass | 19,120 | 10,372 | -46% | 1 | 1 | 0% | 2,065 | 2,589 | +25% | 0 | 0 | — |
case-19 | fail→pass | 22,685 | 8,906 | -61% | 1 | 1 | 0% | 2,758 | 2,309 | -16% | 0 | 0 | — |
case-20 | fail→pass | 18,786 | 10,133 | -46% | 1 | 1 | 0% | 2,304 | 2,739 | +19% | 0 | 0 | — |
case-21 | pass→pass | 21,834 | 17,477 | -20% | 1 | 1 | 0% | 2,873 | 3,609 | +26% | 0 | 0 | — |
case-22 | pass→pass | 24,040 | 12,002 | -50% | 1 | 1 | 0% | 2,851 | 2,729 | -4% | 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. The headline lift of +68 percentage points is the difference between those two pass rates over the 22 comparable cases.
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.
| Model | Method | Date | Lift |
|---|---|---|---|
| gemini-3.6-flash | verified | 8/10/2026 | +55% |
Other measured skills in the registry, with their headline benchmark lift.