
Brev Etiquette
OfficialFreeOptimize storage and workflow for NeMo-RL agents.
Free · Opens the source repo
What Brev Etiquette does
The Brev Etiquette skill is designed for users of NeMo-RL agents working in constrained environments, specifically within the Brev platform. This skill provides guidelines on how to effectively manage file storage and experiment outputs when running resource-intensive tasks, such as training jobs and model downloads. By adhering to the recommended practices, users can ensure that their workspace remains organized and that large files do not clutter the main repository, which is crucial for maintaining a clean and reproducible codebase.
This skill emphasizes the importance of separating source code and configuration files from generated outputs. Users are instructed to keep their code and small configurations under /home/ubuntu/RL, while all generated assets, including checkpoints and logs, should be stored in the /ephemeral directory. This separation helps in managing disk space efficiently, especially when working with large datasets or during extensive training sessions. Additionally, the skill outlines how to set up a shared cache system to avoid duplication of large files across experiments, further optimizing storage usage.
The Brev Etiquette skill also provides practical commands and checks to help users verify their storage capacity before initiating long-running tasks. By reminding users to check the available space on both the source and ephemeral directories, it reduces the risk of running out of disk space mid-experiment. Furthermore, it includes best practices for handling environment secrets and ensuring that sensitive information is not mishandled during operations, which is critical for maintaining security in collaborative environments.
Overall, this skill is ideal for developers and researchers who are engaged in reinforcement learning projects using NeMo-RL and require a structured approach to managing their workspace effectively. It helps streamline workflows while ensuring that large files are appropriately managed, making it a valuable addition for anyone working in this domain.
When to use it
Use this skill when working with NeMo-RL agents in Brev, especially during training jobs or experiments that generate large files.
When not to use it
This skill may not be suitable for users who do not require strict file management practices or those working in environments with ample storage.
What you can build with it
Managing Large Training Jobs
When running extensive training jobs with NeMo-RL, use this skill to ensure that generated outputs are stored in the correct directories, preventing clutter in your main repo.
Collaborative Research Projects
In a team setting, utilize the Brev Etiquette skill to maintain a clean and organized workspace, ensuring all members follow the same file management practices.
Experimenting with Different Models
When experimenting with various models, this skill helps you set up a shared cache and manage outputs effectively, allowing for easier comparisons and reproducibility.
How to install Brev Etiquette
View source1. Install with the skills CLI
npx skills add nvidia/skills/nemo-rl-brev-etiquette --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by nvidiaBrev Etiquette
Operate as though /home/ubuntu/RL is the source checkout and /ephemeral is the working storage for generated experiment state. Keep the repo small, reproducible, and easy to inspect. Move bulky run outputs to /ephemeral before launching anything expensive.
Storage Rules
- Keep code edits, small config changes, committed experiment hypotheses, and concise reproducibility records under
/home/ubuntu/RL. - Put generated experiment assets under
/ephemeral, including checkpoints, run logs, Ray temp directories, W&B offline files, profiler traces, evaluation dumps, rollout samples, and per-experiment artifacts. - Keep reusable caches under one shared
/ephemeralcache root per user, not under each experiment. This includes Hugging Face models, dataset caches, PyTorch caches, Triton caches,uvcaches, and pip caches. - Before a campaign or long run, check capacity with
df -h /home/ubuntu/RL /ephemeraland avoid starting if/ephemeralis missing or nearly full. - Create a campaign root such as
/ephemeral/nemo-rl/${USER:-ubuntu}/nemo-rl-auto-research/<campaign>and use one subdirectory per experiment. - Do not leave large files, cache directories, or generated outputs in the git checkout. If a tool defaults to the repo, override its output/cache path before running it.
Environment Secrets
- Treat
/home/ubuntu/RL/.envas the local secret store. It may contain keys such asWANDB_API_KEY,HF_TOKEN, orHUGGING_FACE_HUB_TOKEN. - Before any run that may need external auth, load
/home/ubuntu/RL/.envwhen it exists. Never print,cat, log, commit, or summarize secret values. - If
/home/ubuntu/RL/.envis absent, or a required key is still unset after loading it, remind the user to add the needed key to that file before launching authenticated work.
if [ -f /home/ubuntu/RL/.env ]; then
set -a
. /home/ubuntu/RL/.env
set +a
else
echo "Missing /home/ubuntu/RL/.env; add required keys such as WANDB_API_KEY or HF_TOKEN before authenticated runs."
fi
Auto-Research Pattern
When using nemo-rl-auto-research, keep the git ledger in the repo and heavy evidence on /ephemeral.
if [ -f /home/ubuntu/RL/.env ]; then
set -a
. /home/ubuntu/RL/.env
set +a
fi
BREV_ROOT=/ephemeral/nemo-rl/${USER:-ubuntu}
CACHE_ROOT=$BREV_ROOT/cache
CAMPAIGN_ROOT=$BREV_ROOT/nemo-rl-auto-research/<campaign>
EXP_DIR=$CAMPAIGN_ROOT/<experiment>
mkdir -p "$EXP_DIR"/{logs,checkpoints,artifacts,ray,tmp,wandb}
mkdir -p "$CACHE_ROOT"/{huggingface,torch,triton,uv,pip,xdg,wandb}
export HF_HOME=$CACHE_ROOT/huggingface
export HF_HUB_CACHE=$HF_HOME/hub
export HF_DATASETS_CACHE=$HF_HOME/datasets
export TRANSFORMERS_CACHE=$HF_HOME/transformers
export TORCH_HOME=$CACHE_ROOT/torch
export TRITON_CACHE_DIR=$CACHE_ROOT/triton
export UV_CACHE_DIR=$CACHE_ROOT/uv
export PIP_CACHE_DIR=$CACHE_ROOT/pip
export XDG_CACHE_HOME=$CACHE_ROOT/xdg
export WANDB_CACHE_DIR=$CACHE_ROOT/wandb
export RAY_TMPDIR=$EXP_DIR/ray
export TMPDIR=$EXP_DIR/tmp
export WANDB_DIR=$EXP_DIR/wandb
Record the absolute /ephemeral paths in the nemo-rl-auto-research TSV fields for log path, checkpoint path, artifacts, shared cache root, and command. If the TSV itself may grow large, store the full TSV in /ephemeral and keep a small pointer file or summary in the repo.
Launch Checklist
- Inspect disk first:
df -h /home/ubuntu/RL /ephemeral. - Choose a unique
/ephemeralrun root before editing recipes or launching jobs. - Reuse a shared cache root such as
/ephemeral/nemo-rl/${USER:-ubuntu}/cacheacross experiments unless a run explicitly requires a clean cache. - Override recipe output paths, logger paths, checkpoint paths, and temp paths to point under the experiment directory.
- Override cache paths to point under the shared cache root.
- Stream stdout/stderr to
$EXP_DIR/logs/run.logor an equivalent file under/ephemeral. - Periodically check disk during long runs with
df -h /ephemeraland stop gracefully if the volume is approaching exhaustion. - At the end, summarize the important metrics and paths in the repo ledger; do not copy bulky artifacts back into
/home/ubuntu/RL.
Cleanup
- Clean only files that belong to the current campaign or experiment.
- Prefer pruning clearly named experiment directories under
/ephemeral/nemo-rl/...; never remove shared caches or another user's run directory without an explicit instruction. - Preserve enough small metadata in the repo to reproduce a result after
/ephemeralis cleaned.
Frequently asked questions about Brev Etiquette
Similar skills
Turborepo
Optimized build system for JavaScript/TypeScript monorepos.
Azure Pipelines Validation
Streamline your Azure DevOps pipeline changes locally.
Azure Developer CLI
Streamline your Azure project workflows with best practices.
Azure Container Registry CLI
Manage Azure Container Registry resources with ease.
Aspire
Build and orchestrate polyglot distributed applications seamlessly.
Vercel CLI
Manage and deploy Vercel projects from the command line.
