Agent skill

Kdl To Python Schematic

by elodin-sys in elodin-sys/elodin

Migrate Elodin KDL schematics to typed Python elodin.ui builders, validate model and visual parity, and refactor generated scaffolds safely.

Apache-2.0Auto-check passedDevelopment

Install Kdl To Python Schematic

skills CLI
$ npx skills add elodin-sys/elodin --skill kdl-to-python-schematic -a claude-code

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

GitHub CLI
$ gh skill install elodin-sys/elodin kdl-to-python-schematic --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/kdl-to-python-schematic .claude/skills/kdl-to-python-schematic && 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
kdl-to-python-schematic
GitHub stars
547
Token cost
~1.3k tokens
SKILL.md length
536 words
Files
1
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

Migrate Elodin KDL schematics to typed Python elodin.ui builders, validate model and visual parity, and refactor generated scaffolds safely.

  • Works in 7 steps: Inventory → Generate → Validate the scaffold → …
  • Converting .kdl files
  • SKILL.md covers Rules, Workflow and Completion report
  • Calls uv, nix and just

What it does

Kdl To Python Schematic is an agent skill from elodin-sys/elodin. Migrate Elodin KDL schematics to typed Python elodin.ui builders, validate model and visual parity, and refactor generated scaffolds safely. Use when converting .kdl files, adopting Python-authored schematics, or troubleshooting elodin schematic to-python output.

Its SKILL.md is about 1.3k 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 Development, covering Project scaffolding and Refactoring. It works with Python. The repository describes itself as: Elodin simulation and flight software monorepo. The licence is Apache-2.0.

When your agent uses it

  • Converting .kdl files
  • Adopting Python-authored schematics
  • Troubleshooting elodin schematic to-python output

Example prompts

  • “/kdl-to-python-schematic”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Inventory
  2. Generate
  3. Validate the scaffold
  4. Validate runtime behavior
  5. Refactor incrementally
  6. Validate kernels and overlays
  7. Cut over

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:

    • uv
    • nix
    • just

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

  • Network

    No URLs in SKILL.md. Its commands use uv, which can reach the network depending on how they are called.

    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

Kdl To Python Schematic loads about 1.3k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 536 words of instructions outside code blocks.

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

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). 536 words, ~1,254 tokens.

Download SKILL.mdSave it as .claude/skills/kdl-to-python-schematic/SKILL.md (or your agent's skills folder).
name
kdl-to-python-schematic
description
Migrate Elodin KDL schematics to typed Python elodin.ui builders, validate model and visual parity, and refactor generated scaffolds safely. Use when converting .kdl files, adopting Python-authored schematics, or troubleshooting elodin schematic to-python output.

KDL to Python schematic migration

Convert an existing KDL schematic without silently changing its model or visual behavior. Establish parity before improving the generated Python.

Read the migration guide before making changes. Use examples/ball/schematic.py for basic builders and examples/display-kernels/schematic.py for expressions, schemas, and display kernels.

Rules

  • Work from the repository root in nix develop.
  • Use uv for every Python command.
  • Run just install before testing so the CLI and Python extension match.
  • Preserve the source KDL until the user explicitly approves deletion.
  • Keep build() deterministic and side-effect-light.
  • Preserve asset paths, ordering, names, queries, colors, and layout structure during the initial conversion.
  • Do not redesign and migrate in the same step.
  • Do not replace generated builders with embedded KDL or ui.from_kdl.
  • Prefer --schematic; --kdl is deprecated.

Workflow

1. Inventory

Locate the root KDL, referenced KDL documents, relative assets, launch commands, and saved layout behavior. Record which database or simulation target can exercise representative live data.

Check whether the schematic contains display kernels or whether the migration is expected to introduce them. Kernel validation requires more than emitted KDL.

2. Generate

Keep the Python file beside the KDL initially:

sh
elodin schematic to-python path/to/schematic.kdl \
  --output path/to/schematic.py

Inspect the generated module. It must import elodin.ui, define build() -> ui.Schematic, return ui.schematic(...), and retain its executable emit_kdl() block.

3. Validate the scaffold

Run the entry point:

sh
uv run python path/to/schematic.py > /tmp/schematic.generated.kdl

Compare canonical models in Python:

python
from pathlib import Path

import elodin.ui as ui

from schematic import build


def canonical(schematic: ui.Schematic) -> ui.Schematic:
    return ui.from_kdl(schematic.emit_kdl())


source = ui.from_kdl(Path("schematic.kdl").read_text())
assert canonical(build()) == canonical(source)

When equality fails, isolate top-level sections in this order:

  1. Root options.
  2. Layout and tabs.
  3. Views and their properties.
  4. Scene objects.
  5. Styling and colors.

Compare parsed models, not only raw KDL text.

4. Validate runtime behavior

Preload the schematic:

sh
elodin editor <target> --schematic path/to/schematic.py

Then exercise live updates:

sh
elodin ui watch path/to/schematic.py --db 127.0.0.1:2240

Capture the same representative state with the KDL and Python versions. Compare:

  • Tabs, splits, active view, and panel sizing.
  • Graph series, ranges, labels, and colors.
  • Viewport objects, transforms, visibility, and assets.
  • Lines, trails, arrows, coordinates, and world geometry.
  • Runtime queries, warnings, and build diagnostics.
  • Saved layout overlay behavior.

If the entry point imports sibling modules, verify imports and touch the watched entry point after changing a sibling if the watcher does not rebuild.

Show full SKILL.md (197 more words)Show less
5. Refactor incrementally

Only after parity:

  • Extract small helpers.
  • Replace repeated builders with comprehensions or loops.
  • Compose query strings with ui.Expr.
  • Use ui.Schema when tensor shape and type matter.
  • Add @ui.kernel only when a display transformation needs typed JAX math.

Re-run canonical and visual comparisons after each logical refactor. Keep intentional redesigns separate and document their expected differences.

6. Validate kernels and overlays

Plain emit_kdl() parity does not validate display-kernel sidecars. Test kernels through elodin ui watch or an explicit Python publish/write flow using the actual component shapes and primitive types.

The editor's Save Layout action writes an overlay KDL; it does not edit Python. Confirm that the watcher reapplies the active overlay. Copy desired default layout changes into Python manually.

7. Cut over

Update launch commands, examples, and documentation to use the Python path. Verify relative assets from the real launch environment. Retain the KDL as a rollback until all consumers have switched and the user approves removal.

Completion report

Report:

  • Files converted and files intentionally retained.
  • Canonical equality result and any intentional model differences.
  • Runtime target and visual states tested.
  • Asset, overlay, watcher, and kernel results.
  • Refactors performed after parity.
  • Commands run and remaining risks.

© 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/kdl-to-python-schematic of elodin-sys/elodin.

Open the folder on GitHubat commit 3bc1d99

Compare with similar skills

Kdl To Python Schematic 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.

Kdl To Python Schematic compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Kdl To Python Schematic this skillelodin-sys/elodin547—~1.3kAutomated safety check: PassApache-2.0
PonytailDavidObando/gsharp5658 repos~1.7kAutomated safety check: PassMIT
Dignified Python Standardsdocling-project/docling69k—~1.5kAutomated safety check: PassApache-2.0
Mirage VFS Adapter Authoringstrukto-ai/mirage3.7k—~2.5kAutomated safety check: PassApache-2.0
Readable Pycrazyguitar/pysheeet8.2k—~2.4kAutomated safety check: PassMIT
Nexus MapperHaaaiawd/Nexus-skills1661 repos~2.5kAutomated safety check: NotesNone

Similar skills

  • Ponytail

    DavidObando/gsharp

    Forces the laziest solution that actually works, simplest, shortest, most minimal.

    565 GitHub starsUsed in 8 repos~1.7k tokens
    DevelopmentAuto-check passed
  • Dignified Python Standards

    docling-project/docling

    Applies opinionated production Python conventions chosen by the project's Python version: modern type syntax, pathlib, explicit checks and interface guidance.

    69k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Builds or extends a custom Mirage virtual filesystem adapter for an API, database, object store or app data, with a working mount configuration and filesystem tests.

    3.7k GitHub stars~2.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Readable Py

    crazyguitar/pysheeet

    Readable Python code rules inspired by The Art of Readable Code.

    8.2k GitHub stars~2.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Nexus Mapper

    Haaaiawd/Nexus-skills

    Generate a persistent .nexus-map/ knowledge base that lets any AI session instantly understand a codebase's architecture, systems, dependencies, and change hotspots.

    166 GitHub starsUsed in 1 repo~2.5k tokens
    DevelopmentAuto-check: notes
  • Unslop Code

    JCarterJohnson/vibecoded-design-tells

    Strips the tells that make source code read as AI-generated and forces code that fits the project instead of the model's default average.

    511 GitHub stars~2.5k tokensUpdated 3 mo ago
    DevelopmentAuto-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

Categories

Questions about Kdl To Python Schematic

What does Kdl To Python Schematic do?

Migrate Elodin KDL schematics to typed Python elodin.ui builders, validate model and visual parity, and refactor generated scaffolds safely. Kdl To Python Schematic is an agent skill from elodin-sys/elodin.ui builders, validate model and visual parity, and refactor generated scaffolds safely.

When should I use Kdl To Python Schematic?

Kdl To Python Schematic fits situations like: converting .kdl files; adopting Python-authored schematics; troubleshooting elodin schematic to-python output.

How do I install Kdl To Python Schematic in Claude Code?

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

How do I install Kdl To Python Schematic in Codex?

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

Can I use Kdl To Python Schematic 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 kdl-to-python-schematic -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/kdl-to-python-schematic, .gemini/skills/kdl-to-python-schematic, .github/skills/kdl-to-python-schematic and .opencode/skills/kdl-to-python-schematic in your project.

What does Kdl To Python Schematic need to run?

Going by SKILL.md and its folder, Kdl To Python Schematic needs the command-line tools its instructions call (uv, nix and just). Our summary lists: Python 3.

Does Kdl To Python Schematic access the network?

SKILL.md contains no URLs. Its commands use uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Kdl To Python Schematic 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 Kdl To Python Schematic use?

Kdl To Python Schematic 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 Kdl To Python Schematic use?

About 1.3k tokens (SKILL.md is roughly 5k 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 Kdl To Python Schematic?

Skills that share tags, products or a category with Kdl To Python Schematic: Ponytail (DavidObando/gsharp, 565 stars), Dignified Python Standards (docling-project/docling, 69k stars), Mirage VFS Adapter Authoring (strukto-ai/mirage, 3.7k stars) and Readable Py (crazyguitar/pysheeet, 8.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Kdl To Python Schematic?

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.