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 skills add HorizonRobotics/OE-Skills --skill j6-plugin-adaptationgit clone --depth 1 https://github.com/HorizonRobotics/OE-SkillsWrote 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/j6-plugin-adaptation)<a href="https://agentmods.dev/skills/horizonrobotics/oe-skills/j6-plugin-adaptation"><img src="https://agentmods.dev/badge/skills/horizonrobotics/oe-skills/j6-plugin-adaptation/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/j6-plugin-adaptation"><img src="https://agentmods.dev/badge/skills/horizonrobotics/oe-skills/j6-plugin-adaptation.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.00100 | $0.02472 |
| Opus 5 | $0.00050 | $0.01236 |
| Sonnet 5 | $0.00020 | $0.00494 |
| Haiku 4.5 | $0.00010 | $0.00247 |
Grade A, and why
j6-plugin-adaptation 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 12d 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 — 274 lines — stays where its author put it; the contents beside it link to each section on GitHub.
为浮点模型执行完整 Horizon QAT 适配(组合调度版)
目标
把一个普通的浮点 PyTorch 模型,按地平线机器人公司的 horizon_plugin_pytorch 量化工具链要求,逐步改造成可进入 QAT / calibration / validation 流程的模型。
这个 Skill 不是单独做某一步改动,而是一个总控/编排类 skill。它负责根据用户需求,将完整适配过程拆成多个标准子 skill,并严格按照固定顺序执行。
必须遵守的调用顺序
本 Skill 必须按以下顺序调用目录下的 skill,不得跳序:
j6-plugin-set-marchj6-plugin-insert-quant-dequantj6-plugin-dynamic-blockj6-plugin-preparej6-plugin-set-fake-quantize
为什么必须按这个顺序
1) j6-plugin-set-march
先设置 march,让后续模型构建、prepare、量化逻辑和平台相关分支都在正确的目标平台上下文中执行。
2) j6-plugin-insert-quant-dequant
在部署输入/输出边界插入 QuantStub/DeQuantStub,明确量化图边界。后续 prepare 依赖这些边界信息感知部署范围。
3) j6-plugin-dynamic-block
处理动态控制流中可能触发 function 替换或算子融合的区域。必须在 prepare 前处理,否则 prepare/JIT_STRIP 阶段可能产生 scope 错乱或 forward 报错。
4) j6-plugin-prepare
对浮点模型执行 prepare(...),把模型变成 QAT 模型。prepare 之后不应再随意改模型结构、hook 或动态图 scope 逻辑。
5) j6-plugin-set-fake-quantize
在 calibration / qat / validation 阶段入口设置对应的 fake quantize 状态。这一步依赖模型已经具有 prepare 后的 QAT 结构。
这个 Skill 具体负责什么
当用户表达“让我这个浮点模型适配 horizon_plugin_pytorch”时,本 Skill 应:
- 识别目标模型文件/类/脚本入口。
- 依次调用下列子 skill:
j6-plugin-set-marchj6-plugin-insert-quant-dequantj6-plugin-dynamic-blockj6-plugin-preparej6-plugin-set-fake-quantize
- 在每一步都遵守对应 skill 的约束,而不是把所有逻辑揉成一次性粗暴修改。
各子 skill 的职责边界
A. j6-plugin-set-march
负责:
- 询问用户想使用哪个
march - 在脚本入口、模型构建前插入:
horizon.march.set_march(...)
关键约束:
- 如果用户未给出 march,必须先询问,不能擅自假设。
B. j6-plugin-insert-quant-dequant
负责:
- 在部署输入边界插入
QuantStub - 在部署输出边界插入
DeQuantStub
关键约束:
- 每个输入/输出使用独立 stub
QuantStub()不设置scale- 只在部署边界插入,不提前 dequant
C. j6-plugin-dynamic-block
负责:
- 为动态控制流中、会触发 function 替换/算子融合的非 module scope 逻辑添加
dynamic_block
关键约束:
- 只包需要替换/融合的逻辑块,不包整个循环
- 不对已经是
nn.Module.forwardscope 的子模块调用重复包 dynamic_block
D. j6-plugin-prepare
负责:
- 调用
prepare(...)把浮点模型变成 QAT 模型
关键约束:
- 只加 prepare 调用
- prepare 之后不要再改结构/hook
What ships with it
11 files 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.
- examples.md 5.6 KB
- j6-plugin-dynamic-block/examples.md 4.6 KB
- j6-plugin-dynamic-block/SKILL.md 10 KB
- j6-plugin-insert-quant-dequant/examples.md 7.9 KB
- j6-plugin-insert-quant-dequant/SKILL.md 14 KB
- j6-plugin-prepare/examples.md 9.8 KB
- j6-plugin-prepare/SKILL.md 4.5 KB
- j6-plugin-set-fake-quantize/examples.md 3.1 KB
- j6-plugin-set-fake-quantize/SKILL.md 3.0 KB
- j6-plugin-set-march/examples.md 2.9 KB
- j6-plugin-set-march/SKILL.md 4.3 KB
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.
- 12d ago First seen · 274 lines · 100 tokens per session scan A fa3258557cf7
j6-plugin-adaptation is a skill published in the GitHub repository HorizonRobotics/OE-Skills (19 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 100 tokens to every session and 2,472 once invoked, about $0.0005 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 skills, from other repositories
spark-environment-setup
Set up a working ML training/inference environment on NVIDIA DGX Spark (GB10, aarch64, CUDA 13). Use when installing PyTorch/Unsloth/TRL/vLLM on DGX Spark, hitting libcudart or wheel-ABI errors on aarch64, or choosing between NGC containers and bare pip installs.
spark-memory-thermal-ops
Manage unified memory and thermals during long-running ML jobs on NVIDIA DGX Spark. Use when planning memory headroom for a training run on GB10, when a job OOMs on unified memory, or when monitoring temperature and power during multi-hour training.
spark-training-gotchas
Preflight and diagnose the ten known failure modes for ML training on NVIDIA DGX Spark. Use when a training run on DGX Spark fails to start, OOMs below the 128GB limit, slows down mid-run, or before any multi-hour training job on GB10.
llama-cpp
Runs LLM inference on CPU, Apple Silicon, and consumer GPUs without NVIDIA hardware. Use for edge deployment, M1/M2/M3 Macs, AMD/Intel GPUs, or when CUDA is unavailable. Supports GGUF quantization (1.5-8 bit) for reduced memory and 4-10× speedup vs PyTorch on CPU.
minicpm5-deploy-vllm-ascend
Deploy MiniCPM5-2B with vLLM on Huawei Ascend NPU using vLLM-Ascend. Use when the user mentions vLLM-Ascend, Ascend NPU, Huawei Ascend, CANN, torchnpu, davinci devices, or wants an OpenAI-compatible MiniCPM5 server on Ascend hardware.
minicpm5-deploy-litert
Run MiniCPM5-2B or MiniCPM5-1B on-device with Google's LiteRT-LM runtime — the litert-lm CLI or its OpenAI-compatible server on a desktop, the Kotlin API or the AI Edge Gallery app on Android, the same .litertlm bundle on CPU or GPU. Use when the user says "LiteRT", "LiteRT-LM", "litertlm", ".litertlm", "Android"…