Borrowing it
Nothing to install: this file belongs to brevdev/workshop-build-an-agent. 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/brevdev/workshop-build-an-agent/main/.agents/skills/setup-workshop-nemoclaw/SKILL.mdgit 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/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/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="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 5 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 76 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 181 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 227 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 231 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- medium Data Exfiltration · line 289 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.05716 |
| Opus 5.5 | $0.00098 | $0.02286 |
| Sonnet 5.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 17d 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, branchmain(the repo default) — 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
12 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 19 KB
- scripts/neutralize_pip_cells.py 2.0 KB runs code
- scripts/preflight.sh 7.9 KB runs code
- scripts/sandbox_content_notes.py 9.3 KB runs code
- scripts/setup.sh 14 KB runs code
- scripts/start-jupyter.sh 7.2 KB runs code
- templates/jp_app_launcher.yaml 3.8 KB
- templates/netlink-stub.c 2.6 KB
- templates/requirements-sandbox.txt 1.4 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.
- 17d ago Changed 8c1e99e7dcc8
- 1mo 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 (151 stars, last pushed 16d ago), licensed Apache-2.0. It adds 246 tokens to every session and 5,716 once invoked, about $0.0010 per session on Opus 5.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 "入职".
book-mirror
Take any book (EPUB/PDF), produce a personalized chapter-by-chapter analysis. Each chapter is preserved in detail (The Chapter) and mirrored back to the reader's actual life (The Mirror) using brain context. The mirror observes and resonates — a friend pointing out parallels, NOT a consultant rearranging the reader's…
exam-forecast
Analyze past exams from the same professor to surface patterns — subject weighting, recurring issue-spot traps, favored hypo types, policy-vs-doctrine mix — and forecast likely emphases for the upcoming exam. Use when the user says "what's on the exam", "analyze past exams", "predict the exam", or shares past exams.
lean-formalize
Develop and verify a mathematical proof in Lean, continue an incomplete Lean project, or audit whether it proves the original statement. Connect actual inputs to intermediate lemmas, assemble the target theorem, check its transitive axioms, and provide a reproducible handoff. Use when Lean is requested or a specific…
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
A course or workshop slide template with persistent learning goals, teaching pages, multiple-choice self-tests, and a wrap-up.