Agent skill

Setup Workshop

by brevdev in 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.

Apache-2.0Auto-check: notesDevOps & Cloud

Install Setup Workshop

skills CLI
$ npx skills add brevdev/workshop-build-an-agent --skill setup-workshop -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install brevdev/workshop-build-an-agent setup-workshop --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/brevdev/workshop-build-an-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/setup-workshop .claude/skills/setup-workshop && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

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.

  1. Preflight
  2. Obtain the NVIDIA API key (and any optional keys)
  3. Run setup in the background, then wait
  4. On completion
  5. Tell the user how to open it
  6. Offer optional persistence

What it can do on your machine

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.

SKILL.md

The full file from brevdev/workshop-build-an-agent at commit b5689a7, republished under its Apache-2.0 licence (© brevdev). 1,069 words, ~2,273 tokens.

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.env after 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.

Resources

scripts/
  • preflight.sh — read-only environment readiness check (run first).
  • setup.sh — idempotent end-to-end bootstrap; run in the background.
  • start-app.sh — (re)start DevX-Lab and resolve the URL; reused by setup and the optional systemd unit.
references/
  • troubleshooting.md — build failures, 401s, mounts/CDI, GPU, docker, ports, clean-slate reset.
  • 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).
  • 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.

© brevdev, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (scripts, references, assets) in .agents/skills/setup-workshop of brevdev/workshop-build-an-agent.

  • SKILL.md
  • assets/nginx-workshop.conf.template
  • assets/nvwb-workshop.service.template
  • assets/secrets.env.template
  • references/access.md
  • references/persistence.md
  • references/troubleshooting.md
  • scripts/preflight.sh
  • scripts/setup.sh
  • scripts/start-app.sh

Open the folder on GitHubat commit b5689a7

Compare with similar skills

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
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Setup Workshop this skillbrevdev/workshop-build-an-agent144—~2.3kAutomated safety check: NotesApache-2.0
Investigate Production Container Restartsblotcms/blot2k—~4.7kAutomated safety check: PassAGPL-3.0
Msa Search NimNVIDIA/skills3.5k1 repos~4.6kAutomated safety check: NotesApache-2.0
Tao Setup Nvidia GPU HostNVIDIA/skills3.5k—~3.4kAutomated safety check: NotesApache-2.0
Frappe Ops DeploymentImpertio-Studio/Frappe_Claude_Skill_Package187—~2.4kAutomated safety check: NotesMIT
Headscale Deploymagnus919/agent-skills113—~1.3kAutomated safety check: NotesMIT

Similar skills

  • 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…

    2k GitHub stars~4.7k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Msa Search Nim

    NVIDIA/skills

    Official

    Generate multiple sequence alignments (MSAs) for protein sequences using the ColabFold MSA-Search NIM.

    3.5k GitHub starsUsed in 1 repo~4.6k tokens
    DevOps & CloudAuto-check: notes
  • Official

    Host setup for TAO GPU backends. An agent skill from NVIDIA/skills.

    3.5k GitHub stars~3.4k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Frappe Ops Deployment

    Impertio-Studio/Frappe_Claude_Skill_Package

    A skill your agent uses when deploying Frappe/ERPNext to production, configuring Nginx or Supervisor, setting up Docker, enabling SSL, or hardening security.

    187 GitHub stars~2.4k tokensUpdated 21 days ago
    DevOps & CloudAuto-check: notes
  • Headscale Deploy

    magnus919/agent-skills

    Deploy, configure, and maintain a self-hosted Headscale control server on Linux or Docker.

    113 GitHub stars~1.3k tokensUpdated 2 days ago
    DevOps & CloudAuto-check: notes
  • Self-Hosted n8n Deployment

    czlonkowski/n8n-skills

    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.

    6.4k GitHub stars~3.5k tokensUpdated 22 days ago
    DevOps & CloudAuto-check: notes

More from brevdev/workshop-build-an-agent

All 11 skills in this repo
  • Setup Workshop Nemoclaw

    brevdev/workshop-build-an-agent

    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.

    144 GitHub stars~5.2k tokensUpdated yesterday
    Auto-check passed
  • Nvwb

    brevdev/workshop-build-an-agent

    Manage NVIDIA AI Workbench projects, contexts, builds, and environments via the nvwb CLI.

    144 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Module 1

    brevdev/workshop-build-an-agent

    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.

    144 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Module 1

    brevdev/workshop-build-an-agent

    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.

    144 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Workshop

    brevdev/workshop-build-an-agent

    This skill should be used when a learner wants to navigate or understand the Build-an-Agent workshop as a whole — e.g.

    144 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • Workshop

    brevdev/workshop-build-an-agent

    This skill should be used when a learner wants to navigate or understand the Build-an-Agent workshop as a whole — e.g.

    144 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Questions about Setup Workshop

What does Setup Workshop do?

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.

Source: brevdev/workshop-build-an-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.