Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/devin-lai/onnx2coreml/agents-mdgit clone --depth 1 https://github.com/devin-lai/onnx2coremlWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/devin-lai/onnx2coreml/agents-md)<a href="https://agentmods.dev/instructions/devin-lai/onnx2coreml/agents-md"><img src="https://agentmods.dev/badge/instructions/devin-lai/onnx2coreml/agents-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00831 | $0.00831 |
| Opus 5 | $0.00415 | $0.00415 |
| Sonnet 5 | $0.00166 | $0.00166 |
| Haiku 4.5 | $0.00083 | $0.00083 |
Grade A, and why
onnx2coreml AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 66 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Developer guide for onnx2coreml
Guidance for contributors working in this repo. Keep changes surgical, tested, and consistent with the patterns below.
What this is
An ONNX → Core ML converter producing .mlpackage (ML Program / MIL) and .mlmodel
(NeuralNetwork), built on top of coremltools' MIL builder.
Architecture (one pass through the pipeline)
ONNX → _io.load → _passes.run → _fusion.run → coverage-gate → Converter.to_mil
→ _backend.program_to_mlmodel → MLModel (.mlpackage / .mlmodel) → _verify
_mil.pyand_backend.pyare the only modules that import coremltools. Keep it that way — this is how the project stays maintainable as Core ML evolves.converter.pyorchestrates: coverage gate, then a topological walk emitting MIL ops._target.pymaps deployment-target/format/precision strings to coremltools enums. The MIL function is authored at iOS17 for.mlpackageand iOS15 for.mlmodel(the NeuralNetwork backend rejects newer opsets).
Adding an operator lowering
- Pick the right family module under
src/onnx2coreml/_lowering/(e.g._conv.py). - Write
def lower(ctx, node) -> Var | list[Var]:— read inputs viaoperands(ctx.values_map, node, [...]), emitmb.*ops, and name the final op for each output withname=node.output[i](so Core ML's predicted output keys match ONNX names). Never passname=Noneto an intermediate op — omit the kwarg. - Add the op key to that module's
REGISTRYdict. Keys are unique across modules (a duplicate raises at import). - Find the exact MIL op + parameter names in
../coremltools/coremltools/converters/mil/mil/ops/defs/— do not guess. - Add a parity test in
tests/test_ops_<family>.pyparametrized overfmt in ["mlpackage", "mlmodel"].
Helpers in _lowering/_common.py: binary(mb_op), unary(mb_op),
const_array(ctx, node, idx), get_attr, operands.
Testing
.venv/bin/python -m pytest tests/ -q # full suite
.venv/bin/python -m pytest tests/test_ops_conv.py -q
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 66 lines · 831 tokens per session scan A e9173382e2b8
onnx2coreml AGENTS.md is an instructions file published in the GitHub repository devin-lai/onnx2coreml (153 stars, last pushed 2mo ago), licensed BSD-3-Clause. It adds 831 tokens to every session, about $0.0042 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
speech-swift copilot-instructions.md
Copilot instructions for soniqo/speech-swift, a project described as: AI speech toolkit for Apple Silicon — ASR, TTS, speech-to-speech, VAD, and diarization powered by MLX and CoreML.
speech-swift CLAUDE.md
Claude Code instructions for soniqo/speech-swift, a project described as: AI speech toolkit for Apple Silicon — ASR, TTS, speech-to-speech, VAD, and diarization powered by MLX and CoreML.
speech-swift AGENTS.md
AGENTS.md instructions for soniqo/speech-swift, covering agent instructions, communication style, workflow, running tests and benchmarks — sequential and memory-aware and git conventions.
kesha-voice-kit AGENTS.md
AGENTS.md instructions for drakulavich/kesha-voice-kit: Project rules, build commands, release process, and lessons learned live in CLAUDE.md — single source of truth for every coding agent (Claude Code, Cursor, Aider, Codex, etc.). When CLAUDE.md and any other doc disagree, CLAUDE.md wins.
coreai-model-zoo AGENTS.md
AGENTS.md instructions for john-rocky/coreai-model-zoo, covering agents.md — for coding agents porting a model to core ai, the one thing to understand before you start, route, decide whether to port at all and the two gates a port must pass.
kesha-voice-kit CLAUDE.md
Claude Code instructions for drakulavich/kesha-voice-kit, covering claude.md, project overview, critical development rules, default tts voices must be male and never auto-download the engine or models.