Borrowing it
Nothing to install: this file belongs to tweakoz/orkid. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/tweakoz/orkid/develop/.claude/skills/obtnet/SKILL.mdgit clone --depth 1 https://github.com/tweakoz/orkidWrote 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/skills/tweakoz/orkid/obtnet)<a href="https://agentmods.dev/skills/tweakoz/orkid/obtnet"><img src="https://agentmods.dev/badge/skills/tweakoz/orkid/obtnet/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/tweakoz/orkid/obtnet"><img src="https://agentmods.dev/badge/skills/tweakoz/orkid/obtnet.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.1 | $0.00055 | $0.01742 |
| Opus 5.5 | $0.00022 | $0.00697 |
| Sonnet 5.5 | $0.00011 | $0.00348 |
| Haiku 4.5 | $0.00006 | $0.00174 |
Grade A, and why
obtnet 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 2mo 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 — 106 lines — stays where its author put it; the contents beside it link to each section on GitHub.
obtnet — one controller, many nodes
Every command prints ONE greppable verdict line last: [obtnet] ok|FAIL <verb> <node> ....
Trust it. Do not fetch or dump logs on success. --json on any verb for tool parsing.
Controller resolution: --controller > $OBTNET_CONTROLLER > ~/.obt-global/obtnet.json
(set once with obt.net.py config tcp://HOST) > localhost. Bare HOST or HOST:PORT are
accepted anywhere an address is (port defaults to 7461).
Node names and selectors
obt.net.py list shows the fleet. Any <node> argument accepts a literal name or a
@ selector, routed to the least-busy live match:
@any · @linux / @mac · @gpu · @gpu=5090 (capability substring) · @5090
(substring across name/os/arch/gpu) · comma-composed: @linux,gpu.
FAN-OUT on run/build/test/scene/sync/gitsync: @each (every live node), @each:linux
(every match), or a,b lists — execution verbs submit to ALL then wait (simultaneous
cross-machine builds/tests), working-copy verbs loop; per-node verdicts + a fleet summary.
One happy path per task
obt.net.py list # fleet + load + clock offsets
obt.net.py run <node> [--timeout S] [--cwd D] -- CMD... # short sync command (<~60s)
obt.net.py submit <node> [--out GLOB] -- CMD... # long work -> job id
obt.net.py build <node> [--cwd D] # ork.build.py (or -- CMD);
# verdict: errors=N warnings=N
# (error-grep beats lying rc0)
obt.net.py test <node> -- CMD... # verdict: passed=N failed=N
obt.net.py scene <node> [--out G] [--env K=V] -- CMD... # OFFSCREEN forced unless
# --windowed (owner consent);
# cook/settle/fps lines surfaced
obt.net.py wait <node> j-XXXX # verdict; auto stderr-tail on fail
obt.net.py log <node> j-XXXX [--stderr --tail N --grep P] # bounded peek at a LIVE job
obt.net.py jobs # fleet-wide job table
obt.net.py cancel <node> j-XXXX # SIGTERM the job's pgid
obt.net.py fetch <node> <sha256> <dest> # artifact by sha (from verdicts)
obt.net.py sync <node> <local_dir> <remote_dir> # make remote == local (git-free)
obt.net.py sync <node> L R --pull # make local == remote
obt.net.py gitsync <node> <local_repo> <remote_repo> # align git base (branch+HEAD)
# via bundle, NO push; --tree
# chains the uncommitted delta
# LFS objects the node lacks
# ride along (--no-lfs off,
# --lfs-max-mb caps a seed)
obt.net.py diff <node> <local_dir> <remote_dir> # +/-/M/L classified; rc0=equal
obt.net.py watch [--node N] [--grep P] # live fleet event tail (ctrl-c)
Nodes run inside OBT shells, so staged tools (ork.build.py, obt.dep.*, ork.cpp.db.*)
work directly: obt.net.py run @linux,gpu -- ork.cpp.db.search.py MySymbol --porcelain.
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.
- 2mo ago First seen · 106 lines · 55 tokens per session scan A 323faa13df23
obtnet is a skill published in the GitHub repository tweakoz/orkid (35 stars, last pushed 2mo ago), licensed MIT. It adds 55 tokens to every session and 1,742 once invoked, about $0.0002 per session on Opus 5.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-09-01.
obtnet compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| obtnettweakoz/orkid | Skill | 35 | 2mo ago | MIT | A | 55 | Claude Code |
| dart-changelogdartsim/dart | Skill | 1.2k | yesterday | BSD-2-Clause | A | 24 | Claude Code |
| dart-manage-prdartsim/dart | Skill | 1.2k | yesterday | BSD-2-Clause | A | 26 | Claude Code |
| dart-contributedartsim/dart | Skill | 1.2k | yesterday | BSD-2-Clause | A | 17 | Claude Code, Codex |
| dart-prdartsim/dart | Skill | 1.2k | yesterday | BSD-2-Clause | A | 22 | Claude Code |
| dart-backport-prdartsim/dart | Skill | 1.2k | yesterday | BSD-2-Clause | A | 24 | Claude Code |
| dart-branch-cleanupdartsim/dart | Skill | 1.2k | yesterday | BSD-2-Clause | A | 17 | Claude Code |