Example Claude Code agent teammates and skills for running large-scale distributed training experiments (originally built for heterogeneous parallelism benchmarking on colocated MIMO VLM training on Megatron).
Point your Claude Code at this repo, borrow the agent definitions as starting points, and have Claude spin up a personalized team for your use case.
Agent teams are currently experimental. Turn them on by adding this to your ~/.claude/settings.json (or project .claude/settings.json):
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}Restart Claude Code so the env var takes effect.
Clone it somewhere your Claude can read:
git clone https://gitlab-master.nvidia.com/ykarnati/megatron-mimo-skills.gitThen, in your Claude Code session, tell Claude roughly this:
Here's a reference repo of agent teammates and skills:
<path-to-megatron-mimo-skills>. Read the markdown files in there as examples. I want you to create an agent team for me with:
- a team lead (my primary interface, plans campaigns, delegates)
- an experiment runner (submits/monitors jobs, collects results)
Use the example skills in that repo as a template and adapt them to my use case, which is:
<describe your workload — training stack, scheduler, what you're benchmarking, success criteria>.
Claude will read the example agent definitions and produce your own personalized team-lead.md and experiment-runner.md (and any other roles it thinks you need).
| File | Role |
|---|---|
team-lead.md |
Research supervisor. User-facing. Plans campaigns, directs the team, owns trajectory. |
campaign-manager.md |
Owns the experiment loop: generates configs, commands runners, logs results, consults the systems expert. |
systems-expert.md |
Deep distributed-training systems knowledge. Analyzes results, suggests which knobs to turn next. Advises, never executes. |
runner.md |
The only agent that touches SLURM. Submits sbatch jobs, polls completion, collects results, diagnoses failures. |
These were built for a specific workload (MIMO VLM throughput benchmarking on Megatron + SLURM). They are examples — treat the role decomposition, communication rules, and "what you do NOT do" sections as the reusable pattern, not the Megatron-specific details.
For most experiment-running use cases, start with two teammates:
- team-lead — talks to you, plans, delegates
- experiment-runner — executes jobs on your scheduler (SLURM, k8s, Ray, etc.)
Grow from there (add a systems expert, a campaign manager, an eval specialist, …) only when the two-agent setup is clearly the bottleneck.
- Keep the communication rules explicit (who talks to whom). It's the thing that most prevents agents from stepping on each other.
- Keep a "What you do NOT do" section in each agent. It's more load-bearing than the "what you do" list.
- Make one agent the sole owner of side effects (job submission, writes to shared state). The others advise or read.
- Let the team lead be the only agent that talks to you.