distribution

Packaging guidance for distributing the Onde command-line tool through software package stores and release channels. It treats the Rust program as the main product and uses small packages for npm, PyPI, NuGet, and pub.dev.

In plain words
What is it for?
Use it when adding or fixing Onde distribution through npm, PyPI, NuGet, pub.dev, crates.io, GitHub Releases, or Homebrew. It also covers release preparation and installation smoke tests.
Why use it?
It helps keep one version of the tool working consistently across different developer ecosystems. It also reduces mistakes when aligning versions, preparing release files, updating documentation, and checking installations.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/ondeinference/onde-cli/distribution
Any agent
npx skills add ondeinference/onde-cli --skill distribution
Clone the repo
git clone --depth 1 https://github.com/ondeinference/onde-cli

Made for: Claude Code, Codex.

Per session 55 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,869 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00055 $0.01869
Opus 5 $0.00028 $0.00934
Sonnet 5 $0.00011 $0.00374
Haiku 4.5 $0.00006 $0.00187

Measured yesterday against content hash 3bc150907872, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

distribution 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 yesterday.

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.

.agents/skills/distribution/SKILL.md · 263 lines

How it starts

The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Onde CLI distribution

This skill captures how onde-cli is distributed today and what to watch when adding new channels.

Distribution model

onde-cli is a native Rust CLI first.

Everything else is packaging.

That means:

  • build the Rust binary once per target
  • publish thin wrappers that install or launch that binary
  • keep channel-specific logic small and predictable

This design keeps behavior consistent across ecosystems and avoids re-implementing CLI logic in each language.

Channel map

Native source of truth

  • Rust crate: onde-cli
  • binary name: onde
  • root manifest: Cargo.toml

Wrapper channels

  • npm: JavaScript launcher + optional platform packages
  • PyPI: maturin binary wheels
  • NuGet: .NET global tool launcher
  • pub.dev: Dart launcher package

Native artifact channels

  • crates.io
  • GitHub Releases
  • Homebrew

Wrapper design patterns

npm

Use a very small Node launcher that:

  • detects OS and architecture
  • resolves the installed platform package
  • spawns the binary with inherited stdio

Good fit for users who already live in npm tooling.

Important release detail:

  • the committed npm/onde-cli/package.json is a working file, not the publish-time source of truth
  • the release workflow rewrites the base package manifest with npm/scripts/render-main-package.cjs
  • platform package manifests are generated on the fly with npm/scripts/render-platform-package.cjs
  • the actual npm version comes from the release tag via RELEASE_VERSION, not from manually editing the committed npm manifest before publish

PyPI

Use maturin with bindings = "bin" so the native executable is what gets installed.

Good fit for Python users who want the CLI but not a Python reimplementation.

NuGet

Use a .NET global tool wrapper.

Important details:

  • keep the package as a launcher, not a managed rewrite
  • place native binaries under the tool payload
  • resolve the runtime identifier at startup
  • set Unix execute bits before launch

Read the full file on GitHub · 263 lines

Changes

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.

  1. yesterday First seen · 263 lines · 55 tokens per session scan A 3bc150907872

Subscribe to this mod's changes

distribution is a skill published in the GitHub repository ondeinference/onde-cli (0 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 55 tokens to every session and 1,869 once invoked, about $0.0003 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-31.

Related

Other skills, from other repositories

claude-maintain-models

Add new AI models to Kiln's mlmodellist.py and produce a Discord announcement. Use when the user wants to add, integrate, or register a new LLM model (e.g. Claude, GPT, DeepSeek, Gemini, Kimi, Qwen, Grok) into the Kiln model list, mentions adding a model to mlmodellist.py, asks to discover/find new models that are…

Kiln-AI/Kiln · 110 tokens

kiln-prerelease-check

Run the Kiln pre-release smoke test suite plus the standard CI checks (checks.sh), diagnose every prerelease test that broke (and why), and write a clean readable report with recommended actions. Read-only — it never edits code. Use when the user wants to validate a release candidate, run prerelease tests, or asks for…

Kiln-AI/Kiln · 84 tokens

release-digest

Post a "what's changed since the last release" recap to the release Slack channel for final QA. Groups merged PRs by author and classifies each as feature / bug fix / task. Use when the user wants a release recap, a changelog since the last tag, or to prep QA before cutting a release from main.

Kiln-AI/Kiln · 71 tokens

kiln-check-deprecation

Check Kiln's model list for deprecated or sunset models across all providers. Use when the user wants to find deprecated models, check model availability, audit the model list for stale entries, or mentions model deprecation/sunset/end-of-life.

Kiln-AI/Kiln · 54 tokens

kiln-check-finetune-deprecation

Check Kiln's fine-tunable model list for deprecated or unsupported base models. Use when the user wants to audit fine-tuning support, check if fine-tune base models are still valid, or mentions fine-tune model deprecation.

Kiln-AI/Kiln · 57 tokens

playwright

Look at Kiln's UI in a real browser, and run its end-to-end tests. Use when checking UI you are changing, taking a screenshot of the app, driving the app with playwright-cli, starting the dev sandbox with playwrightserver.sh, running or debugging npm run tests:e2e, or working with the seeded fixture project that gives…

Kiln-AI/Kiln · 81 tokens