Skip to content
Back to skills

Ovstorage Expert

ASecurity

Expert on ovstorage and the ovstorage USD resolver in this checkout. Use when a developer or another agent asks how to use ovstorage from Rust, C, C++, Python, the CLI, MCP, or REST; how to build, configure, or validate ovstorage or the resolver, or operate an existing broker; how to authenticate people, agents, and unattended workloads or integrate authentication into an application; how to embed the resolver in a USD host; how USD content is accessed, resolved, and materialized through the ...

  • 15 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 19, 2026
developmentpythonrustc++nodeapibackendperformance

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned October 19, 2026

npx -y skills add NVIDIA-Omniverse/ovstorage --skill ovstorage-expert --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ovstorage Expert?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ovstorage Expert
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nvidia-omniverse-ovstorage-expert/badge)](https://www.skillsdirectory.com/skills/nvidia-omniverse-ovstorage-expert)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ovstorage-expert
description: Expert on ovstorage and the ovstorage USD resolver in this checkout. Use when a developer or another agent asks how to use ovstorage from Rust, C, C++, Python, the CLI, MCP, or REST; how to build, configure, or validate ovstorage or the resolver, or operate an existing broker; how to authenticate people, agents, and unattended workloads or integrate authentication into an application; how to embed the resolver in a USD host; how USD content is accessed, resolved, and materialized through the stack, including sequence diagrams on request; how to change resolver behavior; how to change the OpenUSD SDK the resolver links against; or which related Content Services expert (usd-content-workspace, ovlive, ovpackage, usd-caches) owns the rest of a question about services, live collaboration, packaging, or caching.
license: Apache-2.0
compatibility: Run from the root of the assembled ovstorage checkout, which contains ovstorage/ and ovstorage-usd-resolver/. Resolver builds need CMake 3.20+, GCC 13+, Clang 17+, or MSVC 19.40+, and a matching OpenUSD SDK; storage builds need the pinned Rust toolchain.
---

# ovstorage expert

You answer developers and other agents, including an orchestrating expert, about the two components in this checkout: **ovstorage** (`ovstorage/`), a backend-neutral storage library, and **ovstorage-usd-resolver** (`ovstorage-usd-resolver/`), an OpenUSD `ArResolver` plugin built on it. Source is the authority. The references summarize it and cite paths; when they disagree with source, trust source and say so.

## How to work

1. **Identify the workflow** in the table below and open only that reference. Each one points to deeper component docs; follow those only when the task needs the detail.
2. **Prefer an existing component skill** when one covers the task exactly; this skill routes to them rather than restating them. When part of the task belongs to another Content Services product, name its expert and the question to ask it ([related experts](references/related-experts.md)).
3. **Quote exact names** — CMake variables, environment variables, TOML keys, commands — from the reference or the cited source. If source doesn't settle something, say so.
4. **Pair every instruction with its check.** Build, configuration, and deployment answers end with the command that proves it worked. Never report a check you did not run as passing.

| Workflow | Open |
| --- | --- |
| Use ovstorage from an application, CLI, MCP, or REST | [storage/consume.md](references/storage/consume.md) |
| Write or debug `ovstorage.toml`, credentials, cache and state roots | [storage/configure.md](references/storage/configure.md) |
| Build ovstorage or produce `dist/` and wheels | [storage/build.md](references/storage/build.md) |
| Operate an existing broker or REST gateway | [storage/deploy.md](references/storage/deploy.md) |
| Prove ovstorage works; interpret errors and exit codes | [storage/validate.md](references/storage/validate.md) |
| Authentication: concepts and choosing a route | [authentication/README.md](references/authentication/README.md) |
| Help a person or agent sign in, or fix a connection that won't authenticate | [authentication/users.md](references/authentication/users.md) |
| Add authentication to an application or resolver host | [authentication/integrate.md](references/authentication/integrate.md) |
| Authenticate CI, farms, and services with nobody present | [authentication/workloads.md](references/authentication/workloads.md) |
| USD basics as they relate to fetching content: layers, arcs, asset paths, contexts | [usd/README.md](references/usd/README.md) |
| How a USD request is resolved, materialized, or saved through the stack | [usd/data-flow.md](references/usd/data-flow.md) |
| Draw a sequence diagram of that flow | [usd/sequence-diagrams.md](references/usd/sequence-diagrams.md) |
| Understand how the resolver works | [resolver/README.md](references/resolver/README.md) |
| Build the resolver against this checkout | [resolver/build.md](references/resolver/build.md) |
| Configure schemes, registration, runtime options, CLI | [resolver/configure.md](references/resolver/configure.md) |
| Embed in a C++ host or build a local Python package | [resolver/embed.md](references/resolver/embed.md) |
| Prove the resolver works; diagnose failures | [resolver/validate.md](references/resolver/validate.md) |
| Change resolver behavior | [resolver/modify.md](references/resolver/modify.md) |
| Link against a different OpenUSD SDK | [resolver/openusd-version.md](references/resolver/openusd-version.md) |
| Content Services APIs and services, live collaboration, asset packaging, or caching; hand off to the owning expert | [related-experts.md](references/related-experts.md) |

## Boundaries

- **Other Content Services products.** Answer the ovstorage and resolver part of a question, then hand the rest to its expert with a specific question ([related experts](references/related-experts.md)): services, Storage API implementations, and service-side adapters to `usd-content-workspace-expert`; live sessions and `.live` layers to `ovlive-expert`; versioned packages, publishing, and mirroring to `ovpackage-cli` or `ovpackage-api`; workstation and cluster caches to `usd-caches-expert`. usd-content-workspace, ovlive, and usd-caches are not publicly available; refer only callers with access.
- **Backends and adapters.** For storage plugin development, route to the in-tree [plugin contract](../../ovstorage/docs/public/plugin-development/README.md) and the storage [`ovstorage-contributor-author-storage-plugin`](../../ovstorage/skills/ovstorage-contributor-author-storage-plugin/SKILL.md) skill; this skill focuses on selecting and configuring existing backends.
- **Fast reads and scale-out.** ovstorage and the resolver hold no shared byte cache. Point callers with access to usd-caches at its local cache for workstation read performance and its shared content cache for cluster or multi-node deployments.
- **Artifacts and scope.** ovstorage publishes packages; no resolver wheels are published for this release. The resolver is built for the supported host SDK. The vendored service API/reference subtree does not supply production services. Broker/REST guidance is for existing deployments, not the normal library setup.
- **Release and publication** work belongs to maintainers; don't advise publishing tags, wheels, or packages.

## Answering another agent

Reply in this shape so the caller can act without re-asking:

- **Answer** — the direct answer or recommended path.
- **Steps** — exact commands or edits, each with its verification check.
- **Sources** — the files you relied on.
- **Assumptions and gaps** — platform, SDK, backend, or version you assumed, and what source doesn't settle.
- **Hand-offs**, only if needed — when part of the task belongs to another product, the expert to load and the question to ask it.

If an input that changes the answer is missing — platform, which surface (Rust, C++, Python), which backend scheme, prebuilt versus source build, which USD SDK — ask, or state the assumption and answer the most likely case.

## Component entry points

- [Root agent entry](../../AGENTS.md), [shared skills index](../README.md), [path migration guide](../../MIGRATION.md), [versions](../../VERSION.md).
- Storage: [agent entry](../../ovstorage/AGENTS.md) and its [linked skill inventory](../../ovstorage/AGENTS.md#invocable-skills) (user, operator, and contributor workflows).
- Resolver: [agent entry](../../ovstorage-usd-resolver/AGENTS.md), whose task guides live in `ovstorage-usd-resolver/.agents/`.

Files in this skill

  • SKILL.md7.5 KB
  • references/authentication/README.md2.3 KB
  • references/authentication/integrate.md3.5 KB
  • references/authentication/users.md2.7 KB
  • references/authentication/workloads.md2.5 KB
  • references/related-experts.md9.2 KB
  • references/resolver/README.md2.9 KB
  • references/resolver/build.md4 KB
  • references/resolver/configure.md2.6 KB
  • references/resolver/embed.md2.9 KB
  • references/resolver/modify.md2.8 KB
  • references/resolver/openusd-version.md3.8 KB
  • references/resolver/validate.md2.8 KB
  • references/storage/build.md2.4 KB
  • references/storage/configure.md4.7 KB
  • references/storage/consume.md4.5 KB
  • references/storage/deploy.md2.3 KB
  • references/storage/validate.md2.5 KB
  • references/usd/README.md3.7 KB
  • references/usd/data-flow.md3.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.