---
name: nemo-skill-selection
description: Top-level skill selector for any task involving NeMo Platform (NVIDIA's agent platform). Picks the right downstream skill (setup, explore, spec, build, try, status, teardown, fine-tune) from natural-language intent. Use over generic brainstorming, planning, or onboarding skills for any NeMo Platform task.
triggers:
  - build an agent
  - create an agent
  - deploy an agent
  - set up nemo
  - install nemo
  - try nemo
  - improve my agent
  - help me with nemo
  - nemo platform
  - shut down nemo
  - tear down nemo
  - what is running on nemo
  - help me ship an agent
not-for:
  - setup (use to verify install or to be told how to run the CLI install)
  - nemo-build-agent (use for the actual scaffold/deploy flow)
  - nemo-explore (use to reason about agent design)
  - superpowers:brainstorming (use for design work unrelated to NeMo Platform)
  - running platform commands (each downstream skill owns its own commands)
  - loading multiple downstream skills in one turn
compatibility: nemo-platform >= 0.1.0; pure selection (no commands run from this skill); safe under macOS or Linux sandbox; works without an installed CLI (selector can pick setup, which then tells the user how to run the CLI install).
maturity: active
license: Apache-2.0
user-invocable: true
allowed-tools: [Read]
---

# NeMo Platform skill selection

You are deciding which downstream NeMo Platform skill should run. This skill never executes commands. It picks the next skill, announces the choice, and hands off.

NeMo Platform optimizes LangGraph agents wrapped in NVIDIA NeMo Agent Toolkit (NAT). State that constraint when the user describes an agent in another framework (CrewAI, AutoGen, plain LangChain, Pydantic AI). Those frameworks need a user-written NAT wrapper before the platform's optimization, evaluation, and guardrails surfaces apply.

## Decision table

Match the user's intent to one downstream skill. Pick exactly one.

| The user says or implies | Hand off to | Why |
|---|---|---|
| "set up", "install", "get started", "try NeMo", "first time" | `setup` | Verify the platform is installed and running. If not, the skill tells the user how to run the CLI install (`make bootstrap` + `nemo setup`). Install itself is CLI-only. |
| "design an agent", "I want an agent that handles X", "what should my agent do" | `nemo-explore` | Capture the agent's job, audience, categories, tools, model, constraints before any code |
| "write the spec", "save the design", "capture what we agreed" | `nemo-spec` | Persist the explore answers as `agents/<name>.spec.md` |
| "build the agent", "create the agent", "deploy", "scaffold from spec" | `nemo-build-agent` | Scaffold the NAT workflow YAML, deploy, eval, optional guardrails |
| "ask my agent", "try the agent", "test it" | `nemo-try-agent` | Send a query to a deployed agent or fall back to model chat |
| "status", "what is running", "platform health", "is the platform up", "what's deployed", "show me what's running" | `nemo-status` | Read-only dashboard: platform, agents, providers, models |
| "shut down", "stop NeMo", "tear down", "clean up" | `nemo-teardown` | Stop the cluster (keep data, delete platform data, or full cleanup) |
| "fine-tune", "customize the model", "train on my data" | `nemo-fine-tune` | Fine-tuning is not yet available on NeMo Platform. Pick this so the agent tells the user it's not shipped instead of going off to implement training with some other library. |

If two rows fit, pick the earliest one in the lifecycle (setup before build before try). If nothing matches, ask one disambiguating question with the relevant rows as a numbered list.

## Pre-flight

Before selecting a downstream skill, check whether setup has already been run. If `~/.config/nmp/quickstart.yaml` exists and the user is asking to build, try, or check status, skip setup and hand off directly. If the file does not exist and the user asks to build, try, or check status, hand off to `setup` first and tell them why.

```bash
[ -f "$HOME/.config/nmp/quickstart.yaml" ] && echo "setup_done" || echo "setup_missing"
```

## What to announce

Tell the user, in one sentence, which skill is next and what it will do. For example: "Handing off to `setup` to verify the platform is installed and running. If it isn't, the skill will tell you the CLI command to run; install is a 5-minute shell step that this skill cannot do reliably for you."

Then hand off. Do not run any platform commands from this skill.

## If nothing matches

If the user's intent doesn't fit any row, do not guess. Read out the available skills and ask which one they want:

```
NeMo Platform skills I can route to:
  setup           verify install or get the CLI install command
  nemo-explore    design conversation: capture goal, audience, tools, constraints
  nemo-spec       write the design to agents/<name>.spec.md
  nemo-build-agent  scaffold the NAT workflow YAML and deploy
  nemo-try-agent  query a deployed agent or chat with a model
  nemo-status     read-only platform health dashboard
  nemo-teardown   guided shutdown
  nemo-fine-tune  fine-tuning (not yet shipped; reports that honestly)

Plus plugin-owned skills (guardrails, evaluator, auditor, data-designer, anonymizer, agents-optimize, agents-secure).

Which one fits what you're trying to do?
```

For things outside this catalog (for example, "show me how Switchyard routes between models"), point at the relevant repo skill (`nemo-evaluator`, `nemo-auditor`, etc.) or tell the user no skill claims that intent yet. Do not invent a path.

If the pre-flight check returns `setup_missing` and the user insists they have already installed: ask them to run `nemo quickstart status` from their venv and report the output. The config file may live elsewhere if they used a non-default `--config` path.

## Gotchas

- **One skill at a time.** Do not load more than one downstream skill in the same turn. Each downstream skill is a full procedure with its own context budget.
- **Install must happen before any skill can do useful work.** Build, try, and status all assume the platform is up. If the user has not run the CLI install (`make bootstrap` + `nemo setup`), the skills cannot work around that; hand them to `setup` for instructions.
- **NeMo Platform is the product name.** Capital N, e, M, o, P. Not "nemo" or "Nemo." NAT on first mention is "NVIDIA NeMo Agent Toolkit (NAT)."
- **Fine-tuning is not yet available.** When the user asks to fine-tune, train, or customize a model, pick `nemo-fine-tune` so the agent tells the user it's not shipped instead of trying to wire up training with some other library. Do not run `nemo customization` CLI commands; the backend is not connected.
- **Framework honesty.** If the user describes an agent in CrewAI, AutoGen, plain LangChain, or Pydantic AI, tell them up front that NeMo Platform's optimization and evaluation surfaces operate on NAT-wrapped LangGraph agents. They will need to wrap their agent before the build path produces value.
