contribute-adapter
Skill73 starsChanged 59 days agoApache-2.0View on GitHub
Add or substantially change a first-party NVIDIA NeMo Fabric adapter, including repository packaging, discovery metadata, catalogs, CI wiring, and validation.
In this repository25 other files it gives its agents.
- AGENTS.mdAGENTS.md
- check-release-deploymentsSkill
- contribute-apiSkill
- contribute-docsSkill
- create-beta-tagSkill
- create-rc-tagSkill
- create-release-tagSkill
- draft-release-notesSkill
- karpathy-guidelinesSkill
- maintain-ciSkill
- maintain-packagingSkill
- prepare-code-freezeSkill
- prepare-prSkill
- python-testsSkill
- qualify-harborSkill
- review-doc-styleSkill
- small-fixSkill
- update-project-versionSkill
- validate-changeSkill
- code-reviewSkill
- swebench-debuggingSkill
- nemo-fabric-build-adapterSkill
- nemo-fabric-integrateSkill
- alternateSkill
- defaultSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 2 are distinctive, and 9 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
9
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Do not use this skill for a consumer that selects an existing adapter.
- Very specific: line 21
Use karpathy-guidelines to keep the change scoped, python-tests for test design, maintain-packaging for package or dependency changes, …
- Distinctive: line 28
Follow these repository-specific requirements after applying the public skill:
- Very specific: line 30
Place a Python adapter under adapters/python/<name>/ with LICENSE -> ../../../LICENSE, README.md, <name>.fabric-adapter.json, Python …
- Very specific: line 40
Add one canonical root extra that delegates to the matching leaf adapter and its harness extra.
- Very specific: line 44
Add the package to the root adapter-test dependency group, [tool.uv.sources], python_projects in justfile, applicable catalogs, and CI …
- Very specific: line 48
Update examples/code_review_agent/ and examples/harbor/calculator/ to support the new adapter.
- Very specific: line 50
If the new adapter provides a coding harness, update examples/harbor/swebench/ to support it.
- Distinctive: line 56
Keep descriptor claims, implementation, focused tests, public documentation, catalog entries, and packaged metadata synchronized.
- Very specific: line 87
Use validate-change to select the complete matrix.
- Very specific: line 113
Run python3 scripts/ci/check_npm_bootstrap.py when introducing a public npm package.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Contribute a First-Party NVIDIA NeMo Fabric Adapter
Use the public
nemo-fabric-build-adapter
skill for adapter-contract semantics, descriptor design, configuration mapping,
lifecycle behavior, and conformance evidence. This maintainer skill adds only
the repository integration required for adapters shipped by NVIDIA NeMo
Fabric.
Do not use this skill for a consumer that selects an existing adapter. Use the
consumer nemo-fabric-integrate skill instead.
Companion Guidance
Use karpathy-guidelines to keep the change scoped, python-tests for test
design, maintain-packaging for package or dependency changes,
contribute-docs and review-doc-style for public text, validate-change for
the validation matrix, and prepare-pr for review handoff.
Repository Integration
Follow these repository-specific requirements after applying the public skill:
- Place a Python adapter under
adapters/python/<name>/withLICENSE -> ../../../LICENSE,README.md,<name>.fabric-adapter.json, Python package and lock files, a source entry point, and focused tests. Place TypeScript packages underadapters/typescript/<name>/and wire them into that npm workspace. - Give each Python leaf adapter a small base installation, a
harnessextra for package-installable target packages, and afullextra for package-installable integrations. The Hermes adapter is the sole source-only exception and omitsharness. Add arelayextra only when the adapter imports NVIDIA NeMo Relay Python APIs. - Add one canonical root extra that delegates to the matching leaf adapter
and its
harnessextra. The Hermes root extra delegates to the bare adapter because users install Hermes Agent separately from source. Keepnemo-fabric-runtimean exact-version, unconditional root dependency. - Add the package to the root adapter-test dependency group,
[tool.uv.sources],python_projectsinjustfile, applicable catalogs, and CI enumerations. Ship its descriptor undershare/nemo-fabric/adapters/<name>. - Update
examples/code_review_agent/andexamples/harbor/calculator/to support the new adapter. - If the new adapter provides a coding harness, update
examples/harbor/swebench/to support it. Skip this step for adapters with non-coding harnesses. - Regenerate lockfiles and inspect the root and leaf wheel metadata. Verify root-to-leaf delegation and every published leaf extra.
Keep descriptor claims, implementation, focused tests, public documentation, catalog entries, and packaged metadata synchronized. Start with the narrowest truthful capability set.
For usage changes, verify invocation-local accounting through the adapter contract and consumer SDK, including warm-session deltas, unknown counters, cache semantics, and unsuccessful results. Keep generated schemas and language bindings in parity. Preserve the closed fabric.adapter/v1alpha2 AgentUsage shape; carry detailed cache-write, reasoning, peak request, and per-model data in the descriptor-declared usage.extensions["nemo_fabric.detailed_token_usage.v1"] object until a new adapter contract revision negotiates those fields. Consumers treat any detailed field for an input or output dimension as selecting the detailed counters for that dimension, so require complete, internally consistent counters instead of relying on the top-level view as a fallback.
For instructions.system, keep config.system_instruction_modes, planning
behavior, direct adapter validation, and target-native composition synchronized.
New descriptors must declare their exact replace and append support rather
than relying on the legacy omitted-value behavior.
For software evidence, declare selected Python packages in the adapter's
PROVENANCE_PACKAGES or configure the TypeScript lifecycle host's software
selection. Keep this list specific to the executing adapter, harness and
framework. Forward versions already observed at startup with the shared passive
capture helper. Do not add version probes or infer a remote service's packages
from its local client. Test disabled collection, original capture times and
missing metadata without changing the invocation outcome.
Repository Evidence
In addition to the evidence required by the public skill, include:
- A subprocess test of the packaged entry point.
- Exact descriptor assertions for every claimed capability.
- A credential-free fixture that exercises
plan,doctor, andrun. - Wheel inspection when package data, dependencies, or extras change.
- Deterministic CI coverage; keep credentialed live-target tests opt-in.
Validation
Use validate-change to select the complete matrix. The common adapter checks
are:
uv sync --group adapter-tests
uv run --no-sync pytest tests/adapters/test_<name>*.py
just test-python
just lock-python && just wheels
just schemas
cargo fmt --all -- --check && just test-rust
just docs
uv run pre-commit run --all-files --show-diff-on-failure
git diff --checkReferences
- Public contract:
docs/adapter-contract/andschemas/adapter-contract/. - Descriptor schema:
schemas/adapter-contract/adapter-descriptor.schema.json. - Repository packaging: root
pyproject.toml,justfile, adapter catalogs, and CI workflows. - Shared first-party Python host patterns:
adapters/python/common/and the closest adapter with the same target boundary.
New Public npm Packages
Run python3 scripts/ci/check_npm_bootstrap.py when introducing a public npm
package. The check discovers the contract and public adapter workspaces from
manifests; add the adapter to the npm workspace. Separately wire it into release
version stamping, build/test coverage, and the publication list before enabling
uploads. Discovery alone does not enable publication. Complete the
npm maintainer bootstrap and authenticated trusted-publisher readback in
RELEASING.md before
release. Public existence alone cannot verify trusted publishing. If the PR
check reports HTTP 404, ask an authorized npm maintainer to bootstrap the exact
manifest name, then rerun the check. Do not add CI write tokens or manually
publish supported versions.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

