-
Notifications
You must be signed in to change notification settings - Fork 15
docs: add consumer integration skill and organize skills into tiers #73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
rapids-bot
merged 14 commits into
NVIDIA:main
from
yczhang-nv:feat/nemo-fabric-integrate-skill
Jul 17, 2026
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
6d8a6d6
docs: track public AGENTS.md and add CLAUDE.md symlink
yczhang-nv f9f6fe1
docs: add nemo-fabric-integrate consumer skill
yczhang-nv 4b2699d
docs: address review feedback on nemo-fabric-integrate skill
yczhang-nv 54707da
docs: correct doctor, Harbor, and shutdown claims in the skill
yczhang-nv b1a3ffe
docs: organize skills into consumer and maintainer tiers
yczhang-nv 58c2f0d
docs: address review feedback on skill URLs, discovery, and scope
yczhang-nv 1e7d13e
docs: document Codex skill discovery and narrow the portability claim
yczhang-nv 2fb70d3
docs: correct doctor credential scope, metadata echo, and reference c…
yczhang-nv 68630d2
docs: address CodeRabbit review nitpicks
yczhang-nv f8a7403
docs: drop not-yet-ready adapter-skill references
yczhang-nv 3c32ec1
docs: address reviewer feedback on the consumer skill
yczhang-nv a2d3cfa
Merge remote-tracking branch 'upstream/main' into feat/nemo-fabric-in…
yczhang-nv 61dad73
docs: apply reviewer feedback on the consumer skill
yczhang-nv 7b063e4
docs: add a consumer-skill parity note for SDK/model/type changes
yczhang-nv File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| <!-- | ||
| SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| SPDX-License-Identifier: Apache-2.0 | ||
| --> | ||
|
|
||
| # NeMo Fabric Maintainer Skills | ||
|
|
||
| This directory is the maintainer skill set for developing NeMo Fabric itself. | ||
| Use these skills for repository work such as: | ||
|
|
||
| - Contributing or changing public API surfaces across Rust, CLI, Python, schema, | ||
| and adapters. | ||
| - Writing and validating Python tests and choosing the right validation matrix. | ||
| - Maintaining CI workflows, packaging, versions, and release surfaces. | ||
| - Reviewing documentation for NVIDIA style and preparing pull requests. | ||
|
|
||
| These skills may reference repository internals, build and test commands, and | ||
| contribution workflows. | ||
|
|
||
| Consumer-facing integration skills live in the top-level | ||
| [`skills/`](../../skills/README.md) directory so they can be exported separately | ||
| for application developers and integrators. Keep external usage guidance out of | ||
| this set. | ||
|
|
||
| ## Skills | ||
|
|
||
| This table lists the maintainer skills in this set and what each covers. | ||
|
|
||
| | Skill | Purpose | | ||
| |---|---| | ||
| | [`contribute-api`](contribute-api/SKILL.md) | Add a public API surface with Rust, CLI, Python, schema, adapter, and documentation parity. | | ||
| | [`small-fix`](small-fix/SKILL.md) | Make a small, reviewable bug fix without widening scope. | | ||
| | [`contribute-docs`](contribute-docs/SKILL.md) | Change documentation or examples in step with public behavior. | | ||
| | [`review-doc-style`](review-doc-style/SKILL.md) | Review documentation and public text for NVIDIA technical-writing style. | | ||
| | [`validate-change`](validate-change/SKILL.md) | Choose and run the right validation matrix for a change. | | ||
| | [`python-tests`](python-tests/SKILL.md) | Write Python tests for Fabric. | | ||
| | [`maintain-ci`](maintain-ci/SKILL.md) | Maintain GitHub Actions workflows with pinned actions and local validation. | | ||
| | [`maintain-packaging`](maintain-packaging/SKILL.md) | Maintain package metadata, native artifacts, lockfiles, and release surfaces. | | ||
| | [`update-project-version`](update-project-version/SKILL.md) | Bump and synchronize release versions across packaging. | | ||
| | [`prepare-pr`](prepare-pr/SKILL.md) | Prepare, open, or edit a pull request with the right scope and review handoff. | | ||
| | [`karpathy-guidelines`](karpathy-guidelines/SKILL.md) | Behavioral coding guidelines; use as a companion to the others. | | ||
|
|
||
| ## Discovery And Conventions | ||
|
|
||
| - Coding agents auto-discover this set from `.agents/skills/`. For Claude Code, | ||
| `.claude/skills` is a symlink to this directory, exposing the same maintainer | ||
| set without mixing in consumer skills. | ||
| - **Naming:** maintainer skills use descriptive, task-based names (for example | ||
| `contribute-api`, `validate-change`). | ||
| - **Frontmatter:** each `SKILL.md` begins with YAML frontmatter containing at | ||
| least `name` and `description`. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| ../.agents/skills |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| <!-- | ||
| SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| SPDX-License-Identifier: Apache-2.0 | ||
| --> | ||
|
|
||
| # AGENTS.md | ||
|
|
||
| ## Agent Skills | ||
|
|
||
| NeMo Fabric ships two tiers of agent skills. Use the tier that matches your task: | ||
|
|
||
| - **Consumer skills — `skills/`.** For integrating NeMo Fabric into an external | ||
| application, service, evaluation harness, or platform through the public Python | ||
| SDK. They are self-contained and exportable, depending only on supported public | ||
| SDK contracts and the published documentation, never on repository internals. | ||
| Start with [`skills/README.md`](skills/README.md). | ||
| - **Maintainer skills — `.agents/skills/`.** For contributing to NeMo Fabric | ||
| itself: API, documentation, testing, CI, packaging, release, and PR | ||
| preparation. They may reference repository internals and contribution | ||
| commands. Start with [`.agents/skills/README.md`](.agents/skills/README.md). | ||
|
|
||
| Keep the tiers separate: do not add consumer integration guidance to the | ||
| maintainer set, or repository-internal contribution steps to the consumer set. | ||
| Coding agents that auto-discover skills read the maintainer set from | ||
| `.agents/skills/` (also exposed at `.claude/skills` for Claude Code); the | ||
| consumer set under `skills/` is meant to be exported into a consumer's own | ||
| project. | ||
|
|
||
| Key conventions for the two tiers: | ||
|
|
||
| - **Discovery wiring:** `.claude/skills` symlinks to `.agents/skills/` (the | ||
| maintainer set) for Claude Code; consumer skills under `skills/` are copied | ||
| into a consumer's own project rather than auto-discovered from this repository | ||
| (see [`skills/README.md`](skills/README.md)). | ||
| - **Portability strategy:** consumer skills link to public GitHub documentation | ||
| and example URLs rather than a docs-site domain, so they keep working when | ||
| exported. | ||
| - **Supported consumer surface:** the consumer tier currently ships one skill, | ||
| `nemo-fabric-integrate`, for typed Python SDK integration. | ||
|
|
||
| ## Documentation And Contribution Workflow | ||
|
|
||
| These workflow notes keep public documentation, examples, and PR preparation aligned | ||
| with repository expectations. | ||
|
|
||
| - Update user-facing entry points when public behavior, the `nemo-fabric` package (imported as `nemo_fabric`), examples, or supported bindings change: `README.md`, the Fern docs under `docs/` (navigation in `docs/index.yml`, site config in `fern/docs.yml`), and the adapter/integration READMEs (`adapters/*/README.md`, `python/src/nemo_fabric/integrations/*/README.md`, `examples/README.md`). | ||
| - Keep the Python/Rust binding contract current when the public API changes: `docs/sdk/python.mdx`, the JSON Schema notes in `schemas/SCHEMA.md`, the generated references under `docs/reference/api/`, and the consumer skills under `skills/` (which restate SDK guide, model, and type details and must be kept in parity). Regenerate docs with `just docs` after changing the docs site. | ||
| - Keep release- and packaging-process details in maintainer surfaces (currently the `maintain-packaging` skill at `.agents/skills/maintain-packaging/SKILL.md`). Do not move release-history policy into user-facing docs. There is no `RELEASING.md` or `CHANGELOG.md` yet; add release-history policy there if those files are introduced rather than into user docs. | ||
| - Keep the stable public wrapper `scripts/generate_api_docs.sh` at the `scripts/` root in docs and examples. Reference namespaced helper paths under `scripts/docs/` only when documenting internal maintenance work. | ||
| - Use branch prefixes for your work: `feat/`, `fix/`, `docs/`, `test/`, or `refactor/`. | ||
| - Name branches after the work, never the Linear ticket. Do not embed ticket IDs or slugs in the branch name (e.g. use `feat/notebooks-onboarding`, not `feat/fabric-70-notebooks-onboarding`). This rule has historically been overlooked, so double-check the branch name before pushing or opening a PR. | ||
| - Use Conventional Commit PR titles (`<type>: <summary>`) as required by `.coderabbit.yaml` and the `prepare-pr` skill; reserve `fix` for actual product bugs, not CI, docs, or chores. | ||
| - Use signed-off commits for PR work: `git commit -s`. | ||
| - When creating a pull request from the current branch, target the upstream repository rather than a fork. | ||
| - Before creating, opening, publishing, or editing a pull request, read `.github/pull_request_template.md` and use it as the PR body skeleton (or `gh pr create --template .github/pull_request_template.md`). Preserve its visible headings (`Overview`, `Where should the reviewer start?`, `Related Issues`) and its contribution checkboxes; fill the sections instead of replacing them with a generic summary. | ||
| - If repo-local PR guidance such as the `prepare-pr` skill conflicts with generic GitHub connector or plugin guidance, follow the repo-local PR guidance for PR body format and review handoff details. | ||
| - PR descriptions should include what changed, why, how it was tested, and any breaking changes within the repository template format. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| AGENTS.md |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,63 @@ | ||
| <!-- | ||
| SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| SPDX-License-Identifier: Apache-2.0 | ||
| --> | ||
|
|
||
| # NeMo Fabric Consumer Skills | ||
|
|
||
| These are user-facing skills for integrating NeMo Fabric into your own | ||
|
yczhang-nv marked this conversation as resolved.
|
||
| application, service, evaluation harness, or platform through the public Python | ||
| SDK. They are intended for external application developers and integrators — not | ||
| for developing NeMo Fabric itself. | ||
|
|
||
| If you are contributing to NeMo Fabric — changing core, bindings, adapters, | ||
| documentation, CI, or packaging — use the | ||
| [maintainer skills](../.agents/skills/README.md) in `.agents/skills/` instead. | ||
|
|
||
| ## Portability | ||
|
|
||
| Consumer skills are self-contained and exportable. Each skill depends only on | ||
| supported public interfaces (the `nemo_fabric` Python package) and public | ||
| documentation URLs, never on repository-internal paths. | ||
|
|
||
| - Cross-links point to the published documentation and public example URLs on | ||
| GitHub, not to files inside this checkout. Skill-specific material is bundled | ||
| under each skill's own `references/`. | ||
| - Skills do not depend on repository internals — their links are absolute or | ||
| bundled, so they resolve when copied out. A skill may still mention Fabric | ||
| build commands (`just …`, needed while Fabric is unpublished) or the maintainer | ||
| tier as guidance for contributors. | ||
|
|
||
| ## Using A Consumer Skill In Your Project | ||
|
|
||
| Copy the skill directory — for example `nemo-fabric-integrate/`, including its | ||
| `references/` — into the place your coding agent discovers skills **in your own | ||
| project**. Do not rely on this repository's maintainer wiring (its `.claude/skills` | ||
| symlink or `.agents/skills/` set); those serve Fabric's own contributors. | ||
|
|
||
| - **Claude Code:** place it at `.claude/skills/nemo-fabric-integrate/` in your | ||
| project, or `~/.claude/skills/nemo-fabric-integrate/` to use it across | ||
| projects. Claude Code discovers `SKILL.md` files under those directories. | ||
| - **OpenAI Codex:** place it at | ||
| `<your-project>/.agents/skills/nemo-fabric-integrate/` in your project, or | ||
| `$CODEX_HOME/skills/nemo-fabric-integrate/` to use it across projects. | ||
| - **Other agents:** each skill is a portable `SKILL.md` bundle — put it wherever | ||
| your agent loads skills, or reference its `SKILL.md` directly from your agent | ||
| instructions. Confirm discovery with a prompt that should trigger the skill. | ||
|
|
||
| ## Start Here | ||
|
|
||
| | Skill | Use it when | | ||
| |---|---| | ||
| | [`nemo-fabric-integrate`](nemo-fabric-integrate/SKILL.md) | You are adding NeMo Fabric to a consumer application, service, evaluation harness, or platform through the typed Python SDK — building an in-memory `FabricConfig`, choosing one-shot versus stateful-runtime execution, validating with `plan`/`doctor`, and consuming normalized results. | | ||
|
|
||
| ## Conventions | ||
|
|
||
| - **Naming:** consumer skills are prefixed with the product name, | ||
| `nemo-fabric-<topic>`. | ||
| - **Frontmatter:** each `SKILL.md` begins with YAML frontmatter containing at | ||
| least `name` and `description`. `SKILL.md` files do not carry an SPDX header; | ||
| every other file, including this README and bundled `references/`, does. | ||
| - **Self-containment:** keep a skill usable outside this repository. Link to | ||
| public documentation and example URLs, and bundle any skill-specific reference | ||
| material under the skill's own `references/`. | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.