brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
onnxRoutes ONNX model-format, Python API, validation, reference-evaluator, backend-test, and operator-spec maintenance workflows.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this repo skill when a task involves the onnx Python package, ONNX ModelProto/GraphProto/TensorProto files, ONNX model serialization, checker or shape inference failures, ONNX text syntax, ReferenceEvaluator, backend test data, or maintainer work on ONNX operator schemas and generated artifacts.
ONNX is a runtime-agnostic model interchange format. This skill focuses on the ONNX package and standard itself, not on exporter-specific framework code or hardware-runtime inference engines.
Read references/repo-provenance.md before deciding whether this skill is current for a particular ONNX checkout or release.
Install released ONNX for ordinary model work:
python -m pip install onnx
# optional, only for image/reference workflows that need Pillow:
python -m pip install 'onnx[reference]'
For an ONNX source checkout, prefer the repository's reproducible build path when available:
pixi run install
pixi run pytest
Otherwise use an isolated Python environment and python -m pip install -e . -v. C++ changes require rebuilding.
Run python scripts/onnx_environment_smoke.py --help, then python scripts/onnx_environment_smoke.py to verify that the active Python can import ONNX, build a tiny model, check it, infer shapes, and run the reference evaluator.
Read references/troubleshooting.md for cross-cutting install/import, optional dependency, data-file, CLI, and workflow failures.
| User task | Read |
|---|---|
Create a model, build nodes/graphs/tensors, save/load *.onnx, inspect model IO, use JSON/textproto/onnxtxt/protobuf formats, compose/extract models, or manage external data and large tensors | sub-skills/model-authoring/SKILL.md |
Validate a model or node, diagnose ValidationError, run shape/type inference, parse or print ONNX text, convert opsets, inline functions, or use check-model/check-node | sub-skills/validation-and-conversion/SKILL.md |
Execute a model with ONNX's pure-Python ReferenceEvaluator, compare expected outputs, inspect reference op behavior, implement a backend interface, or generate bounded backend-test data | sub-skills/reference-and-backend-tests/SKILL.md |
Add or update an ONNX operator, write a function body, add C++ shape inference, edit .in.proto sources, update reference ops/node tests/version adapters, regenerate docs/protos, or run maintainer gates | sub-skills/operator-spec-maintenance/SKILL.md |
validation-and-conversion before editing the model.model-authoring; then call validation-and-conversion for checker and shape-inference gates.reference-and-backend-tests.operator-spec-maintenance even when Python API checks are also needed.references/troubleshooting.md covers install/import, package extras, CLI/API misuse, external data, large-model, build, and optional backend failure surfaces.references/build-test-troubleshooting.md explains ONNX build/test/lint choices for future source-checkout tasks.references/repo-provenance.md records the source snapshot and refresh baseline.references/repo-routing-metadata.json is structured router metadata for managed repo-skill import.scripts/onnx_environment_smoke.py performs a source-free ONNX import/API smoke in the active Python environment. Use it after installing ONNX or before relying on this skill in a new environment.