Skip to content
Back to skills

Jax Backend

ASecurity

"Use IKPy's optional JAX backend for CPU-safe JIT/AOT forward

  • 247 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 8, 2026
developmentpythonrustapibackend

Works with

  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill jax-backend --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Jax Backend?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Jax Backend
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-jax-backend/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-jax-backend)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: jax-backend
description: "Use IKPy's optional JAX backend for CPU-safe JIT/AOT forward
  kinematics, autodiff Jacobians, and bounded SciPy inverse kinematics, with
  NumPy parity checks and explicit compilation and precision tradeoffs."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# IKPy JAX backend

Use this sub-skill when an already-constructed IKPy `Chain` needs JAX-backed FK
or IK. Install the optional extra first; JAX is not a base dependency and this
skill never promises GPU acceleration.

## Operating route

1. Install `ikpy[jax]` and verify `ikpy.JAX_AVAILABLE` in the same Python
   environment that will run the chain.
2. Obtain the chain through **robot-model-import**. JAX dispatch is intended for
   `OriginLink` and `URDFLink` chains (revolute, prismatic, or fixed); route
   general chain construction and semantics to **chain-kinematics**.
3. Choose `jax_precompile=True` for predictable first-use latency or `False`
   for cheap cache creation and lazy first-call compilation. Run FK once and
   compare it with NumPy before using JAX IK.
4. Call `Chain.forward_kinematics(..., backend="jax")` or
   `Chain.inverse_kinematics(..., backend="jax")`. For a trajectory, pass the
   previous full solution as `initial_position`.
5. Read the linked references for exact signatures, solver kwargs, supported
   orientation modes, bounds, cache lifecycle, and failure recovery.

## Hard rules

- `jax` and `jaxlib` arrive through the optional `jax` extra:
  `python -m pip install 'ikpy[jax]'`.
- CPU JAX proves only CPU execution. The package does not guarantee CUDA,
  accelerator plugins, or a GPU speedup. An explicit `JAX_PLATFORMS=cpu` run is
  the safe baseline.
- The first JAX use can compile the cache. AOT/precompile trades longer cache
  creation for a faster first call; lazy mode moves compilation to the first
  operation. Neither mode persists a compiled binary across processes.
- Verify NumPy/JAX FK with `rtol=1e-5, atol=1e-5` (the repository's JAX tests'
  baseline) before trusting a result. Use x64 only when configured before JAX
  and cache creation.
- `DHLink` is not a supported JAX execution path: extraction labels it as a
  separate type, but the JAX dispatch switch has no DH case. Unknown custom
  link classes raise `ValueError`. Use NumPy or convert the model through the
  appropriate importer.
- Route robot loading to **robot-model-import**, general IK behavior to
  **chain-kinematics**, and plotting to **visualization-geometry**.

## References

- [API reference](references/api-reference.md) — public dispatch, cache, IK
  kwargs, low-level JAX functions, and geometry signatures.
- [Workflows](references/workflows.md) — installation, CPU-safe setup, parity,
  compilation choices, precompile/lazy use, and warm-start trajectories.
- [Troubleshooting](references/troubleshooting.md) — missing optional
  dependencies, precision, unsupported links, bounds, solver settings, and
  cache reuse.

The bundled `scripts/smoke_jax.py` is a deterministic, inline-chain smoke
check. It supports `--help`, exits cleanly when JAX is absent, checks NumPy/JAX
FK parity, and can run bounded JAX IK with `--ik` without requiring a GPU.

Files in this skill

  • SKILL.md3.2 KB
  • references/api-reference.md9.8 KB
  • references/troubleshooting.md9.2 KB
  • references/workflows.md9.3 KB
  • scripts/smoke_jax.py5.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.