Index of every page on this site: llms.txt
All skills
Run it yourself

Write, debug, review, profile, or shard JAX numerical code. Use when the hard part is JAX tracing, autodiff, control flow, PRNGs, compilation, array placement, or runtime performance. Do not impose JAX on a NumPy-only or unrelated GPU task.

Use this Skill: https://skilld.dev/gh/tristanmanchester/agent-skills/jax-development

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

referencesCODE-REVIEW-RUBRIC.md

≈792 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Code review rubric

Use this file before finalising an answer. It helps the agent self-review JAX code the way an experienced maintainer would.

Must-fix categories

1. Purity and state

Check:

  • any hidden global state?
  • any in-place mutation that should be a functional update?
  • any traced values leaking into globals or object fields?

If yes, fix before anything else.

2. Randomness

Check:

  • is the key explicit?
  • is it split exactly where needed?
  • is the updated key returned when the state continues?
  • is the same key accidentally reused?

If key handling is muddy, the code is not production-ready.

3. Static vs dynamic boundary

Check:

  • are Python decisions being made on traced values?
  • are array shapes or sizes created from runtime data?
  • are large Python objects or lambdas changing across calls?

If yes, expect tracer errors or compile storms.

4. Host-device boundary

Check:

  • np.asarray
  • .item()
  • .tolist()
  • device_get
  • frequent printing or callbacks
  • Python control flow around array values

If any of these sit in the claimed hot path, call them out.

Performance review categories

5. Compilation structure

Check:

  • is jit hoisted out of loops?
  • are many tiny compiled regions being created?
  • is the whole step compiled instead of many subpieces when that makes sense?
  • are shapes, dtypes, and static args stable across calls?

6. Loop and batch structure

Check:

  • Python loop that should be scan?
  • Python per-example loop that should be vmap?
  • huge unrolled jaxpr likely causing compile blowup?

7. Memory and numerics

Check:

  • dtype expectations explicit?
  • unnecessary materialisation?
  • remat or donation worth considering?
  • stable algebra around divisions, logs, exps, masks, and softmax-like code?

8. Benchmark honesty

Check:

  • warm-up?
  • blocking?
  • compile time separated from steady-state?
  • host transfer excluded or included intentionally?
  • device/backend stated?

No benchmark claim should survive without these.

Distributed review categories

9. Sharding semantics

Check:

  • what is the logical global shape?
  • which axes are sharded and over what mesh axes?
  • which values are replicated?
  • are collectives aligned with the right axis names?
  • are local vs global semantics explicit?

10. Legacy API choices

Check:

  • is pmap being used because it is genuinely appropriate, or just because the code is old?
  • would modern sharding APIs clarify the logic?

Response-quality categories

11. Explanation quality

A strong answer explains:

  • what was wrong
  • why the fix works under tracing / compilation / sharding semantics
  • what to measure or test next

12. Verification quality

A strong answer gives:

  • a small correctness check
  • a timing / profiler plan when performance is discussed
  • backend caveats if behaviour may differ on GPU/TPU

Rapid scorecard

For each category, grade the draft answer mentally as:

  • green: solid
  • amber: acceptable but mention caveat
  • red: fix before sending

If purity, randomness, static/dynamic boundaries, or benchmark honesty are red, the answer should not be sent yet.

Source: SKILL.md on GitHub

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

No alerts1mo4 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    The skill provides a suite of JAX development tools. It includes functionality for dynamic loading of local modules for benchmarking and a code scanner that processes user files, which introduces a low risk of dynamic execution and indirect prompt injection.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

  • ZeroLeaks6mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 3323bc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Steadyupdated last month
Other metadata
compatibility
Current-release baseline JAX 0.11.1 requires Python >=3.12; wheel/backend support must be checked separately. Diagnostics need Python 3.12+ and the project's JAX environment for runtime probes. Static helpers can run without JAX. Benchmark/probe commands execute trusted project code.
metadata
{
  "version": "3.0.0",
  "reviewed": "2026-09-13",
  "source": "https://github.com/jax-ml/jax/tree/jax-v0.11.1"
}

README badge

README badge for tristanmanchester/agent-skills/jax-development