Ethos Explore
NVIDIAOfficialPublished by NVIDIA
- Skill
- Content generator
- Agent tooling
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
ethos-explore is a structured workflow designed to define the purpose, boundaries, and success criteria of an AI agent. It operates by first scanning the agent's codebase and documentation to infer implementation details, followed by a mandatory, multi-turn interview with the user to capture the human intent that code cannot express. The final output is a comprehensive, structured dataset handed to ethos-write to generate an ethos.md file, serving as a durable contract for developers, reviewers, and evaluators.
What it does
- Scans local files, agent configurations, and documentation to infer technical implementation details.
- Conducts a mandatory intent interview to capture mission, principles, vision, and trade-offs.
- Enforces a quality gate requiring a concrete Role definition before finalizing the output.
- Structures findings into a standardized schema covering 14 essential sections.
- Identifies and records open questions or gaps where intent remains unspecified.
- Hands off the finalized data to ethos-write for the creation of the ethos.md file.
When to use it
- When you need to create a durable, formal specification (ethos.md) for an AI agent.
- When you are onboarding an existing agent and need to document its intended behavior.
- When you want to ensure that an agent's design, boundaries, and success criteria are clearly defined for stakeholders.
- When you need to move beyond generic brainstorming to capture specific, actionable agent intent.
Advantages
- Ensures the agent's purpose is grounded in both technical reality and human intent.
- Prevents downstream ambiguity by requiring a concrete Role definition.
- Standardizes the documentation of agent behavior across different projects.
- Provides a clear, durable contract that remains valid through changes in implementation.
- Reduces reliance on guessing intent from code traces or system prompts.
Usage examples
- “I want to build an agent. Can you help me think through the design?”
- The agent initiates a codebase scan and begins the mandatory intent interview, starting with the agent's Role.
- “Write an ethos.md for my agent.”
- The agent explores the existing codebase and documentation, then proceeds to ask the required intent questions to fill the schema.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/nvidia/ethos-explore/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip ethos-explore.zip -d .agents/skills
Documentation by NVIDIA
<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -->
<!-- SPDX-License-Identifier: Apache-2.0 -->
Explore an agent's intended behavior
Capture what the agent should do. Product mission and user goals matter more
than implementation inventory. The output of this skill is the data that
ethos-write writes into ethos.md — the durable contract that people and agents
read before they build, evaluate, review, or change this agent. Underspecified
input here leads every one of them to guess at intent from code and traces.
This skill is explore first, then a mandatory intent interview. Scan the codebase and docs, infer implementation-shaped fields, then ask the user for intent source cannot own. Do not skip the interview because the scan looked complete, and do not skip a question because you think you already know the answer. Do not dump the draft ethos.md until that interview has asked at least three questions and received a reply to each.
The division of labor is: infer implementation, ask for intent. Almost everything about what the agent is can be read from source. Nothing about what the developer wants can be. Constraints, trade-offs, principles, mission, and vision live in the user's head, so they are the questions worth spending attention on.
Creating an ethos.md captures intent and authorizes no changes to the agent's application. Do not ask for optimization or change permissions, whether as a separate topic or inside another section. Permission to change code, prompts, models, tools, or evals belongs to the workflow performing that work if the user requests it. Creating an ethos.md implies no such follow-up. Preserve already confirmed organizational safety policies and their known owners, including required security review before shipping a tool with write access. Recording an existing restriction does not grant permission or require a new permission interview.
The schema you are filling
The ethos.md has five base front-matter fields, plus optional updated_timestamp,
and fourteen body sections. Every body section is required. One field is a
quality gate for handoff: ethos-write is blocked until Role is concrete.
For any other canonical section with nothing to say, write _(none)_ rather
than dropping the heading.
The fourteen headings are a floor, not a ceiling. Extra ## headings and extra
YAML front-matter keys are allowed. Keep them if the user adds them. Do not
strip custom sections to make the file look "strict."
Front matter
| Field | Required | Guidance |
|---|---|---|
schema_version | yes | Always 1 for new files. ethos-write fills this at write time. |
name | yes | Canonical agent name. Use the directory or workflow name if obvious; ask if not. |
created_timestamp | yes | ISO 8601 timestamp for when the ethos.md is created. ethos-write fills this at write time. |
author | yes | Human or agent that created the ethos.md. ethos-write fills this from the current author context when known; ask only if ambiguous. |
owner | optional | Accountable human or team for runtime action approvals named in Behavior or Constraints; ask only when such an approval needs an owner. Also retain a known owner of an already-confirmed organizational safety policy, without opening a change-permission interview. |
updated_timestamp | conditional | Set on edits. Omit on first write. ethos-write fills this. |
Body sections (in canonical order)
| # | Section | What "good" looks like |
|---|---|---|
| 1 | Role | One concrete sentence describing the role this agent plays. Example: "answer IT helpdesk questions about VPN, password reset, and software access." Vague answers ("help with stuff") are useless downstream. |
| 2 | Purpose & Outcomes | Two labeled parts. Mission: why the agent exists, what user value it provides, and the product or workflow context it serves — not a restatement of implementation mechanics. Outcome: the external result it is accountable for, with the measurable target and who owns that number. A mission with no outcome cannot be measured; an outcome with no mission gets improved in the wrong direction. Say so plainly when the agent is internal tooling with no business metric. |
| 3 | Scope | Audience, 3-6 task categories, expected in-scope work, and explicit out-of-scope work/non-goals. |
| 4 | Tools | Tools, APIs, and knowledge sources the agent can use, or "Prompt-only." Group related helpers by capability or source. Capture only behaviorally important purpose, credentials/scopes, side effects, freshness, and expected failures. |
| 5 | Harness | How this agent actually runs: the loop, tool use, and runtime. Write what is true of this agent. Do not pick a named harness from a catalog, and do not treat a framework import as a requirement. Write _(none)_ if you cannot describe how it runs. |
| 6 | Behavior | Behavioral rules and boundaries: refusal/escalation policy, tone, safety/compliance requirements, accepted limitations, and known non-goals. Hard external limits belong in Constraints. |
| 7 | Principles | How the agent should decide when no rule in Behavior covers the case: which way to err on an ambiguous request, what it protects even at some cost to the answer, and whose interest wins when the user and the business disagree. Two or three concrete judgment calls. "Helpful, harmless, and honest" is not an answer — it is true of every agent. Write _(none)_ if there is no judgment call beyond Behavior. |
| 8 | Success Criteria | What good production behavior looks like, independent of current evals: mission-level outcomes, quality standards, escalation quality, accuracy expectations, and examples of success. Rank them when some matter more. |
| 9 | Trade-offs | How to choose when desired outcomes conflict. Needs three things: hard gates never traded away, a priority order over the rest (quality, latency, cost, reliability), and unacceptable compromises. "Balance quality and cost" is not an answer. Write _(none)_ if the user cannot rank them. These are behavioral priorities, not permission to optimize the application. |
| 10 | Constraints | Hard external bounds on the agent's operation: approved providers/models/regions, data residency and handling, compliance obligations, production cost ceilings and latency SLOs, and runtime actions that need human sign-off. Retain already-confirmed organizational safety and review policies. Give the current measured figure next to a ceiling when you know it. Usually organizational, which is why the code cannot supply them. Write _(none)_ if unconstrained. Do not collect application-change permissions here. |
| 11 | Evaluation Setup | Current validation setup: how to run it, what datasets/checks it uses, what scorers/metrics measure, pass/fail thresholds, and known coverage gaps relative to the success criteria. If no eval suite exists, say so explicitly. |
| 12 | Metric Semantics | What ambiguous or load-bearing metric and telemetry field names actually mean, and which claims they do not support. Write _(none)_ when every name means exactly what it says. |
| 13 | Vision | Where the agent is headed: an intention beyond today's job, plus one or two concrete use cases it should grow into but does not serve yet. That last part marks what Scope excludes for now rather than on principle. Write _(none)_ rather than pasting a dated backlog. |
| 14 | Open Questions | Open facts that affect safe use or evaluation of the agent. Write _(none)_ when there are none. Remove items once answered. Missing application-change permissions are not an Ethos gap. |
The ethos.md records durable intent, not a running list of observed failures. Track known issues and recurring failure patterns where the team tracks bugs.
Pre-flight
Check whether an ethos.md already exists for this agent. Look for ethos.md,
including an ETHOS.md written by Eval Author 0.1.0, at the repository root and next to
the agent's package. If one is present, ask the user whether they want to edit
the existing ethos.md or start over. If they want to edit, route to ethos-write
directly.
find . -maxdepth 4 -iname ethos.md -not -path '*/.git/*' -not -path '*/node_modules/*' 2>/dev/null | grep . || echo "no ethos.md yet"If the repository has an earlier agent spec or design doc, read it as prior answers. Scan the codebase, then still run the intent interview for anything it never answered.
Step 1 — Explore the codebase
Time-box this to ~5 minutes of tool use. Read first, ask second. Greenfield projects will turn up nothing here, which is fine — move to the intent interview and ask for Role first.
Find agent definitions and entry points. Look for agent configs, workflow YAMLs, Python agent builders, system prompts, skills, and tool definitions:
find . -maxdepth 5 -type f \( -name "agent.yaml" -o -name "agent.yml" \) 2>/dev/null find . -maxdepth 4 -type f \( -name "*.workflow.yaml" -o -name "*.workflow.yml" \) 2>/dev/null find . -maxdepth 4 -type d -name "agents" 2>/dev/nullThen use
Glob/Grepto findlanggraph,StateGraph,create_react_agent,system_prompt, skills, MCP servers, and tool definitions. Treat any harness or framework name you find as a clue about how the agent runs, not as a value the ethos.md must pick.Find design context. Look for
README.md,AGENTS.md, product/design/planning docs, launch notes, and anything indocs/. Read docs that describe goals and user value before implementation details when they look agent-relevant.Map findings to schema fields. As you scan, hold a running mental table of what you can fill from the code/docs. Be honest about confidence: "inferred from system prompt" is different from "confirmed by the user."
Note the model only as a constraint. The ethos.md has no
Modelsection. The agent's config already carries the model in use, and it changes without touching the ethos.md. If the scan shows a provider allowlist or pinned model family, carry it intoConstraintsas a draft to confirm.Typical inferences per field:
name — directory name, workflow name, or top-level package name.
Role — first paragraph of README, system prompt preamble, or top-level docstring. Often partial; usually needs user confirmation.
Purpose & Outcomes — mission from product docs, README motivation, system prompt preamble, or workflow context. Treat that as a draft to confirm, never as a skip. The outcome (the business objective) is rarely in code; even when a README names a metric, ask the user to confirm it.
Scope — audience from docs or prompts; categories from enumerated capabilities or named tool clusters; in/out boundaries from prompt rules.
Tools — from
@tooldecorators, tool registries,create_react_agent(tools=[...]), retrieval/corpus config, or API clients. Group low-level helpers when they share credentials, side effects, freshness, and failure modes.Harness — infer from how the agent actually runs: adapter configuration, workflow YAML, service entrypoints, CLI commands, Dockerfiles, notebooks, or deployment configs. Capture behaviorally relevant capabilities, not a catalog name. If you cannot see how it runs, write
_(none)_.Behavior — system prompt rules ("never give medical advice"), refusal/escalation policy, tone, accepted limitations, and non-goals.
Success Criteria — desired production outcomes, product goals, quality standards, escalation quality, accuracy expectations, and examples of successful behavior.
Trade-offs — not in the code; ask in the intent interview.
Constraints — mostly not in the code, but scan for partial evidence worth confirming: a pinned gateway base URL or provider allowlist, region settings, redaction or PII middleware, timeout and token ceilings, and compliance notes in docs. Treat findings as a starting draft to confirm, never as the complete list.
Evaluation Setup — Makefile targets, scripts, CI config, eval YAMLs, metric definitions, thresholds, and coverage notes.
Metric Semantics — from scorer definitions, metric names in eval configs, and telemetry field names. Fill only the entries whose meaning is genuinely ambiguous from the name. Write
_(none)_when every name is obvious.Principles — not in the code; ask in the intent interview even if a prompt hints at one. A prompt is the implementation, not the intent behind it.
Vision — not in the code. Roadmap docs, design notes, or a README's future-work section are speculative until the user confirms them. Ask. Write
_(none)_rather than guessing.Open Questions — TODOs / FIXMEs in agent-adjacent code that affect safe use or evaluation.
Step 2 — Ask intent questions
The scan told you what the agent is. It cannot tell you what the developer wants. Run a real interview for that intent before you show a draft ethos.md.
This step is a hard gate. Do not present the full draft, and do not hand off
to ethos-write, until you have asked at least three questions and received a
reply to each. "The scan filled everything" and "asking feels unnecessary"
are not reasons to skip it.
What to ask
After the scan, split fields into two piles:
Inferred — implementation-shaped fields you can draft from source:
Tools,Harness,Evaluation Setup,Behaviorcopied from prompts,Metric Semanticsfrom scorer names.Intent — fields source cannot own:
Purpose & Outcomes,Principles, andVisionalways; thenConstraints,Trade-offs, and a rankedSuccess Criteriawhen the repo only has eval wiring.
Walk the intent pile. Skip a topic only when this conversation already
answered it. A README, prompt, or roadmap is not a substitute for a user
reply on the always-ask topics below. Keep every other unanswered intent
topic on the list. Greenfield work adds Role, Scope, and whether the
agent is prompt-only before that intent list.
Question count is at least three, then however many remaining intent topics still need a reply. Prefer fewer sharp questions over a long checklist, but never go below three.
Always ask these three
Code and docs can look like they already answered them. They did not, until the user says so. Ask even when you have a high-confidence draft. Confirming an inference counts; silently filling the section does not.
Purpose & Outcomes(business objective). Confirm the mission and the result the agent is accountable for. If you inferred a metric from a README, show it and ask whether that is the target.Principles. The judgment call whenBehaviorruns out. Reject generic virtues. Ask what this agent should do that a careless version of it would not.Vision. Where the agent is headed, or an explicit_(none)_. Do not copy a future-work section into Vision without asking. Speculative vision is the usual failure.
If Role is missing or vague, ask that first so the rest of the interview
is grounded. It does not replace one of the three always-ask topics.
Ask about remaining topics in this order, skipping any this conversation already answered:
Constraints— hard bounds on the agent's operation, including runtime action approvals where needed.Trade-offs— behavioral hard gates, then a ranking of desired outcomes.Ranked
Success Criteriawhen the repo only has eval wiring.
Do not ask which parts may be optimized or changed, including in a follow-up, checkpoint, or draft review. Keep runtime action safety requirements: for example, an agent may need approval before issuing a refund. That describes its intended behavior; it does not grant permission to change its code.
Do not collect run limits. A spend cap or experiment count for one evaluation run belongs to the tool that runs it. If the user volunteers one, keep the standing policy and drop the number.
How to ask
Follow this Q&A pattern:
One question per message. If a topic needs more depth, ask a follow-up in the next message. Do not batch four intent questions.
Prefer multiple choice. Ground the options in what you found. Always include a way to reject the list (
Something elseorI don't know). Open-ended is fine when a lettered list would fake certainty.Wait for the reply before the next question.
Accept "I don't know" and move on. Write
_(none)_and record the gap inOpen Questions. A fabricated constraint is worse than a missing one.Confirm inferred bounds. If the scan found a pinned gateway or redaction middleware, show it and ask whether it is a real boundary.
Confirm inferred intent. If the scan produced a plausible
Purpose & Outcomes,Principles, orVision, show the draft as an option. Do not treat that draft as the answer.
Example (one message, then stop):
The README says this agent exists to "cut ticket volume." Is that the business objective I should record in
Purpose & Outcomes?A. Yes — ticket volume is the outcome (tell me the target if you have one) B. Close, but the real objective is … (tell me) C. No business metric — internal tooling D. I don't know
A later Constraints example:
The scan shows a pinned model gateway and no cost ceiling in docs.
Which hard bounds should
Constraintsrecord?A. The agent must use that gateway; no other bounds B. That gateway is required, plus a production cost or latency ceiling (tell me the number) C. No hard bounds — write
_(none)_D. Something else
Reject generic virtues for Principles. "Helpful, harmless, and honest"
gives a downstream reader nothing. Ask for the judgment call: what does
this agent do that a careless version of it would not? If nothing comes
back, write _(none)_.
Push once on a non-answer for Trade-offs. "Balance quality and cost" is
not decidable. One concrete follow-up usually produces a ranking. If it
does not, record the ambiguity and move on.
If the user provides outside context, read it and update the inferred draft before the next question.
Red flags — stop and ask
These mean you skipped the interview:
You are about to paste the full ethos.md and have asked fewer than three questions
You filled
Purpose & Outcomes,Principles, orVisionfrom the scan without a user replySeveral intent questions in one message
Handing off to
ethos-writewith fewer than three Q&A replies in this conversation
| Excuse | Reality |
|---|---|
| The scan filled everything | Code never owns intent. Ask at least three questions. |
| I already know Purpose / Principles / Vision | Those answers belong to the user. Confirm the draft. |
| Asking feels unnecessary | Unnecessary-looking questions are the ones that catch speculative Vision. |
| Batching questions saves turns | One question gets a real answer. A dump gets shallow ones. |
| The draft review can collect intent | Review is for corrections. Ask intent first. |
| The user looks busy | One short multiple-choice question is enough to start. |
Step 3 — Present the draft ethos.md
After the interview, present the entire ethos.md at once — every field, with
inferred values shown inline and remaining gaps as _(none)_. Then ask
one question:
"Here's the full ethos.md I'd write. Tell me what to change, and I need a concrete Role before I can hand off to
ethos-write."
Show the rendered ethos.md inline in markdown (one ## section per field,
same shape as the on-disk file). For fields you defaulted, note the
default in parentheses so the user knows they can override:
Tools: Prompt-only.(default — say so if the agent needs tools)Purpose & Outcomes/Success Criteriainferred from implementation (say so if there is outside context to incorporate)
When the user could not answer a section, write _(none)_ and add the
gap to Open Questions. Say "Constraints: (none) — operational limits
remain unspecified" so the consequence is visible while it is still cheap to
fix. An unspecified limit grants no application-change permission.
Do not walk the schema field by field in this review. Do not restart the intent interview here unless the reply surfaces a contradiction.
Do not use public-facing shorthand like AUT or "agent under test" in the
rendered ethos.md. Use "this agent" for the agent being specified. Use
"target agent" only where the agent's purpose is explicitly to inspect or
modify another agent.
Allowed follow-ups after the draft:
The hard-required
Roleis missing or vague — ask for it before handoff.The user's reply surfaces a contradiction that needs one targeted clarification (for example they say "drop the search tool" but the codebase shows the agent depends on it).
Step 4 — Hand off
After the user's reply, apply the corrections and check the one hard precondition:
Role is a concrete one-sentence answer (not "help with stuff").
If it is still unresolved, ask for it in one final message and stop until the
user provides it. Do not hand off with Role blank — the artifact is useless
downstream even though the parser accepts it.
Every body section heading must be present before handoff. Write _(none)_
for honest gaps, and note them in Open Questions when they affect safe use
or evaluation. Do not drop a heading.
If the Role quality gate is satisfied, announce the handoff in one line
("Handing off to ethos-write to write ethos.md") and trigger it.
If the user pushes back
They want to change one or two fields. Apply the edits, re-show the changed sections only, ask "good now?", proceed.
They want to redo the whole thing. That usually means the codebase scan got something fundamentally wrong. Re-scan with their correction in mind, then re-present once.
They keep changing their mind on Role. Stop. Tell them the agent will not be useful until they can write one concrete sentence and offer to come back later. Do not loop on rewording.
They skip remaining intent questions. You already asked at least three, including
Purpose & Outcomes,Principles, andVision. Treat skipped topics asI don't know: write_(none)_, record them inOpen Questions, and say once what it costs. Then present the draft. Do not re-open the full interview.They say "just write it" before three questions. Ask the next always-ask question anyway. After they answer or decline each of the three, continue.
Gotchas
"You decide" means commit to the default and announce it. Example: "I'll record
Tools: Prompt-only.Tell me to change it if not." Never silently fill in.Tool over-spec is the most common error. Users ask for a search tool when prompt-only would work. Probe: "Do you have evidence the model alone fails on these?" If no, drop the tool.
Tool and harness inventory should be compressed. Do not create one row per helper method when several helpers share the same source, credential, side effect, freshness, and failure mode. Group them and call out only the differences an evaluator or reviewer needs to know.
Mission before mechanics. An ethos.md that only says how the current code is wired is not good enough. If goal context cannot be found in the codebase or docs, say the mission is inferred from implementation and still ask the user to confirm
Purpose & Outcomes. A guessed business objective is worse than_(none)_.Never infer a constraint you cannot verify. A guessed provider allowlist or cost ceiling misstates the agent's operating limits. Ask, or write
_(none)_and record the gap inOpen Questions.Trade-offs make competing outcomes decidable. A priority order tells the agent and its evaluators which outcome matters when quality, latency, cost, or reliability conflict. It grants no optimization permission.
"No behavior constraints" usually means "I haven't thought about it." Probe once: "Anything that should never appear — names, phone numbers, competitor mentions?" One probe, then move on.
Do not skip the codebase scan even when the user seems eager to answer questions. Spending the first five minutes reading makes the interview shorter and sharper. Asking something the codebase already answers loses trust immediately.
Do not skip the intent interview even when the scan looks complete. Ask at least three questions. Always ask
Purpose & Outcomes,Principles, andVision, even when you think you already know. One at a time. Multiple choice when you can.Do not invent Vision from a backlog. A future-work bullet is speculative until the user confirms it. Ask, or write
_(none)_.A framework import is not a harness. Describe how the agent runs. Do not map an import onto a harness name. Imports such as
langchain,langgraph,crewai,autogen, orpydantic_aisay nothing about that.Record intent, not runtime config. Describe the desired harness behavior and artifacts without asking the user to design a raw runtime config. Config files stay with the agent's implementation.
Do not invent Known Issues fields. Known issues and recurring failure patterns belong in the team's issue tracker, not in the ethos.md.
Files
- ATTRIBUTION.mdAdded by AutoGineer825 B
- BENCHMARK.md7.8 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md26.5 KiB
- evals/config.yml331 B
- evals/evals.json3.9 KiB
- evals/files/router-help/README.md963 B
- evals/files/router-help/agent.yaml789 B
- skill-card.md4.2 KiB
- skill.oms.sig5.2 KiB
LICENSE
Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Requirements and compatibility
Written for: Claude Code
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools, Claude Code frontmatter, Needs an MCP server
The author says: Dialogue-driven with read-only pre-flight (`ls`, `find`, `Read`); one intent question per message after the codebase scan; at least three questions covering Purpose & Outcomes, Principles, and Vision; safe under any sandbox; works offline; output is a structured conversation handed to ethos-write.
Security
What our scanner noticed· Medium risk
- Phrasing that asks for actions without confirmation
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- NVIDIA
- Publisher
- NVIDIA (Official)
- Source
- NVIDIA/skills · skills/ethos-explore · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by NVIDIA or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download ethos-explore.zip