Skip to content
Back to skills

Internal Advanced

ASecurity

Use semi-public equinox.internal helpers for advanced JAX-library workflows.

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

Works with

  • api

Security analysis

A100/100

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

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill internal-advanced --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Internal Advanced?

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

Security grade badge for Internal Advanced
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-internal-advanced/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-internal-advanced)

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: internal-advanced
description: "Use semi-public equinox.internal helpers for advanced JAX-library workflows."
metadata:
  disco-role: operating
disable-model-invocation: true
license: Apache 2.0
---

# Internal Advanced

Use this sub-skill only for advanced tasks that explicitly need
`equinox.internal` (`import equinox.internal as eqxi`). This namespace is
semi-public, intended for expert users and downstream JAX libraries, and has no
stability guarantees.

## Use when

- The user names `equinox.internal`, `eqxi`, `noinline`, internal `while_loop`,
  internal `scan`, `nontraceable`, `nondifferentiable`, `closure_to_pytree`,
  `finalise_jaxpr`, `str2jax`, `GetKey`, or primitive authoring helpers.
- The task is about reducing JAX compile-time by preventing inlining.
- A downstream library needs checkpointed/bounded loops or recursive
  checkpointed scan behavior.
- A custom primitive must support filtered PyTree arguments, JVP, transpose, or
  batching rules.
- A task needs advanced diagnostics that are not exposed as a stable root API.

## Route elsewhere first

- Use `../module-and-trees/` for ordinary module and PyTree patterns.
- Use `../filtered-transformations/` for public filtered JIT/AD/vmap/pmap,
  checkpointing, callback, and sharding APIs.
- Use `../nn-and-state/` for neural-network layers and state.
- Use `../diagnostics-and-serialization/` for public debug, runtime-error,
  progress-meter, and serialization workflows.

## Read first

- [`references/internal-advanced.md`](references/internal-advanced.md) for supported internal families and safe
  usage patterns.
- [`references/troubleshooting.md`](references/troubleshooting.md) for CPU-only, transform, loop, and primitive
  failure modes.
- [`../../references/api-reference.md`](../../references/api-reference.md) for signature summaries.

## Core workflow

1. Confirm a public `eqx.*` API cannot solve the task. Prefer stable APIs when
   possible.
2. Identify the specific internal helper and its expected transform context.
3. Keep tests small and CPU-first unless the user provides accelerator-specific
   acceptance criteria.
4. For `noinline`, verify eager, `jit`, `vmap`, and AD behavior separately.
5. For internal loops, choose `kind="lax"`, `"bounded"`, or
   `"checkpointed"` based on gradient and memory needs.
6. For nontraceable/nondifferentiable helpers, explicitly state which transforms
   are meant to fail.
7. For primitive helpers, define and test impl, abstract eval, JVP, transpose,
   batching, and filtered binding rules.

## Minimal validation

From the generated skill root (set `EQUINOX_SKILL_ROOT` to its absolute path),
run:

```bash
cd "$EQUINOX_SKILL_ROOT" && python scripts/smoke.py --mode internal
```

This checks tiny `noinline`, internal `while_loop`, internal `scan`, and
`nontraceable` behavior. It is a smoke test, not a guarantee that advanced
JAX-internal behavior works for every backend.

## Scope note

This sub-skill distills selected advanced Equinox internals into the bundled
references and smoke helper. The source repository's internal modules and tests
were construction evidence only, not runtime dependencies.

## Key cautions

- `equinox.internal` APIs may change or disappear between releases.
- `noinline` is documented as only tested on CPU. Do not claim accelerator
  support without an accelerator-specific test.
- `to_onnx` is intentionally not a verified capability in this skill because
  the native ONNX test is skipped due to an upstream converter bug.
- Internal loop and primitive helpers depend on JAX internals; pin versions or
  re-run native tests when upgrading JAX or Equinox.

Files in this skill

  • SKILL.md3.6 KB
  • references/internal-advanced.md5.5 KB
  • references/troubleshooting.md6.2 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.