From monata-sim-env
Set up a local Monata simulation environment with pixi and locally built circuit-tool packages. Use when a user asks an agent to install or configure Monata, inspect a Monata repository to choose required circuit tools, prepare ngspice and OpenVAF/OSDI tooling for Monata simulations, create a reproducible pixi environment for Monata, reuse a local conda channel for circuit tools, or validate that Monata can import and find its external tools.
How this skill is triggered — by the user, by Claude, or both
Slash command
/monata-sim-env:monata-sim-envThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a project-local pixi environment that can import `monata` from PyPI,
Create a project-local pixi environment that can import monata from PyPI,
run the current Monata simulator backend through ngspice, and provide
OpenVAF/OSDI tooling for model flows.
monata, and verify runtime commands.rattler-build operations; delegate
those to the conda-build skill.CONDA_BUILD_OUTPUT_DIR=...
value, or another explicit final channel directory. Do not invent one.scripts/detect_monata_tools.py from this skill; otherwise read
pyproject.toml, README.md, src/, tests/, and docs/.ngspice plus openvaf-r.rattler-build.--all, or build the Xyce
recipe stack unless the user explicitly asks for those tools.pixi is missing, stop and ask the
user to install it or approve a specific install command. If rattler-build
is missing and packages must be built, ask before installing it as a global
CLI with pixi global install --channel https://prefix.dev/conda-forge rattler-build.conda-build skill for rattler-build details when it is installed.
If it is not installed, tell the user to install conda-build from the same
lizhangmai/skills marketplace or skill source before building packages.Inspect the current directory and decide where the pixi project should live.
Use the current directory when the user is already inside the intended
project directory, including directories named test. Do not create a
nested monata-work/ directory unless the user explicitly asks for a new
subdirectory.
Check for python3, git, and pixi. If pixi is missing, stop before
environment setup and ask the user to install pixi or approve a specific
install command.
Read the user-provided final channel directory and set:
export CONDA_BUILD_OUTPUT_DIR="<user-provided-absolute-conda-channel>"
Detect the required circuit-tool packages from the Monata workspace:
python3 scripts/detect_monata_tools.py --root "<project-workspace>" --format shell
Run this from the installed or cloned monata-sim-env skill directory. If a
Monata workspace cannot be inspected, use the current baseline package set:
ngspice openvaf-r.
Check the user-provided channel. If all detected packages are present, skip the build step:
python3 scripts/rattler_channel.py check-channel \
--recipe-set circuit-toolchain \
--package ngspice \
--package openvaf-r
Run this from the installed or cloned conda-build skill directory. Use the
detector output instead of hard-coding this list when the workspace indicates
a different package set.
If any detected package is missing, build only missing work from the
circuit-toolchain recipe set and let existing artifacts be reused:
python3 scripts/rattler_channel.py build \
--recipe-set circuit-toolchain \
--package ngspice \
--package openvaf-r \
--skip-existing
If rattler-build is missing but pixi is available, ask before installing
it globally:
pixi global install --channel https://prefix.dev/conda-forge rattler-build
rattler-build --version
Create or update the pixi environment in the selected project directory with
the local channel first. If pixi.toml already exists, skip pixi init and
run only the pixi add commands. If it does not exist, initialize the
current directory:
pixi init . \
--channel "file://$CONDA_BUILD_OUTPUT_DIR" \
--channel https://prefix.dev/conda-forge
pixi add python=3.12 ngspice openvaf-r
pixi add --pypi monata
Verify:
pixi run python - <<'PY'
import shutil
import monata
print(monata.__name__)
print(shutil.which("ngspice"))
print(shutil.which("openvaf-r"))
PY
pixi run ngspice --version
pixi run openvaf-r --help
If the user already has the detected circuit tools installed in the active environment, skip the local channel build and install only Monata:
python -m pip install monata
python -c "import shutil; print(shutil.which('ngspice')); print(shutil.which('openvaf-r'))"
Use this shortcut only when the required executables are already on PATH or
under CONDA_PREFIX/bin.
Build additional circuit packages only when the user explicitly asks for a workflow that needs them:
xyce: deferred Monata backend work or external Xyce workflows; build the
recipe stack with --up-to xyce only for those explicit requests.
monata-techlib: install from PyPI only when first-party technology metadata
is needed:
pixi add --pypi monata-techlib
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub lizhangmai/skills --plugin monata-sim-env