Agent skill

Nox Py Dev

by elodin-sys in elodin-sys/elodin

Contribute to the Elodin Python SDK (nox-py). An agent skill from elodin-sys/elodin.

Apache-2.0Auto-check passedAI & LLM Engineering

Install Nox Py Dev

skills CLI
$ npx skills add elodin-sys/elodin --skill nox-py-dev -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install elodin-sys/elodin nox-py-dev --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/elodin-sys/elodin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/nox-py-dev .claude/skills/nox-py-dev && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
nox-py-dev
GitHub stars
547
Token cost
~1.5k tokens
SKILL.md length
469 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

Contribute to the Elodin Python SDK (nox-py). An agent skill from elodin-sys/elodin.

  • Works in 5 steps: Define the Rust type in component.rs or… → Add PyO3 #[pyclass] bindings → Export in lib.rs module registration → …
  • Editing PyO3 bindings in libs/nox-py/
  • SKILL.md covers Build & Test, Architecture, Python API Surface and Key Rust Modules, plus 3 more sections
  • Calls just, pytest and python

What it does

Nox Py Dev is an agent skill from elodin-sys/elodin. Contribute to the Elodin Python SDK (nox-py). Use when editing PyO3 bindings in libs/nox-py/, adding new Python API surface, modifying the JAX integration, working on component/system compilation, or changing the Python package in python/elodin/.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering, covering Deep learning. It works with Python and Rust. The repository describes itself as: Elodin simulation and flight software monorepo. The licence is Apache-2.0.

When your agent uses it

  • Editing PyO3 bindings in libs/nox-py/
  • Adding new Python API surface
  • Modifying the JAX integration
  • Working on component/system compilation

Example prompts

  • “/nox-py-dev”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Define the Rust type in component.rs or a new module
  2. Add PyO3 #[pyclass] bindings
  3. Export in lib.rs module registration
  4. Add Python-side type alias in python/elodin/init.py
  5. Test: spawn an entity with the component, verify it appears in the editor

What it can do on your machine

Read from SKILL.md and the folder at commit 3bc1d99. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • just
    • pytest
    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Nox Py Dev loads about 1.5k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 469 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from elodin-sys/elodin at commit 3bc1d99, republished under its Apache-2.0 licence (© elodin-sys). 469 words, ~1,496 tokens.

Download SKILL.mdSave it as .claude/skills/nox-py-dev/SKILL.md (or your agent's skills folder).
name
nox-py-dev
description
Contribute to the Elodin Python SDK (nox-py). Use when editing PyO3 bindings in libs/nox-py/, adding new Python API surface, modifying the JAX integration, working on component/system compilation, or changing the Python package in python/elodin/.

nox-py Development

nox-py is the Elodin Python SDK — PyO3 bindings that bridge Python simulations to the Rust ECS engine (in nox-py/src/), the NOX tensor compiler (→ cranelift / JAX), and Impeller telemetry.

Build & Test

bash
just install py

# Run tests
pytest libs/nox-py/tests/

# Quick verification with an example
elodin editor examples/three-body/main.py

Rebuild the wheel after any Rust changes. Python-only changes in python/elodin/ are picked up immediately.

Architecture

Python user code
    │
    ▼
python/elodin/__init__.py    ← Python API surface, decorators, Query/GraphQuery
    │
    ▼
libs/nox-py/src/lib.rs       ← PyO3 module registration
    │
    ├── world_builder.rs      ← World creation, spawn, run
    ├── system.rs             ← System compilation pipeline
    ├── component.rs          ← Component types and metadata
    ├── archetype.rs          ← Archetype definitions
    ├── query.rs              ← Query system (map, map_seq)
    ├── graph.rs              ← GraphQuery and edge_fold
    ├── spatial.rs            ← SpatialTransform, SpatialMotion, SpatialForce, SpatialInertia
    ├── entity.rs             ← EntityId management
    ├── exec.rs               ← WorldExec enum (Iree/Jax), profiling, DB integration
    ├── jax_exec.rs           ← JaxExec, JaxWorldExec (JAX JIT per-tick execution)
    ├── step_context.rs       ← StepContext for pre/post step callbacks
    ├── impeller_client.rs    ← Impeller client for DB connection
    ├── asset.rs              ← Mesh, Material, GLB asset handling
    ├── linalg.rs             ← Linear algebra utilities
    ├── ukf.rs                ← Unscented Kalman Filter
    ├── s10.rs                ← S10 recipe integration
    └── error.rs              ← Error types and Python exception mapping
    │
    ▼
libs/nox/                     ← Tensor library, symbolic backend
    │
    ▼
libs/cranelift-mlir/          ← Pure Rust StableHLO runtime

Python API Surface

python/elodin/__init__.py

The main API module. Exports:

  • Decorators: @system, @map, @map_seq
  • Types: World, Query, GraphQuery, Component, Archetype, Body
  • Spatial types: SpatialTransform, SpatialMotion, SpatialForce, SpatialInertia, Quaternion
  • Built-in components: WorldPos, WorldVel, Inertia, Force, WorldAccel
  • Utilities: six_dof(), Panel, GraphEntity, Mesh, Material, Edge
python/elodin/jaxsim.py

JAX-only execution mode. Compiles the simulation world into pure JAX functions for RL training and jax.vmap batching.

python/elodin/egm08.py / python/elodin/j2.py

Earth gravity models. EGM08 is a high-fidelity spherical harmonics model; J2 is simple oblate Earth.

Key Rust Modules

world_builder.rs

Central orchestrator. Handles World.spawn(), World.insert(), World.run(), World.build(), World.to_jax(). This is where simulation execution modes branch.

system.rs

Compiles Python-defined systems into executable computations via cranelift (default) or JAX. Handles the @system, @map, @map_seq decorator logic on the Rust side. System composition (pipe |) is implemented here.

exec.rs

Defines WorldExec enum with Cranelift(CraneliftWorldExec) and Jax(JaxWorldExec) variants. Both implement the same interface for tick execution, profiling, and DB integration. The backend parameter in w.run() / w.build() selects between the cranelift and JAX execution modes.

jax_exec.rs

JAX backend: compiles Noxpr graph → jax.jit() callable, then executes each tick by calling the JAX function via PyO3. Slower than cranelift but supports all JAX operations and the GPU.

component.rs

Maps Python Component annotations to component schemas. Handles type inference, metadata, and the ComponentType / PrimitiveType hierarchy.

spatial.rs

PyO3 bindings for spatial vector algebra types. Each type wraps a nox tensor and exposes Python-friendly constructors, accessors, and arithmetic operators.

Show full SKILL.md (193 more words)Show less
graph.rs

Graph query implementation. edge_fold is the core operation — it iterates edges, queries left/right entity components, and accumulates results.

Adding a New Feature

New Component Type
  1. Define the Rust type in component.rs or a new module
  2. Add PyO3 #[pyclass] bindings
  3. Export in lib.rs module registration
  4. Add Python-side type alias in python/elodin/__init__.py
  5. Test: spawn an entity with the component, verify it appears in the editor
New System Decorator
  1. Implement the Rust compilation logic in system.rs
  2. Add the Python decorator in python/elodin/__init__.py
  3. Ensure it composes with | (pipe operator)
  4. Test: write a simulation using the new decorator, verify output
New Execution Mode
  1. Add the mode in exec.rs (or world_builder.rs for world-level API)
  2. Wire CLI support in apps/elodin/ if needed
  3. Add Python API in world_builder.rs

Dependencies

CratePurpose
pyo3Python ↔ Rust bindings
numpyNumPy array interop (via pyo3-numpy)
nox-py (Rust core)ECS world, component storage, system execution
noxTensor library, spatial math
impellerTelemetry protocol
stellaratorAsync runtime for DB connections
tokioAsync runtime (for some I/O paths)

Key References

© elodin-sys, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .cursor/skills/nox-py-dev of elodin-sys/elodin.

Open the folder on GitHubat commit 3bc1d99

Compare with similar skills

Nox Py Dev next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Nox Py Dev compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Nox Py Dev this skillelodin-sys/elodin547—~1.5kAutomated safety check: PassApache-2.0
Paddle BuildPaddlePaddle/Paddle24k—~1kAutomated safety check: PassApache-2.0
Paddle Design CompilerPaddlePaddle/Paddle24k—~3.6kAutomated safety check: PassApache-2.0
Onnxtxtonnx/onnx22k—~1.3kAutomated safety check: PassApache-2.0
Benchmark Pyreflyfacebook/pyrefly7.1k—~1.8kAutomated safety check: PassMIT
Document Public APIspytorch/pytorch104k—~4.2kAutomated safety check: PassCustom licence

Similar skills

  • Paddle Build

    PaddlePaddle/Paddle

    A skill your agent uses when needing to compile, rebuild, or install Paddle from source after code changes.

    24k GitHub stars~1k tokensUpdated 8 days ago
    AI & LLM EngineeringAuto-check passed
  • Paddle Design Compiler

    PaddlePaddle/Paddle

    A skill your agent uses when working with Paddle 3.0 compiler full pipeline: SOT (Symbolic Opcode Translator) for bytecode-level dy2st graph capture, PIR (Paddle IR) for SSA-based intermediate…

    24k GitHub stars~3.6k tokensUpdated 8 days ago
    AI & LLM EngineeringAuto-check passed
  • Onnxtxt

    onnx/onnx

    Read or write ONNX text format ("onnxtxt"). An agent skill from onnx/onnx.

    22k GitHub stars~1.3k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Benchmark Pyrefly

    facebook/pyrefly

    Official

    Run Pyrefly benchmarks locally via Buck or Cargo, including PyTorch real-world LSP benchmarks.

    7.1k GitHub stars~1.8k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Document Public APIs

    pytorch/pytorch

    Document undocumented public APIs in PyTorch by removing functions from coverageignorefunctions and coverageignoreclasses in docs/source/conf.py, running Sphinx coverage, and adding the appropriate…

    104k GitHub stars~4.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Modify Shaped Array Dsl

    facebook/pyrefly

    Official

    A skill your agent uses when Pyrefly computes a wrong tensor shape (or is missing one that can't be expressed in a stub signature) and you need to add or fix a shape-DSL rule.

    7.1k GitHub stars~1.2k tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from elodin-sys/elodin

All 14 skills in this repo
  • Branch Regression

    elodin-sys/elodin

    Compare two git branches (usually the current branch vs main) by running every example on each, capturing exit codes, logs, and editor screenshots, then diffing the results.

    547 GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed
  • Elodin Cranelift

    elodin-sys/elodin

    Work with the Cranelift JIT MLIR backend. An agent skill from elodin-sys/elodin.

    547 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Elodin DB

    elodin-sys/elodin

    Work with Elodin-DB, the time-series telemetry database. An agent skill from elodin-sys/elodin.

    547 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed
  • Elodin Dev

    elodin-sys/elodin

    Develop and contribute to the Elodin codebase. An agent skill from elodin-sys/elodin.

    547 GitHub stars~896 tokensUpdated yesterday
    Auto-check passed
  • Elodin Editor Dev

    elodin-sys/elodin

    Contribute to the Elodin Editor, the 3D viewer and graphing tool.

    547 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Elodin Headless Capture

    elodin-sys/elodin

    Run the Elodin Editor without a physical display in Gamescope, take screenshots, and record video through PipeWire and GStreamer.

    547 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes

Works with

Questions about Nox Py Dev

What does Nox Py Dev do?

Contribute to the Elodin Python SDK (nox-py). An agent skill from elodin-sys/elodin. Nox Py Dev is an agent skill from elodin-sys/elodin. Contribute to the Elodin Python SDK (nox-py).

When should I use Nox Py Dev?

Nox Py Dev fits situations like: editing PyO3 bindings in libs/nox-py/; adding new Python API surface; modifying the JAX integration; working on component/system compilation.

How do I install Nox Py Dev in Claude Code?

Run `npx skills add elodin-sys/elodin --skill nox-py-dev -a claude-code`. Or copy the skill folder (.cursor/skills/nox-py-dev in elodin-sys/elodin) into .claude/skills/nox-py-dev in your project. Claude Code loads it when a task matches its description.

How do I install Nox Py Dev in Codex?

Run `npx skills add elodin-sys/elodin --skill nox-py-dev -a codex`. Or copy the skill folder (.cursor/skills/nox-py-dev in elodin-sys/elodin) into .agents/skills/nox-py-dev in your project. Codex loads it when a task matches its description.

Can I use Nox Py Dev in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add elodin-sys/elodin --skill nox-py-dev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nox-py-dev, .gemini/skills/nox-py-dev, .github/skills/nox-py-dev and .opencode/skills/nox-py-dev in your project.

What does Nox Py Dev need to run?

Going by SKILL.md and its folder, Nox Py Dev needs the command-line tools its instructions call (just, pytest and python). Our summary lists: Python 3.

Does Nox Py Dev access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Nox Py Dev safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Nox Py Dev use?

Nox Py Dev is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Nox Py Dev use?

About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Nox Py Dev?

Skills that share tags, products or a category with Nox Py Dev: Paddle Build (PaddlePaddle/Paddle, 24k stars), Paddle Design Compiler (PaddlePaddle/Paddle, 24k stars), Onnxtxt (onnx/onnx, 22k stars) and Benchmark Pyrefly (facebook/pyrefly, 7.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Nox Py Dev?

elodin-sys (a GitHub organization) maintains it in elodin-sys/elodin, which has 547 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.

Source: elodin-sys/elodin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.