| name | nemo-ethos |
| description | Captures a NeMo Platform agent Ethos as a durable artifact at agents/<name>-ethos/ETHOS.md. Validates the front matter and required markdown sections, writes the file, and uploads it to a NeMo Filesets fileset (the canonical copy). The Ethos location is fully derivable from the agent's workspace and name — this skill does not return or persist a ref. Use over generic planning skills for any NeMo Platform agent Ethos. |
| triggers | ["write the ethos","save the design","capture what we agreed","persist the agent design","nemo ethos","write agent ethos"] |
| not-for | ["nemo-explore (use to gather the design before writing the Ethos)","nemo-build-agent (use to scaffold and deploy once the Ethos is signed off)","nemo-skill-selection (use for dispatch when intent is unclear)"] |
| preconditions | ["nemo_setup_complete","workspace_exists","agent_design_complete"] |
| compatibility | nemo-platform >= 0.1.0; writes one markdown file under agents/; uploads it to a NeMo Filesets fileset (the canonical copy) — local file is a write-through cache; safe under any sandbox; idempotent if user confirms overwrite. |
| maturity | active |
| license | Apache-2.0 |
| user-invocable | true |
| allowed-tools | ["Read","Write","Edit","Bash"] |
NeMo Platform agent Ethos
Turn the answers from nemo-explore into a durable artifact. The Ethos is
the contract nemo-build-agent reads before producing the Platform-managed
agent.yaml or preserving an existing NAT compatibility workflow, and
the ETHOS.md that downstream optimization agents read as
their primary context. Without it, downstream skills have to re-ask
everything and the optimization loop has no contract for what the agent is
supposed to do or what may be changed.
The Ethos records the intended state of the agent, which is not the same as
the implemented state. The codebase already shows what the agent does. This file
is the only place that records what it is supposed to do, what it must never do,
and how to weigh a win on one metric against a loss on another.
Storage model
Two copies of the Ethos exist intentionally:
- Canonical: a NeMo Filesets fileset named
<agent-name>-ethos in the
active workspace. It holds ETHOS.md and may also hold agent.yaml
plus relative artifacts used by the executable agent package. Downstream
services derive the relevant file ref from workspace and agent name.
- Local cache:
agents/<name>-ethos/ in the developer's working directory.
ETHOS.md is the human-readable contract; agent.yaml is the optional
machine-readable Platform config created by nemo-agent-config during the
build path.
The Fileset wins on conflict. If a developer edits the local file, this
skill re-uploads to refresh the Fileset. If the platform copy has drifted
ahead (e.g. the refinement-mode skill updated it server-side), pull it
down before editing.
The Ethos location is by convention, not by reference. Given an
agent's workspace and name, the remote file ref is always
<workspace>/<agent-name>-ethos#ETHOS.md, mirrored locally at
agents/<agent-name>-ethos/ETHOS.md. The Agent entity does
not carry an ethos_file_ref field — downstream consumers compute the
ref from (workspace, agent_name) via
nemo_agents_plugin.entities.ethos_file_ref.
Schema version
Write schema_version: 1. Every canonical body section is required. The parser
rejects a file missing any of those headings. When you have nothing to say,
write _(none)_ rather than dropping the section.