Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/HorizonRobotics/OE-Skillsnpx agentmods add skills/horizonrobotics/oe-skills/oe-llm-package-installWrote 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/horizonrobotics/oe-skills/oe-llm-package-install)<a href="https://agentmods.dev/skills/horizonrobotics/oe-skills/oe-llm-package-install"><img src="https://agentmods.dev/badge/skills/horizonrobotics/oe-skills/oe-llm-package-install/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/horizonrobotics/oe-skills/oe-llm-package-install"><img src="https://agentmods.dev/badge/skills/horizonrobotics/oe-skills/oe-llm-package-install.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00083 | $0.02319 |
| Opus 5 | $0.00042 | $0.01159 |
| Sonnet 5 | $0.00017 | $0.00464 |
| Haiku 4.5 | $0.00008 | $0.00232 |
Grade D, and why
oe-llm-package-install scanned grade D with 2 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 11d 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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
sudo dpkg -i <OE_LLM_DIR>/package/host/aarch64-linux-hb-gcc_12.2.0_amd64.deb Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
- **卸载**:`rm -rf .horizon/venv-llm`,删除 `.env.oe-llm-package` 中的 `VENV_DIR` 和 `VENV_ACTIVATE_CMD`,将 `EXECUTION_MODE` 改回 `docker` How it starts
The opening of the file, as written. The whole thing — 190 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OE-LLM 包本地安装
执行方式
本 Skill 应通过 subagent 执行。 主 agent 在用户确认本地安装后,应将本文件的完整内容作为 subagent prompt 派发执行。subagent 负责环境检测、venv 创建、组件安装和验证,完成后汇报安装结果,主 agent 读取更新后的
.env.oe-llm-package继续后续流程。
目标
在用户环境中创建 Python venv(.horizon/venv-llm),将 OE-LLM 包内的所有组件 whl 安装到 venv 中,使后续 LLM 工具链命令可以本地执行(无需 Docker)。
触发条件
oe-llm-package-detection 完成后(.horizon/.env.oe-llm-package 已生成),向用户询问是否本地安装:
- 用户选择本地安装 → 进入本 Skill
- 用户选择不安装 → 维持
EXECUTION_MODE=docker,继续后续任务
安装流程
1. 读取 OE-LLM 包信息
从 .horizon/.env.oe-llm-package 读取 OE_LLM_DIR,扫描 <OE_LLM_DIR>/package/host/ 下所有 .whl 文件。
注意:OE-LLM 包的 whl 文件直接在 package/host/ 下,没有 ai_toolchain/ 子目录。
2. 检测本地环境
逐项采集:
| 检测项 | 命令 | 要求 |
|---|---|---|
| Python 版本 | python3 --version |
必须为 3.10 或 3.11 |
| CUDA 版本 | nvidia-smi(右上角)或 nvcc --version |
必须为 12.8(OE-LLM 包仅支持 CUDA 12.8) |
| PyTorch 版本 | python3 -c "import torch; print(torch.__version__, torch.version.cuda)" |
必须与 OE-LLM 包提供的组合匹配(如 2.8.0+cu128) |
3. 版本匹配
OE-LLM 包提供的版本组合由 horizon_plugin_pytorch 的 wheel 文件名决定硬性约束:
匹配规则:
- 扫描
<OE_LLM_DIR>/package/host/下horizon_plugin_pytorch-*.whl文件名 - 从文件名提取 CUDA 版本(
cuXXX)、PyTorch 版本(torchXXX)、Python 版本(cpXXX或cp39-abi3) - 对比本地环境的 CUDA / PyTorch / Python 版本,选择匹配的 wheel
- 任一不匹配 → 终止,输出当前环境和所需版本的对比表
匹配失败时的提示模板:
当前环境不满足 OE-LLM 包要求:
| 项目 | 当前版本 | 需要版本 |
|------|---------|---------|
| Python | 3.x | 3.10 或 3.11 |
| CUDA | x.x | 12.8 |
| PyTorch | x.x.x | 2.8.0+cu128 |
请先安装对应版本后重试。
4. 创建 venv 并安装
运行自动化脚本完成 venv 创建、组件安装、验证和 .env.oe-llm-package 更新:
# 从 .horizon/.env.oe-llm-package 读取 OE_LLM_DIR
OE_LLM_DIR=$(grep '^OE_LLM_DIR=' .horizon/.env.oe-llm-package | cut -d= -f2)
bash .horizon/skills/horizon-router/oe-llm-package-install/install.sh "$OE_LLM_DIR"
脚本内置的固定规则(已固化在 install.sh 中,无需手动处理):
--without-pip --system-site-packages创建 venv,继承系统 PyTorch,避免 ensurepip 不可用python3 -m pip而非裸pip,避免--without-pipvenv 中 pip 路径回退到系统constraints.txt锁 torch 版本,防止依赖解析拉入新版 torch
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 11d ago First seen · 190 lines · 83 tokens per session scan D 5dd3224c1265
oe-llm-package-install is a skill published in the GitHub repository HorizonRobotics/OE-Skills (19 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 83 tokens to every session and 2,319 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it D with 2 findings (asks for root, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…
next-partial-prefetching-adoption
Turn on Partial Prefetching in a Next.js app and work through the insights it surfaces. Use when the user wants to enable or adopt Partial Prefetching, flip the partialPrefetching flag, opt routes in with export const prefetch = 'partial', audit Link prefetch={true} behavior, preserve existing prefetched UI with…