Plugins and Skills

View as Markdown

NeMo Platform 0.1.0 is extended through Python plugins and coding-agent skills. Plugins add runtime capabilities to the local platform. Skills teach your coding agent how to operate those capabilities on your behalf.

Plugin Surfaces

Plugins are Python packages discovered at startup through entry points. A plugin can contribute one or more surfaces:

SurfaceEntry-point groupWhat it adds
HTTP servicenemo.servicesFastAPI routers mounted under /apis/<name>/...
CLInemo.clinemo <plugin> ... commands
Jobnemo.jobsLocal or submitted jobs with generated run, submit, and explain verbs
Controllernemo.controllersBackground reconciliation loops
Inference middlewarenemo.inference_middlewareVirtual-model request or response middleware
Entityplugin codeEntity definitions stored in Entity Store

The default first-party plugins are installed by uv sync and make bootstrap-python through the root workspace’s enabled-plugins group. Install or remove custom plugins in the same environment as nemo-platform, then restart local services so entry points are discovered:

$nemo services run

First-Party Plugins

PluginPurpose
AgentsManage NeMo Agent Toolkit workflows with nemo agents
Switchyard middlewareRoute or translate model traffic inside virtual models
GuardrailsAdd safety checks to model endpoints
Data DesignerOptional synthetic-data workflows
EvaluatorOptional model and agent evaluation workflows
AuditorRed-teaming against deployed agents
AnonymizerPII handling for training data

Coding-Agent Skills

nemo setup can install NeMo skills for supported coding agents. Skills are not runtime services; they are instructions that help your coding agent use the local platform correctly.

For the full list of installed skills, run:

$nemo skills list
$nemo skills show <skill-id>

The skills that drive the agent lifecycle are:

Skill IDPurpose
nemo-setupVerifies the platform is installed and running. Walks the user through make bootstrap, nemo services run, the local data directory (NMP_DATA_DIR / XDG_DATA_HOME), and DB reset. Use this when the user asks to set up the platform or hits a startup issue.
nemo-exploreDesign conversation that feeds into an agent spec. Use before scaffolding an agent.
nemo-specWrites an agent spec at agents/<name>-spec/AGENT-SPEC.md from the explore output.
nemo-build-agentScaffolds a NAT workflow YAML from the spec and deploys it.
nemo-try-agentSends a query to a deployed agent.
nemo-statusRead-only platform health dashboard.
nemo-teardownGuided shutdown with confirmation.
agents-optimizeSelects a deployed agent, establishes an evaluation baseline, and suggests Switchyard routing, model swaps, skill optimization, prompt tuning, and new-model evaluations. See Optimize Agents.
agents-secureSelects a deployed agent, checks guardrail coverage, and scans recent telemetry for sensitive data. See Secure Agents.

Plugin-owned skills cover guardrails, evaluations, optimization, data designer, anonymizer, and auditor. They are installed with their plugin and appear in nemo skills list once the platform restarts.

Manage packaged skills with the CLI:

$nemo skills list
$nemo skills show agents-optimize
$nemo skills install --agent claude

Virtual Models and Middleware

Virtual models provide the cleanest extension point for model-path behavior. An agent can point at one model entity while the virtual model handles routing, translation, or guardrail middleware behind that entity.

Common middleware patterns:

  • Switchyard random routing for strong/weak model splits.
  • Switchyard translation for cross-format model providers.
  • Guardrails middleware for request and response checks.

For command details, see the Inference Gateway API Reference and the CLI reference.

Writing Plugins

Plugin authors use the nemo-platform-plugin package. A minimal plugin declares entry points in pyproject.toml, implements the matching class, and restarts nemo services run so the local platform discovers it.

Keep plugins local-first for OSS 0.1.0: avoid requiring a cluster, container runtime, or external control plane for the documented launch path.