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 skills/brevdev/workshop-build-an-agent/setup-workshop-nemoclawnpx skills add brevdev/workshop-build-an-agent --skill setup-workshop-nemoclawgit clone --depth 1 https://github.com/brevdev/workshop-build-an-agentWrote 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/brevdev/workshop-build-an-agent/setup-workshop-nemoclaw)<a href="https://agentmods.dev/skills/brevdev/workshop-build-an-agent/setup-workshop-nemoclaw"><img src="https://agentmods.dev/badge/skills/brevdev/workshop-build-an-agent/setup-workshop-nemoclaw.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.1 | $0.00246 | $0.05717 |
| Opus 5 | $0.00123 | $0.02858 |
| Sonnet 5 | $0.00049 | $0.01143 |
| Haiku 4.5 | $0.00025 | $0.00572 |
Grade B, and why
setup-workshop-nemoclaw scanned grade B 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 6d 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.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
- Tile check without a browser: `curl -X POST http://127.0.0.1:8888/jupyterlab-app-launcher?token=… -d '{"method":"init_launcher"}'` Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
- `curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:8888/lab` → `302` How it starts
The opening of the file, as written. The whole thing — 345 lines — stays where its author put it; the contents beside it link to each section on GitHub.
setup-workshop-nemoclaw (in-sandbox side)
Sets up the NVIDIA Build an Agent workshop as an accessible JupyterLab instance inside an OpenShell/NemoClaw sandbox, then hands the user the port-forward + SSH commands and the token URL to open it in their browser.
This is one half of a two-skill pair:
| Skill | Runs | Does |
|---|---|---|
setup-workshop-nemoclaw-operator |
on the sandbox host (outside) | egress policy, secrets staging, port-forward, lifecycle |
| this skill | inside the sandbox | venv + deps, netlink shim, launcher/bridge fixes, Jupyter launch, URL hand-off |
Which side am I on?
Run the checks before doing anything. Inside the sandbox (use this skill):
whoami → sandbox, /sandbox/ exists, docker/sudo are not found, and
egress 403s come from the OpenShell proxy. On the host (use the operator
skill instead): docker ps shows an openshell-<sandbox>-… container and the
openshell CLI is on PATH.
When to use this skill
- User wants to run / access / go through the Build an Agent workshop from
this sandbox. The repo lives (or will be cloned) at
/sandbox/workshop-build-an-agent, branchedwli-dev— stay on it. - Do NOT use the generic
setup-workshopskill here — it is a bare-metal installer (nvwb+ Docker + CUDA + sudo) for a GPU host. It fails in the sandbox by design, not by bug.
Operator prerequisites (the handoff contract)
One thing must be true before setup can succeed, and only the operator
(outside the sandbox) can make it true. Verify with scripts/preflight.sh;
if missing, send the operator the exact ask from
references/operator-contract.md and stop until they confirm:
- Egress policy allows:
GET pypi.org+files.pythonhosted.org(installs); the NIM chat/embeddings routes onintegrate.api.nvidia.com;POST /v1/retrieval/**onai.api.nvidia.com(modules 2/3 reranker — NOT covered by the legacy/v1/rankingrule);POST /searchonapi.tavily.com(modules 1/2/5 web search); all methods onapi.smith.langchain.com(module 3 + workshop-wide tracing);GET /encodings/**onopenaipublic.blob.core.windows.net(module-7 tiktoken);GET registry.npmjs.orgfor thenodebinary (module-5 "Deep Agents Client" tile — without itdemo/can'tnpm installand the tile only ever serves its setup page);GET/POST/DELETEonmcp.tavily.comfornode(module-2 PART 2A remote MCP — the shipped default); and — only if the repo is not yet cloned — git smart-HTTP ongithub.comscoped to the workshop repo.preflight.shprobes all of these and prints the exact ask for each gap. Not a prerequisite:NVIDIA_API_KEY. It is EXPECTED to be absent — the learner sets it in the workshop's Secrets Manager tile after launch, and preflight only WARNs about it. Leaving it unset is what makes that work:start-jupyter.shsourcessecrets.envinto the server env at launch and kernels inherit it, butload_dotenv()never overrides an already-set variable — so a key staged before launch would shadow every later Secrets Manager edit until a restart. Never accept a key through chat; if the operator does want one pre-seeded, they write it from the host withstage-nvidia-key.sh(a realnvapi-…key only — neverCOMPATIBLE_API_KEY, which is the agent's ownsk-…proxy credential and yields a confusing 401).
What ships with it
15 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.
- assets/devx-jupyterapp-bridge/package.json 353 B
- assets/devx-jupyterapp-bridge/static/remoteEntry.js 2.0 KB runs code
- references/operator-contract.md 8.1 KB
- references/sandbox-internals.md 20 KB
- scripts/neutralize_pip_cells.py 2.0 KB runs code
- scripts/preflight.sh 11 KB runs code
- scripts/sandbox_content_notes.py 14 KB runs code
- scripts/setup.sh 15 KB runs code
- scripts/start-jupyter.sh 7.2 KB runs code
- scripts/tune_judge_rate_limit.py 2.4 KB runs code
- scripts/tune_model_map.py 3.4 KB runs code
- scripts/tune_remote_mcp_env.py 10 KB runs code
- templates/jp_app_launcher.yaml 3.8 KB
- templates/netlink-stub.c 2.6 KB
- templates/requirements-sandbox.txt 1.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.
- 6d ago First seen · 345 lines · 246 tokens per session scan B 520d2f470115
setup-workshop-nemoclaw is a skill published in the GitHub repository brevdev/workshop-build-an-agent (133 stars, last pushed 18d ago), licensed Apache-2.0. It adds 246 tokens to every session and 5,717 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it B with 2 findings (sends data to an external url, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
hr-onboarding
A new-hire onboarding plan as a single page — first week schedule, buddy + manager intro, learning track, equipment checklist, and "you're set when…" outcomes. Use when the brief mentions "onboarding", "new hire", "first week plan", or "入职".
miniapp
Build a tiny interactive HTML playground only when someone asks to see, play with, or step through a mechanism.
eli5
Explain research, papers, or technical ideas in plain English with minimal jargon, concrete analogies, and clear takeaways. Use when the user says "ELI5 this", asks for a simple explanation of a paper or research result, wants jargon removed, or asks what something technically dense actually means.
deck-course-module
暖纸背景 + Playfair, 左侧学习目标常驻, 含 MCQ 自测页.
best-practices
Searchable knowledge base of 152+ programming best practices across 30+ languages and frameworks. BM25-powered search over curated resources from industry leaders (Google, Airbnb, Uber, Mozilla, Shopify, OWASP).
ark-documentation
Guidance for structuring Ark documentation using the Diataxis framework. Use this skill when creating new docs, deciding where content belongs, reviewing documentation PRs, or restructuring existing documentation.