Install the "setup-workshop" agent skill from https://github.com/brevdev/workshop-build-an-agent/tree/main/.agents/skills/setup-workshop into .claude/skills/setup-workshop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-workshop", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "setup-workshop" agent skill from https://github.com/brevdev/workshop-build-an-agent/tree/main/.agents/skills/setup-workshop into .agents/skills/setup-workshop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-workshop", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "setup-workshop" agent skill from https://github.com/brevdev/workshop-build-an-agent/tree/main/.agents/skills/setup-workshop into .cursor/skills/setup-workshop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-workshop", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "setup-workshop" agent skill from https://github.com/brevdev/workshop-build-an-agent/tree/main/.agents/skills/setup-workshop into .gemini/skills/setup-workshop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-workshop", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "setup-workshop" agent skill from https://github.com/brevdev/workshop-build-an-agent/tree/main/.agents/skills/setup-workshop into .github/skills/setup-workshop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-workshop", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "setup-workshop" agent skill from https://github.com/brevdev/workshop-build-an-agent/tree/main/.agents/skills/setup-workshop into .opencode/skills/setup-workshop/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "setup-workshop", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
setup-workshop
GitHub stars
144
Token cost
~2.3k tokens
SKILL.md length
1,069 words
Files
10 (incl. scripts, references, assets)
Skills in repo
11
Repo updated
First seen
Licence
Apache-2.0
At a glance
This skill should be used when the user wants to set up, install, deploy, bootstrap, or "spin up" the Build-an-Agent workshop (a.k.a.
Works in 6 steps: Preflight → Obtain the NVIDIA API key (and any… → Run setup in the background, then wait → …
Wants to set up
SKILL.md covers Outcome, When to use / not use, Required input and Procedure, plus 3 more sections
Runs Shell scripts from its folder; calls bash and ssh; needs TAVILY_API_KEY and LANGSMITH_API_KEY
What it does
Setup Workshop is an agent skill from brevdev/workshop-build-an-agent. This skill should be used when the user wants to set up, install, deploy, bootstrap, or "spin up" the Build-an-Agent workshop (a.k.a. the DevX / DevX-Lab workshop) on local hardware, or says things like "run the workshop locally", "get DevX-Lab running in my browser", "install the workshop on my GPU box", "set up the build-an-agent workshop", or "reproduce the Brev workshop deployment locally". It installs NVIDIA AI Workbench (if needed), clones and builds the project, supplies API keys, configures the GPU/host…
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts, reference files and assets (for example `references/access.md`, `references/persistence.md` and `references/troubleshooting.md`).
It sits in DevOps & Cloud, covering Building AI agents, Deployment and Containers. It works with NVIDIA AI Platform, Linux, Docker and Jupyter. The licence is Apache-2.0.
When your agent uses it
Wants to set up
Spin up the Build-an-Agent workshop (a.k.a
Example prompts
“spin up”
“run the workshop locally”
“get DevX-Lab running in my browser”
“/setup-workshop”
Requirements
A Bash shell
Docker
A credential in TAVILY_API_KEY
A credential in LANGSMITH_API_KEY
Workflow steps
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit b5689a7. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships 3 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bash
ssh
From the folder's file list and the shell code blocks in SKILL.md.
Network
Links to these hosts (documentation or services it may open):
build.nvidia.com
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names these keys or tokens, usually read from environment variables:
TAVILY_API_KEY
LANGSMITH_API_KEY
NVIDIA_API_KEY
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Setup Workshop loads about 2.3k tokens when it runs, and up to ~5k if it reads all its reference files. Until then it costs about 217 tokens; SKILL.md has 1,069 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~217
When it runs· the whole SKILL.md, loaded when a task matches
~2.3k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~5k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check: notes
The automated check noted patterns worth knowing about, such as sudo or a known installer.
NoteRuns commands with sudoSKILL.md:59
are handled by setup. If sudo is not passwordless, run `sudo -v` now — the
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
Download SKILL.mdSave it as .claude/skills/setup-workshop/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
setup-workshop
description
This skill should be used when the user wants to set up, install, deploy, bootstrap, or "spin up" the Build-an-Agent workshop (a.k.a. the DevX / DevX-Lab workshop) on local hardware, or says things like "run the workshop locally", "get DevX-Lab running in my browser", "install the workshop on my GPU box", "set up the build-an-agent workshop", or "reproduce the Brev workshop deployment locally". It installs NVIDIA AI Workbench (if needed), clones and builds the project, supplies API keys, configures the GPU/host mounts, starts the DevX-Lab JupyterLab app, and hands back a browser URL. For a local Linux NVIDIA GPU machine — not for provisioning Brev cloud instances, and NOT for locked-down OpenShell/NemoClaw sandboxes (no sudo/Docker/GPU there — use setup-workshop-nemoclaw inside the sandbox, or setup-workshop-nemoclaw-operator on its host).
disable-model-invocation
false
user-invocable
true
Set Up & Run the Build-an-Agent Workshop Locally
Bring a local Linux NVIDIA GPU machine from bare to a browser-accessible
DevX-Lab — the workshop's JupyterLab environment for all seven modules. This
reproduces the Brev cloud deployment minus its cloud-only plumbing: no
cloud-user detection, and the nginx single-port router + systemd auto-start are
optional rather than default (local users reach the app directly via the
Workbench proxy URL).
Outcome
A running DevX-Lab reachable at
http://localhost:<proxyPort>/projects/<name>/applications/DevX-Lab/
(proxyPort defaults to 10000). On a desktop it can auto-open; on a headless box
it is reached via SSH port-forward.
When to use / not use
Use on a local Linux host with an NVIDIA GPU (x86_64 or aarch64). Trigger
on requests to set up / install / deploy / spin up / run the workshop or
DevX-Lab locally. Do not use this to provision a Brev cloud instance — that
is the brev-cli / nvwb Brev path; this skill is the local analog of the Brev
startup script.
Running in an OpenShell/NemoClaw sandbox? This installer needs sudo,
Docker, and the Workbench download host — all unavailable there; it fails by
design, not by bug. Use the sandbox-native pair instead:
setup-workshop-nemoclaw (agent inside the sandbox) +
setup-workshop-nemoclaw-operator (host side: policy, secrets, port-forward).
Required input
NVIDIA API key (mandatory). Free at https://build.nvidia.com (log in →
"Get API Key"). Every module calls NVIDIA NIM/Nemotron with it. The build
succeeds without it, but every model call then returns 401.
Optional:TAVILY_API_KEY (Module 1 web search), LANGSMITH_API_KEY
(Module 3 tracing).
Note: secrets.env is gitignored, so a fresh clone never contains keys —
they must be supplied. Prompt the user for the NVIDIA key if it is not already
provided or present in an existing secrets.env.
Procedure
Drive these steps in order. Each script lives in scripts/. Report progress and
the final URL to the user.
1. Preflight
Run scripts/preflight.sh. It is read-only and prints PASS/WARN/FAIL with a
verdict (exit 1 if blocking). Resolve any FAIL (disk < 40 GB, no sudo, wrong
OS/arch). GPU/docker/Workbench/network WARNs are expected on a fresh box and
are handled by setup. If sudo is not passwordless, run sudo -v now — the
background setup cannot answer a password prompt.
2. Obtain the NVIDIA API key (and any optional keys)
If no secrets.env exists for the project yet, ask the user for their NVIDIA API
key (and optionally Tavily/LangSmith). There are two ways to get it in place —
pick based on whether the project is already cloned:
Not cloned yet (typical): pass the key to setup.sh via its environment so
it writes secrets.envafter cloning (avoids the chicken-and-egg of the file
living inside the not-yet-cloned project). See step 3.
Already cloned, or the user prefers to manage the file: copy
assets/secrets.env.template to <project>/secrets.env, fill in the key with
the Write tool (never echo a key in a shell command — it leaks into history
and process listings), then chmod 600 it.
If a valid secrets.env already exists, no key is needed.
3. Run setup in the background, then wait
The first build downloads CUDA 12.8 and compiles mamba-ssm/causal-conv1d from
source — 20-45 minutes, far beyond the foreground command limit. Launch
scripts/setup.sh as a background command, passing keys via the environment:
bash
NVIDIA_API_KEY='nvapi-…' bash .agents/skills/setup-workshop/scripts/setup.sh
# optionally also: TAVILY_API_KEY='…' LANGSMITH_API_KEY='…'
# Not in the repo? Use the symlinked path: ~/.codex/skills/setup-workshop/scripts/setup.sh
setup.sh is idempotent: it starts docker, installs Workbench (if absent),
activates the local context, clones (if absent), writes secrets.env, generates
the GPU CDI spec, configures the /run/cdi/ and /var/host-run/ mounts, builds,
and starts DevX-Lab. It streams to ~/.workshop-setup.log and ends with exactly
one sentinel:
=== WORKSHOP SETUP COMPLETE ===
=== WORKSHOP SETUP FAILED: <reason> ===
While it runs, check progress with tail -n 30 ~/.workshop-setup.log. The
harness re-invokes when the background command exits — then read the log tail to
find the sentinel.
4. On completion
COMPLETE → read ~/.workshop-app-url for the URL and surface it with the
right access instructions for the user's situation (see step 5).
FAILED → read the reason plus the log tail, consult
references/troubleshooting.md, fix the root cause, and re-run setup.sh (it
resumes idempotently). The most common failures: missing/placeholder
secrets.env (401s), a network drop mid-build, or a missing /run/cdi source.
Show full SKILL.md (415 more words)Show less
5. Tell the user how to open it
Determine the box type and give matching instructions (full detail in
references/access.md):
Desktop with a browser: open the URL (or re-run start-app.sh without
--no-browser to auto-open).
Headless GPU box (most common): the proxy binds to localhost, so forward
it — ssh -N -L 10000:localhost:10000 <user>@<host> — then open the URL on the
laptop.
Need a shareable link:nvwb activate local --external-access then
nvwb create share-url DevX-Lab (≈48-hour public URL).
6. Offer optional persistence
Only if the user wants Brev-style behavior, offer the extras in
references/persistence.md: a systemd unit that auto-starts DevX-Lab on
reboot, and/or an nginx router that serves a clean single port (:8888) with
the Host-header rewrite. Neither is required for normal local use.
Restart / re-resolve later
To restart the app after a reboot or to re-print the URL, run
scripts/start-app.sh (it resolves the project, starts the app idempotently, and
rewrites ~/.workshop-app-url). No rebuild needed unless package/build files
changed.
nvwb gotchas (and why the scripts look the way they do)
nvwb is a shell function, not a binary. Scripts must
source ~/.local/share/nvwb/nvwb-wrapper.sh (after ~/.bashrc). Never run
timeout nvwb … — timeout execs a binary and can't see the function. The
scripts here source the wrapper for exactly this reason.
The /run/cdi/ and /var/host-run/ host mounts are declared in spec.yaml,
so their sources must exist before nvwb build/start — setup generates
the CDI spec first to avoid a cryptic "mount source not found".
secrets.env / variables.env are runtime config: after editing them,
restart the container (nvwb close then nvwb open) — a rebuild is not needed.
Package/apt.txt/build-script changes do need nvwb build.
Scripts pass --context local --project <path> explicitly instead of relying
on an "open" project, so they work non-interactively.
access.md — desktop / headless port-forward / share-url / nginx access
modes and how to verify the app is up.
persistence.md — optional systemd auto-start and nginx :8888 router.
assets/
secrets.env.template — the keys file to fill in (NVIDIA required).
nvwb-workshop.service.template — systemd unit (placeholders to substitute).
nginx-workshop.conf.template — single-port router (placeholders to substitute).
Related skills (bundled in this repo)
nvwb — full AI Workbench CLI reference (contexts, clone, build, apps,
mounts, env vars). Consult it for any nvwb command this skill invokes.
nvwb-project — in-container project awareness for .project/spec.yaml;
useful once working inside DevX-Lab. See .agents/skills/VENDORED.md for
provenance and re-sync.
Setup Workshop next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Setup Workshop compared with similar skills
Skill
Stars
Used in
Tokens
Auto-check
Licence
Repo updated
Setup Workshop this skillbrevdev/workshop-build-an-agent
Work out why the blot-container-{blue,green,yellow} Docker containers from the most recent production deployment have restarted — distinguishing a normal deploy-triggered restart from a crash (V8…
A skill your agent uses when deploying Frappe/ERPNext to production, configuring Nginx or Supervisor, setting up Docker, enabling SSL, or hardening security.
Deploys a production n8n instance to a fresh Linux server over SSH with Docker Compose and Caddy HTTPS, in single or queue mode, and covers updates, backups and hardening.
Set up the NVIDIA "Build an Agent" DevX workshop as a working JupyterLab environment from INSIDE a locked-down OpenShell/NemoClaw sandbox, and hand the user the token URL + access commands.
This skill should be used when a learner is working through Module 1 ("Build an Agent") of the Build-an-Agent workshop and wants help understanding the concepts, notebooks, or code — e.g.
This skill should be used when a learner is working through Module 1 ("Build an Agent") of the Build-an-Agent workshop and wants help understanding the concepts, notebooks, or code — e.g.
This skill should be used when the user wants to set up, install, deploy, bootstrap, or "spin up" the Build-an-Agent workshop (a.k.a. Setup Workshop is an agent skill from brevdev/workshop-build-an-agent.a.
When should I use Setup Workshop?
Setup Workshop fits situations like: wants to set up; spin up the Build-an-Agent workshop (a.k.a.
How do I install Setup Workshop in Claude Code?
Run `npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a claude-code`. Or copy the skill folder (.agents/skills/setup-workshop in brevdev/workshop-build-an-agent) into .claude/skills/setup-workshop in your project. Claude Code loads it when a task matches its description.
How do I install Setup Workshop in Codex?
Run `npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a codex`. Or copy the skill folder (.agents/skills/setup-workshop in brevdev/workshop-build-an-agent) into .agents/skills/setup-workshop in your project. Codex loads it when a task matches its description.
Can I use Setup Workshop in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/setup-workshop, .gemini/skills/setup-workshop, .github/skills/setup-workshop and .opencode/skills/setup-workshop in your project.
What does Setup Workshop need to run?
Going by SKILL.md and its folder, Setup Workshop needs a shell for the scripts in its folder, the command-line tools its instructions call (bash and ssh) and credentials named TAVILY_API_KEY, LANGSMITH_API_KEY and NVIDIA_API_KEY. Our summary lists: A Bash shell; Docker; A credential in TAVILY_API_KEY; A credential in LANGSMITH_API_KEY.
Does Setup Workshop access the network?
SKILL.md names 1 domain. As links in the text: build.nvidia.com. This is read from the text; nothing was executed.
Is Setup Workshop safe to install?
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
What licence does Setup Workshop use?
Setup Workshop is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Setup Workshop use?
About 2.3k tokens (SKILL.md is roughly 9.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.7k tokens, read only when the agent opens those files.
What are the alternatives to Setup Workshop?
Skills that share tags, products or a category with Setup Workshop: Investigate Production Container Restarts (blotcms/blot, 2k stars), Msa Search Nim (NVIDIA/skills, 3.5k stars), Tao Setup Nvidia GPU Host (NVIDIA/skills, 3.5k stars) and Frappe Ops Deployment (Impertio-Studio/Frappe_Claude_Skill_Package, 187 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Setup Workshop?
brevdev (a GitHub organization) maintains it in brevdev/workshop-build-an-agent, which has 144 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 7, 2026.