跳到正文
cccskills
免费在 GitHub 公开

ethos-write

Turn an AI agent’s agreed purpose, behavior, boundaries, and success criteria into an ethos.md design document. The skill writes or edits the local file, validates its structure, and reviews the contents with the user.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Writes an AI agent's ethos.md — a durable snapshot of its purpose, intended behavior, boundaries, and success criteria — from the answers gathered by ethos-explore. Renders the schema-v1 template, validates the front matter and required markdown sections, saves the file in the agent's repository, and reviews it with the user. Also edits an existing ethos.md. Use over generic planning skills for an agent's ethos.md.

查看安装方法

适用场景

  • Document an agent design agreed through discussion
  • Update an existing ethos.md when intent changes
  • Record constraints and priorities for evaluation
  • Check required sections and document structure

包含的文件(10)

  • SKILL.md14.1 KB
  • BENCHMARK.md7.6 KB
  • evals/config.yml331 B
  • evals/evals.json4.6 KB
  • evals/files/invoice-triage/explore-notes.md2.5 KB
  • evals/files/router-help/ethos.md3.6 KB
  • references/templates/ethos.md12.2 KB
  • scripts/validate_ethos.py3.8 KB
  • skill-card.md4.5 KB
  • skill.oms.sig5.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. --> <!-- SPDX-License-Identifier: Apache-2.0 -->

Write an agent's ethos.md

Turn the answers from ethos-explore into a durable artifact. The ethos.md is the contract that people and agents read before they build, evaluate, review, or change this agent. Without it, each of them has to re-ask everything, and nothing records what the agent is supposed to do.

Creating or reviewing an ethos.md does not authorize application changes or imply that changes will follow. Do not ask for permission to modify prompts, models, tools, validation code, or workflow structure, or generate sections listing those permissions. Any workflow that later changes the application collects the permissions it needs when that work is undertaken. Keep behavioral constraints and safety boundaries, including approvals the agent needs for its own actions, in Behavior and Constraints. Also retain already-confirmed organizational safety and review policies and their known owners; recording such a restriction does not grant permission to make a change.

The ethos.md 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.

Location

The ethos.md is a local file in the agent's repository, committed alongside the code it describes. Use the path the user names. Otherwise reuse an existing ethos.md, including an ETHOS.md written by Eval Author 0.1.0. Otherwise write ethos.md at the repository root; in a repository with several agents, put it at the root of the agent's own package and confirm that path with the user. The file is the only copy. There is no remote canonical copy to sync.

Schema version

Write schema_version: 1. Every canonical body section is required. The validator rejects a file missing any of those headings. When you have nothing to say, write _(none)_ rather than dropping the section. Version 1 is the only schema version. When a new version ships, its migration steps belong in this skill.

The schema is a floor, not a ceiling. Extra ## headings and extra YAML front-matter keys are allowed. The parser keeps unknown body sections and does not fail on unknown front-matter keys. If the user already added custom sections, preserve them on rewrite. Do not strip custom content to make the file look strict. This includes a legacy Change Scope section: preserve it on edits unless the user asks otherwise, but do not treat it as authorization for application changes in this workflow.

Do not invent content to look complete: _(none)_ in Constraints is honest, while a fabricated bound actively misleads anyone changing the agent. If the user has no answer yet, write _(none)_, record the gap in Open Questions, and move on.

ethos.md holds durable intent, so keep run-scoped configuration out of it. A spend ceiling, an experiment count, or a wall-clock limit for a single evaluation run belongs to the tool that runs it. If a user offers one, record the standing policy it implies — a production cost ceiling in Constraints, or who approves an overrun — and leave the run limit itself to that tool's config.

Hard preconditions

Before writing anything, the answers carried over from ethos-explore must satisfy one non-negotiable. If it is missing or ambiguous, stop and route back to ethos-explore for that field only — do not invent a default.

  1. Role — one concrete sentence describing the role this agent plays. Vague answers ("help with stuff", "answer questions") make the artifact useless downstream even though the parser will accept them; push back in conversation rather than writing a placeholder.

The parser cannot catch a vague Role, which is why this skill enforces it upstream: the user sees a clear gap-question instead of a file that validates and then helps nobody.

What you do

  1. Confirm the agent name. Short and recognizable: it-helpdesk, support-triage, code-reviewer. If the user has not named it, propose two options based on the role.

  2. Pre-flight: locate the file. Resolve ETHOS_PATH as described in Location. If a file already exists there, ask the user whether to edit it or start over. Read an Eval Author 0.1.0 ETHOS.md as the existing ethos.md.

    find . -maxdepth 4 -iname ethos.md -not -path '*/.git/*' -not -path '*/node_modules/*' 2>/dev/null | grep . || echo "ethos_new"
    
  3. Run a focus check before rendering. The carried-over answers should be mission-led and reviewable, not a raw inventory of implementation details:

    • Purpose & Outcomes and Success Criteria must explain mission, user value, the measurable result, and the success bar. If they only summarize the current code, route back to ethos-explore to ask whether the user has outside context that is not in the codebase. If no such context exists, say the section is inferred from implementation.
    • Trade-offs must be decidable. "Balance quality and cost" is not usable; a priority order with named hard gates is. If the user has not ranked anything, ask for the ranking rather than writing a platitude.
    • Constraints must be checkable. Prefer "models must come from the internal gateway" over "use approved models." This is also where the permitted model and provider set lives; there is no Model section, because the config already records the model in use and it changes without touching this file.
    • Tools and Harness should be concise. For Harness, describe how this agent actually runs. Do not pick a named harness from a catalog, and do not treat a framework import as a requirement. Group related helpers in Tools by capability or source when they share credentials, side effects, freshness, and failure modes. Keep only details that change how downstream agents evaluate behavior.
    • Avoid public shorthand like AUT or "agent under test." Use "this agent" for the agent being specified. Use "target agent" only when this agent's job is explicitly to inspect or modify another agent.
  4. Render the ethos.md. Use the template at references/templates/ethos.md as the starting point. Substitute every section from the ethos-explore answers. Set front matter as: schema_version = 1, name = the canonical agent name, created_timestamp = current UTC timestamp in ISO 8601 form, and author = the human or coding agent creating the file. Add owner when a human or team is accountable for the agent's behavioral or safety approvals named in Behavior or Constraints, including a known owner of an already-confirmed organizational safety policy. Set updated_timestamp on edits, not on first write. Evaluation commands live in Evaluation Setup, not in front matter. Keep the required section headers exactly so the file stays parseable. Extra ## headings after (or among) the canonical fourteen are allowed — keep them. The file is lightly validated by the bundled scripts/validate_ethos.py, which checks front matter, schema version, required sections, and duplicate sections. It does not reject unknown headings. Section bodies stay markdown for agents and humans to read directly.

  5. Write the file. Write to ETHOS_PATH, creating its directory if needed. If an Eval Author 0.1.0 ETHOS.md exists in that directory, rename it to ethos.md before writing, through a temporary name so the rename also works on case-insensitive filesystems:

    DIR=$(dirname "$ETHOS_PATH")
    if ls "$DIR" | grep -qx ETHOS.md; then
      mv "$DIR/ETHOS.md" "$DIR/ethos.md.tmp"
      mv "$DIR/ethos.md.tmp" "$DIR/ethos.md"
    fi
    
  6. Validate. Run the bundled validator and surface any warnings to the user. A failure means the file is malformed; fix the named problem before going on. Warnings are not failures — report them so the user can decide whether to fill the gap now.

    python3 "<this skill's directory>/scripts/validate_ethos.py" "$ETHOS_PATH" \
      || echo "ethos_parse_invalid"
    
  7. Show a gut-check, then the file. Before asking the user to read fourteen sections, state your impression of this agent in a short paragraph that combines Role, Purpose & Outcomes, Scope, and (when they are not _(none)_) Principles and Vision. This is a thin slice so the user can tell quickly whether the write got the agent right. Do not use shorthand like AUT or "agent under test."

    Shape:

    Gut check. This is a [role] that exists to [mission / outcome]. It serves [audience] on [in-scope work] and stays out of [out of scope]. When the rules run out, it [principle or none]. It is heading toward [vision or none].

    If that is the wrong agent, say so. Then we can edit before treating this file as signed off.

    Then print the full file contents and ask: "Does this match what we agreed? Edit anything you want to change." If the user edits, repeat steps 5–7, including a fresh gut-check.

  8. Hand off. Once confirmed, tell the user where the file is and that it is ready to commit. It is now the reference for evaluating, reviewing, or changing this agent. When intent changes, edit it in place and set updated_timestamp.

Verification

After writing, both must hold:

# Local file present and non-empty.
test -s "$ETHOS_PATH" && echo "local_ok" || echo "local_missing"

# Passes the bundled validator.
python3 "<this skill's directory>/scripts/validate_ethos.py" "$ETHOS_PATH" \
  && echo "ethos_parse_ok" || echo "ethos_parse_invalid"

Do not announce success until local_ok and ethos_parse_ok both print, the gut-check has been shown, and the user has confirmed the contents.

If verification fails

SymptomCauseRecovery
local_missing after writeWrong working directory or permission deniedRun pwd; check the user is in the cloned repo
ethos_parse_invalidethos.md malformed — missing front matter, missing required section, duplicate section, or bad schema versionRead the parser error; fix the named section in place; do not silently work around
User says "this is wrong"ethos.md captured the wrong answersEdit the relevant section in place; re-validate
ethos-explore was skippedUser invoked ethos-write coldRoute back to ethos-explore and return here when the conversation is done

What this skill is not

This skill does not write agent configs, runtime YAML, or code, and does not register or deploy the agent. The ethos.md is the human-readable design; machine-readable config stays with the agent's implementation.

It also does not encode a scoring function. Trade-offs records the developer's intent — hard gates, priority order, unacceptable regressions — in prose. Turning that into thresholds and weights belongs to whatever evaluates or changes the agent, not to this file.

Gotchas

  • The template is the source of truth for the canonical outline. Keep the required section headings intact. Extra ## headings are allowed and must be preserved. The bundled validator rejects missing or duplicate required sections, but it does not reject custom headings. Section bodies remain markdown for humans and agents to read directly.
  • ethos.md lives with the agent. Commit it in the agent's repository, next to the code it describes, so every reader finds the same file.
  • Role is a hard requirement. Do not write the ethos.md without a concrete one. Route back to ethos-explore for that field only.
  • Honest empty answers belong in the section. Write _(none)_ for Constraints or Trade-offs when the user has no answer. Do not invent a bound. Record the gap in Open Questions as well.
  • Purpose & Outcomes cannot be implementation-only by accident. If goal context was not found in the codebase and the user did not provide outside context, make that provenance clear instead of letting implementation details masquerade as mission. A mission with no stated outcome cannot be measured.
  • Keep public terminology clean. The generated ethos.md is user-facing. Avoid AUT and "agent under test"; reserve internal shorthand for test harnesses and code comments.
  • Do not duplicate issue tracking into the ethos.md. Known issues and recurring failure patterns belong in the team's issue tracker; the ethos.md has no Known Issues section, and no Signals section either — how a given consumer reads evidence is that consumer's configuration, not durable intent. Record what a metric cannot support in Metric Semantics, and what should not count as a failure in Behavior.
  • This file is the ethos.md. Agents working on this agent read it but should not edit it; only the developer and the developer's coding agent do. Treat it as a long-lived contract, not a scratch pad.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Move pandas-style table processing to NVIDIA GPUs using cuDF. Choose minimal-change acceleration or explicit GPU code, handle joins and aggregations, compare results with pandas, and use dask-cuDF when data exceeds GPU memory.

中文简介正在准备中。当前显示英语简介。

  • Accelerate existing pandas processing with minimal changes
  • Move joins and aggregations to GPU code
  • Compare missing values and ordering with pandas
NVIDIA/skills36842026年10月22日 更新

Customize NVIDIA Nemotron Voice Agent’s Generic Pipecat example for appointment scheduling, five-field patient intake, or a custom healthcare conversation. Build prompts and tool handlers without a separate backend, then validate conversation behavior, services, and voice interaction.

中文简介正在准备中。当前显示英语简介。

  • Build an appointment-scheduling voice agent
  • Collect five patient-intake fields through conversation
  • Design a custom healthcare conversation with tool calls
NVIDIA/skills36842026年10月22日 更新

Calibrate live cameras by recording their RTSP video streams through VIOS and processing the clips with AutoMagicCalib. The workflow imports settings and alignment files, checks readiness, tracks calibration progress, and retrieves results.

中文简介正在准备中。当前显示英语简介。

  • Calibrate cameras from live RTSP streams
  • Import settings and alignment files for a camera scene
  • Retrieve evaluation statistics using ground truth data
NVIDIA/skills36842026年10月22日 更新

Test a running AMC service with the bundled four-camera warehouse dataset. Run camera calibration from upload to completion, then check distance and image projection errors against ground-truth data to verify the installation.

中文简介正在准备中。当前显示英语简介。

  • Verify a newly installed AMC service
  • Check the sample's calibration errors against ground truth
  • Walk through the sample workflow in Swagger UI
NVIDIA/skills36842026年10月22日 更新

Calibrate multiple cameras from recorded MP4 files through the AutoMagicCalib REST API. The skill handles project creation, uploads, input verification, progress checks, and evaluation when reference data is supplied, with optional VGGT refinement.

中文简介正在准备中。当前显示英语简介。

  • Calibrating cameras from synchronized MP4 recordings
  • Uploading local settings and alignment files
  • Evaluating calibration against ground-truth data
NVIDIA/skills36842026年10月22日 更新

Set up AutoMagicCalib from NGC release containers using Docker Compose. The skill handles registry authentication, port and path configuration, optional VGGT model download, service startup, and readiness checks for the backend and web interface.

中文简介正在准备中。当前显示英语简介。

  • Launching the AutoMagicCalib backend and web interface
  • Configuring service ports and network access
  • Adding the optional VGGT model during setup
NVIDIA/skills36842026年10月22日 更新

查看 NVIDIA 的全部技能

报告此技能的问题