[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DEP0Z87DG6HJWAMBY5BN39":3,"skill-same:01M6DEP0Z87DG6HJWAMBY5BN39":186},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":26,"commitSha":81,"skillDirectory":82,"forksCount":83,"repositoryHtmlUrl":84,"repositoryHomepageUrl":6,"ownerHtmlUrl":85,"ownerBlogUrl":6,"ownerDescription":86,"updatedAt":87,"install":88,"resources":101},"01M6DEP0Z87DG6HJWAMBY5BN39","physical-ai-neural-reconstruction",null,"Router for NVIDIA NuRec\u002FNRE: USDZ rendering, NCore conversion, 3DGS, gRPC sensor sim, PhysicalAI HF datasets. Do NOT use for SimReady or infra setup.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F3f\u002F3f1a96b4d7753b2dbd1f6bb068be8901d14c05940e200fa2e10ce7dd9d1c0051\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"physical","physical ai neural reconstruction","Neural","router","io","upstream","infra","main","do","conversion","container","python","use","api","HuggingFace","NVIDIA","grpc","gpu","toolkit","docker","2026-11-10 10:12:30",false,"---\nname: physical-ai-neural-reconstruction\ndescription: \"Router for NVIDIA NuRec\u002FNRE: USDZ rendering, NCore conversion, 3DGS, gRPC sensor sim, PhysicalAI HF datasets. Do NOT use for SimReady or infra setup.\"\nlicense: Apache-2.0\nversion: \"0.3.0\"\ntools:\n  - Read\n  - Shell\ncompatibility: >-\n  Router skill; downstream sibling skills require Docker, NVIDIA Container\n  Toolkit, GPU, NGC API key, Hugging Face token with PhysicalAI gated\n  licenses accepted, Python 3.10+, and `huggingface_hub`. Optional:\n  CARLA \u002F Isaac Sim 5.1 \u002F AlpaSim for simulator integration over\n  `serve-grpc`.\nmetadata:\n  author: NVIDIA Physical AI\n  tags:\n    - physical-ai\n    - nurec\n    - neural-reconstruction\n    - router\n    - sensor-sim\n  upstream:\n    repo: https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills\n    branch: main\n    skills_dir: .agents\u002Fskills\u002F\n    skills_dir_alias: skills\u002F\n    index_skill: .agents\u002Fskills\u002FSKILL.md\n    index_skill_name: nurec-index\n    sibling_skills:\n      physical-ai-datasets:\n        folder: physical-ai-datasets\u002F\n        upstream: https:\u002F\u002Fhuggingface.co\u002Fnvidia\n      ncore:\n        folder: ncore\u002F\n        upstream: https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fncore\n      nre:\n        folder: nre\u002F\n        upstream: nvcr.io\u002Fnvidia\u002Fnre\u002Fnre\n      asset-harvester:\n        folder: asset-harvester\u002F\n        upstream: https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fasset-harvester\n      nurec-fixer:\n        folder: nurec-fixer\u002F\n        upstream: https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fharmonizer\n        hf_model: https:\u002F\u002Fhuggingface.co\u002Fnvidia\u002FDiffusionHarmonizer\n  upstream_clone_path: \"${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME\u002F.physical-ai-skill-hub\u002Fupstreams}\u002Fnurec-skills\"\n  upstream_override_env: NUREC_SKILLS_UPSTREAM_ROOT\n---\n\n# Physical AI Neural Reconstruction (NuRec) Router\n\n## Purpose\n\nThis is a **thin router** for NVIDIA Neural Reconstruction (NuRec)\nrequests. It points at the upstream `nurec-index` skill at\n`https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills` and its five sibling skills\n(`physical-ai-datasets`, `ncore`, `nre`, `asset-harvester`,\n`nurec-fixer`). Use this skill to:\n\n- Identify which upstream sibling skill answers a NuRec question.\n- Locate, clone, or refresh the canonical `nurec-skills` checkout.\n- Order multi-step NuRec workflows (data → conversion → train →\n  render → cleanup) before opening the upstream recipe.\n\nThe canonical recipes (training, rendering, data conversion, dataset\ndownloads, object harvesting, frame cleanup) live in the upstream\nsibling skills. **Never copy or reconstruct their commands here.**\n\n**Do NOT use this skill for:**\n\n- SimReady packaging of CAD or source meshes → use\n  `omniverse-cad-to-simready`.\n- Generic USD performance tuning unrelated to NuRec → use\n  `omniverse-usd-performance-tuning`.\n- AKS \u002F OSMO \u002F NIM Operator infrastructure setup → use\n  `physical-ai-infrastructure-setup-and-resilient-scaling`.\n\n## When to Use\n\nRead this skill **first** whenever a user mentions any of:\n\n`nurec`, `nurec router`, `nurec index`, `neural reconstruction`,\n`neural reconstruction engine`, `NRE`, `3DGUT`, `3DGRT`, `USDZ`,\n`NCore V4`, `sensor sim`, `novel view synthesis`,\n`PhysicalAI-Autonomous-Vehicles-NuRec`, `PhysicalAI-NuRec-PPISP`,\n`Cosmos-Drive-Dreams`, `asset harvester`, `nurec fixer`,\n`DiffusionHarmonizer`, `harmonizer`, `difix`, `difix3d`, `serve-grpc`,\n`render-grpc`, `warm serve-grpc`, `nre thin client`, `batch_render_rgb`,\n`nurec teardown`, \"where do I start with NuRec\", \"which NuRec skill\nshould I use for X?\".\n\nDecide which upstream sibling skill answers the question, fetch it\n(see [Locate and fetch the upstream skills](#locate-and-fetch-the-upstream-skills)),\nthen follow that skill's body.\n\n## Prerequisites\n\nRouter skill itself has no runtime prerequisites beyond `git` for\nfetching the upstream. Downstream sibling skills require:\n\n- **Docker + NVIDIA Container Toolkit + GPU** — for `nre`, `nre-tools`,\n  and `nurec-fixer` containers\n  (`nvcr.io\u002Fnvidia\u002Fnre\u002Fnre`, `nvcr.io\u002Fnvidia\u002Fnre\u002Fnre-tools`,\n  `nvcr.io\u002Fnvidia\u002Fcosmos\u002Fcosmos-predict2-container:1.2`).\n- **NGC API key** (`NGC_API_KEY`) — for pulling NGC containers.\n- **Hugging Face token** (`HF_TOKEN`) with the\n  `nvidia\u002FPhysicalAI-*`, `nvidia\u002FDiffusionHarmonizer`, and\n  `nvidia\u002Fasset-harvester` gated licenses **accepted in advance** on\n  Hugging Face.\n- **Python 3.10+** with `huggingface_hub` installed.\n- **(Optional)** CARLA, Isaac Sim 5.1, or AlpaSim for simulator\n  integration over `serve-grpc`.\n\nVerify secrets safely (do not echo values):\n\n```bash\nhf auth whoami\n[ -n \"${HF_TOKEN:-}\" ]      && echo \"HF_TOKEN length=${#HF_TOKEN}\"      || echo \"HF_TOKEN unset\"\n[ -n \"${NGC_API_KEY:-}\" ]   && echo \"NGC_API_KEY length=${#NGC_API_KEY}\" || echo \"NGC_API_KEY unset\"\n```\n\nSee [`references\u002Fsecrets-handling.md`](references\u002Fsecrets-handling.md)\nfor the bash anti-patterns to avoid.\n\n## What is NuRec?\n\n**NuRec** (NVIDIA Omniverse Neural Reconstruction) takes camera, LiDAR,\nradar, or stereo recordings — typically from a self-driving car or a\nrobot — and turns them into a 3D scene you can re-render from any\nviewpoint. Names that come up a lot:\n\n- **NRE** — \"Neural Reconstruction Engine\". NuRec is the product; NRE\n  is the engine that trains and renders. Both route to the upstream\n  `nre` skill.\n- **USDZ** — the file format of a trained scene. A zip archive that\n  Omniverse, Isaac Sim, and CARLA can open.\n- **NCore V4** — the input format NRE consumes. Raw recordings must be\n  converted to NCore V4 before training.\n- **3DGUT \u002F 3DGRT** — the two 3D Gaussian Splatting flavours used\n  internally by NRE. The default Hydra recipe picks one; most users\n  never set it manually.\n\nA typical NuRec project has three stages:\n\n1. **Get the input** — convert your own recording to NCore V4\n   (`ncore`), or download a pre-converted dataset\n   (`physical-ai-datasets`).\n2. **Train the reconstruction** — feed NCore V4 to NRE; out comes a\n   USDZ (`nre`).\n3. **Render new views** — render images, videos, or LiDAR sweeps from\n   the USDZ (`nre`).\n\nProjects that just want to *use* an existing NVIDIA-published scene\nskip step 2.\n\n## Pick a skill\n\nMatch the user's goal in the left column and open the named upstream\nskill on the right. Arrows mean \"do these in order\".\n\n| I want to… | Upstream skill |\n|------------|----------------|\n| Find or download a NuRec dataset NVIDIA has published | `physical-ai-datasets` |\n| Convert my own camera \u002F LiDAR \u002F radar \u002F depth \u002F stereo recording into NCore V4 | `ncore` |\n| Write a new converter for an unsupported sensor setup (drone, RGB-D, ROS 2 bag, COLMAP, ScanNet++) | `ncore` |\n| Train a 3D reconstruction from an NCore clip | `ncore` → `nre` |\n| Generate the extra inputs NRE needs (segmentation masks, depth, ego mask) | `nre` (uses the `nre-tools` container) |\n| Render a USDZ along the original camera positions | `nre` |\n| Render at full resolution \u002F highest quality | `nre` (see \"Quality presets\") |\n| Render along a shifted trajectory (e.g. car moved 3 m left) | `nre` |\n| Render through a server so CARLA \u002F Isaac Sim \u002F AlpaSim \u002F a custom simulator can ask for frames | `nre` (`serve-grpc`) |\n| Render the same USDZ many times back-to-back from Python with minimal per-call latency | `nre` (warm `serve-grpc` + thin Python client \u002F `batch_render_rgb`) |\n| Render LiDAR sweeps (point clouds) from a USDZ | `nre` (`render-grpc --lidar`) |\n| Skip training and just render a NuRec scene NVIDIA already built | `physical-ai-datasets` → `nre` |\n| Extract individual 3D objects (cars, pedestrians) from a driving clip | `asset-harvester` |\n| Add, remove, or replace cars \u002F pedestrians in a NuRec scene | `asset-harvester` → `nre` |\n| Clean up or harmonize rendered frames (ghosting, floaters, flicker, lighting\u002Fshadows) | `nurec-fixer`, **or** `--enable-difix` inside `nre` for inline rendering |\n| Export the scene as a PLY, mesh, depth maps, ego mask, etc. | `nre` |\n| Upgrade an old USDZ so newer NRE versions load it faster | `nre` (`upgrade-artifact`) |\n| Open a USDZ or PLY in a browser viewer | `nre` (`viewer` \u002F `ply_viewer`) |\n| Measure rendering quality (PSNR, SSIM, LPIPS) against ground truth | `nre` (`eval-rendering-metrics`) |\n| Benchmark different reconstruction methods on the same scenes | `physical-ai-datasets` (`PhysicalAI-NuRec-PPISP`) → `nre` |\n| Train on multiple GPUs or on SLURM | `nre` (Workflow D) |\n\n## Common workflows\n\nSix end-to-end workflows are documented in\n[`references\u002Fworkflows.md`](references\u002Fworkflows.md):\n\n- **A.** Make a NuRec scene from your own recording.\n- **B.** Use a NuRec scene NVIDIA has already trained.\n- **C.** Add, remove, or replace 3D objects in a scene.\n- **D.** Clean up rendered frames.\n- **E.** Benchmark reconstruction quality.\n- **F.** Connect NuRec to a simulator.\n\nOpen that file when the user's task spans more than one sibling skill.\n\n## Sibling skills (upstream)\n\n| Name | Upstream folder | What it does |\n|------|-----------------|--------------|\n| `physical-ai-datasets` | `.agents\u002Fskills\u002Fphysical-ai-datasets\u002F` | Catalog and download recipes for every NVIDIA Physical AI dataset on Hugging Face (driving, robotics, manipulation, NuRec scenes, benchmarks). |\n| `ncore` | `.agents\u002Fskills\u002Fncore\u002F` | Converts any sensor recording to NCore V4 (the format NRE needs). Also covers writing a new converter. |\n| `nre` | `.agents\u002Fskills\u002Fnre\u002F` | The Neural Reconstruction Engine itself. Trains, renders (locally, via warm `serve-grpc` + thin Python client \u002F `batch_render_rgb`, or to an external simulator), exports meshes \u002F point clouds \u002F depth, edits actors, evaluates quality. |\n| `asset-harvester` | `.agents\u002Fskills\u002Fasset-harvester\u002F` | Open-source Apache-2.0 pipeline that extracts individual 3D objects from sparse views in a driving clip and saves them as `.ply` Gaussian splats with metadata. |\n| `nurec-fixer` | `.agents\u002Fskills\u002Fnurec-fixer\u002F` | Standalone NVIDIA **DiffusionHarmonizer** workflow — public successor to the older Fixer \u002F Difix3D+ recipes — that cleans rendered frames, harmonizes inserted actors, evaluates PSNR\u002FLPIPS, and optionally fine-tunes the model. |\n\nFor naming overlaps (NRE vs Fixer, ncore vs nre, AV-NuRec vs\nCosmos-Drive-Dreams, NuRec vs SimReady) see\n[`references\u002Fmix-ups.md`](references\u002Fmix-ups.md).\n\n## Locate and fetch the upstream skills\n\nQuick recipe (full version in\n[`references\u002Fupstream-fetch.md`](references\u002Fupstream-fetch.md)):\n\n```bash\nUPSTREAM_ROOT=\"${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME\u002F.physical-ai-skill-hub\u002Fupstreams}}\"\nmkdir -p \"$UPSTREAM_ROOT\"\nif [ -d \"$UPSTREAM_ROOT\u002Fnurec-skills\u002F.git\" ]; then\n  git -C \"$UPSTREAM_ROOT\u002Fnurec-skills\" fetch --tags\n  git -C \"$UPSTREAM_ROOT\u002Fnurec-skills\" checkout main\n  git -C \"$UPSTREAM_ROOT\u002Fnurec-skills\" pull --ff-only\nelse\n  git clone --depth 1 https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills.git \\\n    \"$UPSTREAM_ROOT\u002Fnurec-skills\"\nfi\ntest -f \"$UPSTREAM_ROOT\u002Fnurec-skills\u002F.agents\u002Fskills\u002FSKILL.md\"\n```\n\nThen read the upstream skill before running any mutating command:\n\n```bash\ncat \"$UPSTREAM_ROOT\u002Fnurec-skills\u002F.agents\u002Fskills\u002FSKILL.md\"          # router\ncat \"$UPSTREAM_ROOT\u002Fnurec-skills\u002F.agents\u002Fskills\u002F\u003Cfolder>\u002FSKILL.md\" # sibling\n```\n\nLocal lookup order (try in order before the upstream clone):\n\n1. `.agents\u002Fskills\u002F\u003Cname>\u002FSKILL.md` (Cursor, Codex, NemoClaw)\n2. `.claude\u002Fskills\u002F\u003Cname>\u002FSKILL.md` (Claude Code)\n3. `.cursor\u002Fskills\u002F\u003Cname>\u002FSKILL.md` (project-scoped)\n4. `~\u002F.cursor\u002Fskills\u002F\u003Cname>\u002FSKILL.md` (personal skills)\n\n## Hard Rules\n\n- Router only — do not duplicate upstream NuRec recipes here. Read\n  the upstream sibling skill body before running any mutating command.\n- Refer to sibling skills by their `name:` (e.g. `nre`), not by repo\n  path. Folder layouts can change; the name is portable.\n- Clone or refresh `https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills` under the\n  shared upstream root\n  (`${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME\u002F.physical-ai-skill-hub\u002Fupstreams}}\u002Fnurec-skills`).\n  Do not scan broad developer workspaces such as `~\u002FCodes` or reuse\n  unrelated old clones.\n- `physical-ai-datasets` covers gated Hugging Face datasets. Do not\n  bypass dataset license terms; the user must accept the\n  `PhysicalAI-*` gated licenses on Hugging Face and provide a token\n  before downloading.\n- Asset Harvester runs **before** packaging into a USDZ. Do not call\n  `nre`'s `export-external-assets` on hand-rolled `.ply` files unless\n  the user explicitly asks to skip Asset Harvester.\n- For artifact cleanup, prefer the built-in `--enable-difix` path in\n  `nre`. Route to the standalone `nurec-fixer` only when the user\n  needs the public code\u002Fmodel card, paired evaluation, fine-tuning,\n  or fixes on previously rendered frames.\n- Do not invent NRE \u002F NCore \u002F DiffusionHarmonizer commands from\n  memory. Re-read the upstream sibling skill — versions move fast\n  (NRE `release_26.04` is the current pinned tag).\n- This router does not deploy infrastructure. Route AKS \u002F OSMO \u002F\n  NIM Operator setup to\n  `physical-ai-infrastructure-setup-and-resilient-scaling`.\n\n## Limitations\n\n- **Router only.** This skill never executes mutating NuRec commands.\n  All training, rendering, conversion, and harmonization happens in\n  upstream sibling skills.\n- **Upstream-pinned.** Recipes live in\n  `https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills`, which evolves outside\n  this repo. Stale clones can drift; always `git pull` the upstream\n  before relying on a sibling skill.\n- **Gated content.** `nvidia\u002FPhysicalAI-*`, `nvidia\u002FDiffusionHarmonizer`,\n  and `nvidia\u002Fasset-harvester` require the user to accept license\n  terms on Hugging Face first. The router cannot bypass this.\n- **Heavy footprint.** A complete NuRec workflow can leave 150 GB+\n  on disk. See [`references\u002Fteardown.md`](references\u002Fteardown.md).\n- **NVIDIA-only stack.** Requires an NVIDIA GPU plus the NVIDIA\n  Container Toolkit. AMD \u002F Intel \u002F Apple Silicon are not supported.\n- **Not a SimReady pipeline.** NuRec produces a renderable USDZ from\n  a recording; SimReady packaging of CAD or source meshes is a\n  different pipeline (see `omniverse-cad-to-simready`).\n\n## Troubleshooting\n\n| Error \u002F symptom | Likely cause | Solution |\n|-----------------|--------------|----------|\n| `nurec-skills` clone missing or empty | Upstream not fetched yet | Run the clone block in [Locate and fetch the upstream skills](#locate-and-fetch-the-upstream-skills) |\n| `403`\u002F`401` pulling `nvidia\u002FPhysicalAI-*` from HF | Gated license not accepted, or `HF_TOKEN` unset \u002F wrong scope | Accept the gated license on Hugging Face, then `hf auth login` with a token that has `read` access |\n| `denied: requested access to the resource is denied` from `nvcr.io\u002Fnvidia\u002Fnre\u002F*` | Missing or expired `NGC_API_KEY` | `docker login nvcr.io` with `$oauthtoken` \u002F `NGC_API_KEY`; rotate the key at `org.ngc.nvidia.com\u002Fsetup\u002Fapi-key` if needed |\n| NRE refuses to load a clip (\"not valid NCore V4\") | Recording was not converted | Run the `ncore` skill before invoking `nre` |\n| `serve-grpc` cold-start latency dominates a Python loop | One-shot Docker invocation per render | Use the `nre` warm `serve-grpc` + thin Python client (`batch_render_rgb`) recipe |\n| Output files are owned by `root` after a `docker run` | `-u $(id -u):$(id -g)` was missing | `sudo chown -R \"$(id -u):$(id -g)\" \u003Coutput_dir>`; add the `-u` flag next time |\n| Frames have ghosting \u002F floaters \u002F flicker after rendering | Inline cleanup not enabled | Re-render with `nre --enable-difix`, or post-process with `nurec-fixer` (DiffusionHarmonizer) |\n| Stale skill names (`ncore-data-conversion`, old `nvidia\u002FFixer`) in agent output | Out-of-date cached skill | Update references to `ncore` and `nurec-fixer` (DiffusionHarmonizer); see [`references\u002Fmaintenance.md`](references\u002Fmaintenance.md) |\n| Bash anti-pattern `${HF_TOKEN:+yes}${HF_TOKEN:-no}` echoed token value | Misuse of bash parameter expansion | Rotate the token; use `hf auth whoami` or length-only checks (see [`references\u002Fsecrets-handling.md`](references\u002Fsecrets-handling.md)) |\n\n## Cross-skill teardown\n\nA complete NuRec workflow can leave **150 GB+** on disk between\ncontainer images, model weights, code clones, conda envs, and output\ndirectories. Each sibling skill has its own dedicated `Teardown`\nsection — read them in the order documented in\n[`references\u002Fteardown.md`](references\u002Fteardown.md) when the user no\nlonger needs the workflow.\n\n## Keeping this router up to date\n\nProcedure for adding new sibling skills, renames, or upstream URL\nchanges lives in [`references\u002Fmaintenance.md`](references\u002Fmaintenance.md).\nTreat the upstream `nurec-index` at\n\u003Chttps:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002FSKILL.md>\nas authoritative; this skill mirrors only the picker tables, the\nworkflow ordering, and the upstream fetch recipe.\n","# Physical AI Neural Reconstruction (NuRec) Router\n\n## Purpose\n\nThis is a **thin router** for NVIDIA Neural Reconstruction (NuRec)\nrequests. It points at the upstream `nurec-index` skill at\n`https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills` and its five sibling skills\n(`physical-ai-datasets`, `ncore`, `nre`, `asset-harvester`,\n`nurec-fixer`). Use this skill to:\n\n- Identify which upstream sibling skill answers a NuRec question.\n- Locate, clone, or refresh the canonical `nurec-skills` checkout.\n- Order multi-step NuRec workflows (data → conversion → train →\n  render → cleanup) before opening the upstream recipe.\n\nThe canonical recipes (training, rendering, data conversion, dataset\ndownloads, object harvesting, frame cleanup) live in the upstream\nsibling skills. **Never copy or reconstruct their commands here.**\n\n**Do NOT use this skill for:**\n\n- SimReady packaging of CAD or source meshes → use\n  `omniverse-cad-to-simready`.\n- Generic USD performance tuning unrelated to NuRec → use\n  `omniverse-usd-performance-tuning`.\n- AKS \u002F OSMO \u002F NIM Operator infrastructure setup → use\n  `physical-ai-infrastructure-setup-and-resilient-scaling`.\n\n## When to Use\n\nRead this skill **first** whenever a user mentions any of:\n\n`nurec`, `nurec router`, `nurec index`, `neural reconstruction`,\n`neural reconstruction engine`, `NRE`, `3DGUT`, `3DGRT`, `USDZ`,\n`NCore V4`, `sensor sim`, `novel view synthesis`,\n`PhysicalAI-Autonomous-Vehicles-NuRec`, `PhysicalAI-NuRec-PPISP`,\n`Cosmos-Drive-Dreams`, `asset harvester`, `nurec fixer`,\n`DiffusionHarmonizer`, `harmonizer`, `difix`, `difix3d`, `serve-grpc`,\n`render-grpc`, `warm serve-grpc`, `nre thin client`, `batch_render_rgb`,\n`nurec teardown`, \"where do I start with NuRec\", \"which NuRec skill\nshould I use for X?\".\n\nDecide which upstream sibling skill answers the question, fetch it\n(see [Locate and fetch the upstream skills](#locate-and-fetch-the-upstream-skills)),\nthen follow that skill's body.\n\n## Prerequisites\n\nRouter skill itself has no runtime prerequisites beyond `git` for\nfetching the upstream. Downstream sibling skills require:\n\n- **Docker + NVIDIA Container Toolkit + GPU** — for `nre`, `nre-tools`,\n  and `nurec-fixer` containers\n  (`nvcr.io\u002Fnvidia\u002Fnre\u002Fnre`, `nvcr.io\u002Fnvidia\u002Fnre\u002Fnre-tools`,\n  `nvcr.io\u002Fnvidia\u002Fcosmos\u002Fcosmos-predict2-container:1.2`).\n- **NGC API key** (`NGC_API_KEY`) — for pulling NGC containers.\n- **Hugging Face token** (`HF_TOKEN`) with the\n  `nvidia\u002FPhysicalAI-*`, `nvidia\u002FDiffusionHarmonizer`, and\n  `nvidia\u002Fasset-harvester` gated licenses **accepted in advance** on\n  Hugging Face.\n- **Python 3.10+** with `huggingface_hub` installed.\n- **(Optional)** CARLA, Isaac Sim 5.1, or AlpaSim for simulator\n  integration over `serve-grpc`.\n\nVerify secrets safely (do not echo values):\n\n```bash\nhf auth whoami\n[ -n \"${HF_TOKEN:-}\" ]      && echo \"HF_TOKEN length=${#HF_TOKEN}\"      || echo \"HF_TOKEN unset\"\n[ -n \"${NGC_API_KEY:-}\" ]   && echo \"NGC_API_KEY length=${#NGC_API_KEY}\" || echo \"NGC_API_KEY unset\"\n```\n\nSee [`references\u002Fsecrets-handling.md`](references\u002Fsecrets-handling.md)\nfor the bash anti-patterns to avoid.\n\n## What is NuRec?\n\n**NuRec** (NVIDIA Omniverse Neural Reconstruction) takes camera, LiDAR,\nradar, or stereo recordings — typically from a self-driving car or a\nrobot — and turns them into a 3D scene you can re-render from any\nviewpoint. Names that come up a lot:\n\n- **NRE** — \"Neural Reconstruction Engine\". NuRec is the product; NRE\n  is the engine that trains and renders. Both route to the upstream\n  `nre` skill.\n- **USDZ** — the file format of a trained scene. A zip archive that\n  Omniverse, Isaac Sim, and CARLA can open.\n- **NCore V4** — the input format NRE consumes. Raw recordings must be\n  converted to NCore V4 before training.\n- **3DGUT \u002F 3DGRT** — the two 3D Gaussian Splatting flavours used\n  internally by NRE. The default Hydra recipe picks one; most users\n  never set it manually.\n\nA typical NuRec project has three stages:\n\n1. **Get the input** — convert your own recording to NCore V4\n   (`ncore`), or download a pre-converted dataset\n   (`physical-ai-datasets`).\n2. **Train the reconstruction** — feed NCore V4 to NRE; out comes a\n   USDZ (`nre`).\n3. **Render new views** — render images, videos, or LiDAR sweeps from\n   the USDZ (`nre`).\n\nProjects that just want to *use* an existing NVIDIA-published scene\nskip step 2.\n\n## Pick a skill\n\nMatch the user's goal in the left column and open the named upstream\nskill on the right. Arrows mean \"do these in order\".\n\n| I want to… | Upstream skill |\n|------------|----------------|\n| Find or download a NuRec dataset NVIDIA has published | `physical-ai-datasets` |\n| Convert my own camera \u002F LiDAR \u002F radar \u002F depth \u002F stereo recording into NCore V4 | `ncore` |\n| Write a new converter for an unsupported sensor setup (drone, RGB-D, ROS 2 bag, COLMAP, ScanNet++) | `ncore` |\n| Train a 3D reconstruction from an NCore clip | `ncore` → `nre` |\n| Generate the extra inputs NRE needs (segmentation masks, depth, ego mask) | `nre` (uses the `nre-tools` container) |\n| Render a USDZ along the original camera positions | `nre` |\n| Render at full resolution \u002F highest quality | `nre` (see \"Quality presets\") |\n| Render along a shifted trajectory (e.g. car moved 3 m left) | `nre` |\n| Render through a server so CARLA \u002F Isaac Sim \u002F AlpaSim \u002F a custom simulator can ask for frames | `nre` (`serve-grpc`) |\n| Render the same USDZ many times back-to-back from Python with minimal per-call latency | `nre` (warm `serve-grpc` + thin Python client \u002F `batch_render_rgb`) |\n| Render LiDAR sweeps (point clouds) from a USDZ | `nre` (`render-grpc --lidar`) |\n| Skip training and just render a NuRec scene NVIDIA already built | `physical-ai-datasets` → `nre` |\n| Extract individual 3D objects (cars, pedestrians) from a driving clip | `asset-harvester` |\n| Add, remove, or replace cars \u002F pedestrians in a NuRec scene | `asset-harvester` → `nre` |\n| Clean up or harmonize rendered frames (ghosting, floaters, flicker, lighting\u002Fshadows) | `nurec-fixer`, **or** `--enable-difix` inside `nre` for inline rendering |\n| Export the scene as a PLY, mesh, depth maps, ego mask, etc. | `nre` |\n| Upgrade an old USDZ so newer NRE versions load it faster | `nre` (`upgrade-artifact`) |\n| Open a USDZ or PLY in a browser viewer | `nre` (`viewer` \u002F `ply_viewer`) |\n| Measure rendering quality (PSNR, SSIM, LPIPS) against ground truth | `nre` (`eval-rendering-metrics`) |\n| Benchmark different reconstruction methods on the same scenes | `physical-ai-datasets` (`PhysicalAI-NuRec-PPISP`) → `nre` |\n| Train on multiple GPUs or on SLURM | `nre` (Workflow D) |\n\n## Common workflows\n\nSix end-to-end workflows are documented in\n[`references\u002Fworkflows.md`](references\u002Fworkflows.md):\n\n- **A.** Make a NuRec scene from your own recording.\n- **B.** Use a NuRec scene NVIDIA has already trained.\n- **C.** Add, remove, or replace 3D objects in a scene.\n- **D.** Clean up rendered frames.\n- **E.** Benchmark reconstruction quality.\n- **F.** Connect NuRec to a simulator.\n\nOpen that file when the user's task spans more than one sibling skill.\n\n## Sibling skills (upstream)\n\n| Name | Upstream folder | What it does |\n|------|-----------------|--------------|\n| `physical-ai-datasets` | `.agents\u002Fskills\u002Fphysical-ai-datasets\u002F` | Catalog and download recipes for every NVIDIA Physical AI dataset on Hugging Face (driving, robotics, manipulation, NuRec scenes, benchmarks). |\n| `ncore` | `.agents\u002Fskills\u002Fncore\u002F` | Converts any sensor recording to NCore V4 (the format NRE needs). Also covers writing a new converter. |\n| `nre` | `.agents\u002Fskills\u002Fnre\u002F` | The Neural Reconstruction Engine itself. Trains, renders (locally, via warm `serve-grpc` + thin Python client \u002F `batch_render_rgb`, or to an external simulator), exports meshes \u002F point clouds \u002F depth, edits actors, evaluates quality. |\n| `asset-harvester` | `.agents\u002Fskills\u002Fasset-harvester\u002F` | Open-source Apache-2.0 pipeline that extracts individual 3D objects from sparse views in a driving clip and saves them as `.ply` Gaussian splats with metadata. |\n| `nurec-fixer` | `.agents\u002Fskills\u002Fnurec-fixer\u002F` | Standalone NVIDIA **DiffusionHarmonizer** workflow — public successor to the older Fixer \u002F Difix3D+ recipes — that cleans rendered frames, harmonizes inserted actors, evaluates PSNR\u002FLPIPS, and optionally fine-tunes the model. |\n\nFor naming overlaps (NRE vs Fixer, ncore vs nre, AV-NuRec vs\nCosmos-Drive-Dreams, NuRec vs SimReady) see\n[`references\u002Fmix-ups.md`](references\u002Fmix-ups.md).\n\n## Locate and fetch the upstream skills\n\nQuick recipe (full version in\n[`references\u002Fupstream-fetch.md`](references\u002Fupstream-fetch.md)):\n\n```bash\nUPSTREAM_ROOT=\"${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME\u002F.physical-ai-skill-hub\u002Fupstreams}}\"\nmkdir -p \"$UPSTREAM_ROOT\"\nif [ -d \"$UPSTREAM_ROOT\u002Fnurec-skills\u002F.git\" ]; then\n  git -C \"$UPSTREAM_ROOT\u002Fnurec-skills\" fetch --tags\n  git -C \"$UPSTREAM_ROOT\u002Fnurec-skills\" checkout main\n  git -C \"$UPSTREAM_ROOT\u002Fnurec-skills\" pull --ff-only\nelse\n  git clone --depth 1 https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills.git \\\n    \"$UPSTREAM_ROOT\u002Fnurec-skills\"\nfi\ntest -f \"$UPSTREAM_ROOT\u002Fnurec-skills\u002F.agents\u002Fskills\u002FSKILL.md\"\n```\n\nThen read the upstream skill before running any mutating command:\n\n```bash\ncat \"$UPSTREAM_ROOT\u002Fnurec-skills\u002F.agents\u002Fskills\u002FSKILL.md\"          # router\ncat \"$UPSTREAM_ROOT\u002Fnurec-skills\u002F.agents\u002Fskills\u002F\u003Cfolder>\u002FSKILL.md\" # sibling\n```\n\nLocal lookup order (try in order before the upstream clone):\n\n1. `.agents\u002Fskills\u002F\u003Cname>\u002FSKILL.md` (Cursor, Codex, NemoClaw)\n2. `.claude\u002Fskills\u002F\u003Cname>\u002FSKILL.md` (Claude Code)\n3. `.cursor\u002Fskills\u002F\u003Cname>\u002FSKILL.md` (project-scoped)\n4. `~\u002F.cursor\u002Fskills\u002F\u003Cname>\u002FSKILL.md` (personal skills)\n\n## Hard Rules\n\n- Router only — do not duplicate upstream NuRec recipes here. Read\n  the upstream sibling skill body before running any mutating command.\n- Refer to sibling skills by their `name:` (e.g. `nre`), not by repo\n  path. Folder layouts can change; the name is portable.\n- Clone or refresh `https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills` under the\n  shared upstream root\n  (`${NUREC_SKILLS_UPSTREAM_ROOT:-${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME\u002F.physical-ai-skill-hub\u002Fupstreams}}\u002Fnurec-skills`).\n  Do not scan broad developer workspaces such as `~\u002FCodes` or reuse\n  unrelated old clones.\n- `physical-ai-datasets` covers gated Hugging Face datasets. Do not\n  bypass dataset license terms; the user must accept the\n  `PhysicalAI-*` gated licenses on Hugging Face and provide a token\n  before downloading.\n- Asset Harvester runs **before** packaging into a USDZ. Do not call\n  `nre`'s `export-external-assets` on hand-rolled `.ply` files unless\n  the user explicitly asks to skip Asset Harvester.\n- For artifact cleanup, prefer the built-in `--enable-difix` path in\n  `nre`. Route to the standalone `nurec-fixer` only when the user\n  needs the public code\u002Fmodel card, paired evaluation, fine-tuning,\n  or fixes on previously rendered frames.\n- Do not invent NRE \u002F NCore \u002F DiffusionHarmonizer commands from\n  memory. Re-read the upstream sibling skill — versions move fast\n  (NRE `release_26.04` is the current pinned tag).\n- This router does not deploy infrastructure. Route AKS \u002F OSMO \u002F\n  NIM Operator setup to\n  `physical-ai-infrastructure-setup-and-resilient-scaling`.\n\n## Limitations\n\n- **Router only.** This skill never executes mutating NuRec commands.\n  All training, rendering, conversion, and harmonization happens in\n  upstream sibling skills.\n- **Upstream-pinned.** Recipes live in\n  `https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills`, which evolves outside\n  this repo. Stale clones can drift; always `git pull` the upstream\n  before relying on a sibling skill.\n- **Gated content.** `nvidia\u002FPhysicalAI-*`, `nvidia\u002FDiffusionHarmonizer`,\n  and `nvidia\u002Fasset-harvester` require the user to accept license\n  terms on Hugging Face first. The router cannot bypass this.\n- **Heavy footprint.** A complete NuRec workflow can leave 150 GB+\n  on disk. See [`references\u002Fteardown.md`](references\u002Fteardown.md).\n- **NVIDIA-only stack.** Requires an NVIDIA GPU plus the NVIDIA\n  Container Toolkit. AMD \u002F Intel \u002F Apple Silicon are not supported.\n- **Not a SimReady pipeline.** NuRec produces a renderable USDZ from\n  a recording; SimReady packaging of CAD or source meshes is a\n  different pipeline (see `omniverse-cad-to-simready`).\n\n## Troubleshooting\n\n| Error \u002F symptom | Likely cause | Solution |\n|-----------------|--------------|----------|\n| `nurec-skills` clone missing or empty | Upstream not fetched yet | Run the clone block in [Locate and fetch the upstream skills](#locate-and-fetch-the-upstream-skills) |\n| `403`\u002F`401` pulling `nvidia\u002FPhysicalAI-*` from HF | Gated license not accepted, or `HF_TOKEN` unset \u002F wrong scope | Accept the gated license on Hugging Face, then `hf auth login` with a token that has `read` access |\n| `denied: requested access to the resource is denied` from `nvcr.io\u002Fnvidia\u002Fnre\u002F*` | Missing or expired `NGC_API_KEY` | `docker login nvcr.io` with `$oauthtoken` \u002F `NGC_API_KEY`; rotate the key at `org.ngc.nvidia.com\u002Fsetup\u002Fapi-key` if needed |\n| NRE refuses to load a clip (\"not valid NCore V4\") | Recording was not converted | Run the `ncore` skill before invoking `nre` |\n| `serve-grpc` cold-start latency dominates a Python loop | One-shot Docker invocation per render | Use the `nre` warm `serve-grpc` + thin Python client (`batch_render_rgb`) recipe |\n| Output files are owned by `root` after a `docker run` | `-u $(id -u):$(id -g)` was missing | `sudo chown -R \"$(id -u):$(id -g)\" \u003Coutput_dir>`; add the `-u` flag next time |\n| Frames have ghosting \u002F floaters \u002F flicker after rendering | Inline cleanup not enabled | Re-render with `nre --enable-difix`, or post-process with `nurec-fixer` (DiffusionHarmonizer) |\n| Stale skill names (`ncore-data-conversion`, old `nvidia\u002FFixer`) in agent output | Out-of-date cached skill | Update references to `ncore` and `nurec-fixer` (DiffusionHarmonizer); see [`references\u002Fmaintenance.md`](references\u002Fmaintenance.md) |\n| Bash anti-pattern `${HF_TOKEN:+yes}${HF_TOKEN:-no}` echoed token value | Misuse of bash parameter expansion | Rotate the token; use `hf auth whoami` or length-only checks (see [`references\u002Fsecrets-handling.md`](references\u002Fsecrets-handling.md)) |\n\n## Cross-skill teardown\n\nA complete NuRec workflow can leave **150 GB+** on disk between\ncontainer images, model weights, code clones, conda envs, and output\ndirectories. Each sibling skill has its own dedicated `Teardown`\nsection — read them in the order documented in\n[`references\u002Fteardown.md`](references\u002Fteardown.md) when the user no\nlonger needs the workflow.\n\n## Keeping this router up to date\n\nProcedure for adding new sibling skills, renames, or upstream URL\nchanges lives in [`references\u002Fmaintenance.md`](references\u002Fmaintenance.md).\nTreat the upstream `nurec-index` at\n\u003Chttps:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002FSKILL.md>\nas authoritative; this skill mirrors only the picker tables, the\nworkflow ordering, and the upstream fetch recipe.\n",{"name":5,"tools":44,"license":15,"version":47,"metadata":48,"description":7,"compatibility":80},[45,46],"Read","Shell","0.3.0",{"tags":49,"author":54,"upstream":55,"upstream_clone_path":78,"upstream_override_env":79},[50,51,52,22,53],"physical-ai","nurec","neural-reconstruction","sensor-sim","NVIDIA Physical AI",{"repo":56,"branch":26,"skills_dir":57,"index_skill":58,"sibling_skills":59,"index_skill_name":76,"skills_dir_alias":77},"https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnurec-skills",".agents\u002Fskills\u002F",".agents\u002Fskills\u002FSKILL.md",{"nre":60,"ncore":63,"nurec-fixer":66,"asset-harvester":70,"physical-ai-datasets":73},{"folder":61,"upstream":62},"nre\u002F","nvcr.io\u002Fnvidia\u002Fnre\u002Fnre",{"folder":64,"upstream":65},"ncore\u002F","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fncore",{"folder":67,"hf_model":68,"upstream":69},"nurec-fixer\u002F","https:\u002F\u002Fhuggingface.co\u002Fnvidia\u002FDiffusionHarmonizer","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fharmonizer",{"folder":71,"upstream":72},"asset-harvester\u002F","https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fasset-harvester",{"folder":74,"upstream":75},"physical-ai-datasets\u002F","https:\u002F\u002Fhuggingface.co\u002Fnvidia","nurec-index","skills\u002F","${PHYSICAL_AI_SKILL_HUB_UPSTREAM_ROOT:-$HOME\u002F.physical-ai-skill-hub\u002Fupstreams}\u002Fnurec-skills","NUREC_SKILLS_UPSTREAM_ROOT","Router skill; downstream sibling skills require Docker, NVIDIA Container Toolkit, GPU, NGC API key, Hugging Face token with PhysicalAI gated licenses accepted, Python 3.10+, and `huggingface_hub`. Optional: CARLA \u002F Isaac Sim 5.1 \u002F AlpaSim for simulator integration over `serve-grpc`.","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F3f\u002F3f1a96b4d7753b2dbd1f6bb068be8901d14c05940e200fa2e10ce7dd9d1c0051",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":89,"prompt":99,"zipAvailable":100},[90,93,96],{"tool":91,"command":92},"npx","npx skills add zapabob\u002FSkills --skill physical-ai-neural-reconstruction",{"tool":94,"command":95},"bunx","bunx skills add zapabob\u002FSkills --skill physical-ai-neural-reconstruction",{"tool":97,"command":98},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill physical-ai-neural-reconstruction","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F3f\u002F3f1a96b4d7753b2dbd1f6bb068be8901d14c05940e200fa2e10ce7dd9d1c0051\u002FSKILL.md",true,[102,108,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182],{"path":103,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":106,"sourceHtmlUrl":107},"data\u002Fdomain-complexity.csv","ASSET","资产文件",7324,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fdata\u002Fdomain-complexity.csv",{"path":109,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":112,"sourceHtmlUrl":113},"data\u002Fprd-purpose.md","REFERENCE","参考文档",7246,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fdata\u002Fprd-purpose.md",{"path":115,"resourceType":104,"resourceTypeDesc":105,"sizeBytes":116,"sourceHtmlUrl":117},"data\u002Fproject-types.csv",3144,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fdata\u002Fproject-types.csv",{"path":119,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":120,"sourceHtmlUrl":121},"steps-c\u002Fstep-01-init.md",9683,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-01-init.md",{"path":123,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":124,"sourceHtmlUrl":125},"steps-c\u002Fstep-01b-continue.md",5345,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-01b-continue.md",{"path":127,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":128,"sourceHtmlUrl":129},"steps-c\u002Fstep-02-discovery.md",8441,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-02-discovery.md",{"path":131,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":132,"sourceHtmlUrl":133},"steps-c\u002Fstep-02b-vision.md",7015,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-02b-vision.md",{"path":135,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":136,"sourceHtmlUrl":137},"steps-c\u002Fstep-02c-executive-summary.md",7504,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-02c-executive-summary.md",{"path":139,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":140,"sourceHtmlUrl":141},"steps-c\u002Fstep-03-success.md",9453,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-03-success.md",{"path":143,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":144,"sourceHtmlUrl":145},"steps-c\u002Fstep-04-journeys.md",9305,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-04-journeys.md",{"path":147,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":148,"sourceHtmlUrl":149},"steps-c\u002Fstep-05-domain.md",7198,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-05-domain.md",{"path":151,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":152,"sourceHtmlUrl":153},"steps-c\u002Fstep-06-innovation.md",8949,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-06-innovation.md",{"path":155,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":156,"sourceHtmlUrl":157},"steps-c\u002Fstep-07-project-type.md",9094,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-07-project-type.md",{"path":159,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":160,"sourceHtmlUrl":161},"steps-c\u002Fstep-08-scoping.md",11630,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-08-scoping.md",{"path":163,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":164,"sourceHtmlUrl":165},"steps-c\u002Fstep-09-functional.md",9437,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-09-functional.md",{"path":167,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":168,"sourceHtmlUrl":169},"steps-c\u002Fstep-10-nonfunctional.md",9244,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-10-nonfunctional.md",{"path":171,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":172,"sourceHtmlUrl":173},"steps-c\u002Fstep-11-polish.md",9842,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-11-polish.md",{"path":175,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":176,"sourceHtmlUrl":177},"steps-c\u002Fstep-12-complete.md",5148,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fsteps-c\u002Fstep-12-complete.md",{"path":179,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":180,"sourceHtmlUrl":181},"templates\u002Fprd-template.md",164,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Ftemplates\u002Fprd-template.md",{"path":183,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":184,"sourceHtmlUrl":185},"workflow.md",2991,"https:\u002F\u002Fgithub.com\u002Fdinesh-style\u002Fportfolio\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fgds-create-prd\u002Fworkflow.md",[187,225,260,286,313,330],{"skillNo":188,"name":189,"nameZh":6,"description":190,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":207,"publishedAt":39},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[194,199,202],{"categoryNo":195,"categoryName":196,"taxonomyType":197,"taxonomyTypeDesc":198},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":200,"categoryName":201,"taxonomyType":197,"taxonomyTypeDesc":198},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":203,"categoryName":204,"taxonomyType":205,"taxonomyTypeDesc":206},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[189,208,209,210,211,212,213,214,215,216,217,32,218,219,220,221,26,222,223,224],"openclaw","macos","cli","github","linux","windows","official","search","https","social-media","Media","hermes","hermes agent","twitter","social","via","post",{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":242,"publishedAt":39},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[231,234,237,238,239],{"categoryNo":232,"categoryName":233,"taxonomyType":197,"taxonomyTypeDesc":198},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":235,"categoryName":236,"taxonomyType":197,"taxonomyTypeDesc":198},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":200,"categoryName":201,"taxonomyType":197,"taxonomyTypeDesc":198},{"categoryNo":203,"categoryName":204,"taxonomyType":205,"taxonomyTypeDesc":206},{"categoryNo":240,"categoryName":241,"taxonomyType":205,"taxonomyTypeDesc":206},"01JBSEEDCAT000000000000036","内容创作者",[243,244,245,246,209,247,212,248,213,249,250,251,252,253,254,255,256,257,258,259],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":261,"name":262,"nameZh":6,"description":263,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":6,"sourceHtmlUrl":264,"categories":265,"keywords":269,"publishedAt":39},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[266],{"categoryNo":267,"categoryName":268,"taxonomyType":197,"taxonomyTypeDesc":198},"01JBSEEDCAT000000000000016","图像与多媒体",[262,209,212,270,271,272,273,274,275,276,277,278,31,279,280,281,282,283,284,285],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":287,"name":288,"nameZh":6,"description":289,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":6,"sourceHtmlUrl":290,"categories":291,"keywords":295,"publishedAt":39},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[292],{"categoryNo":293,"categoryName":294,"taxonomyType":197,"taxonomyTypeDesc":198},"01JBSEEDCAT000000000000013","分析与可视化",[296,209,297,298,213,299,300,301,302,303,304,277,305,306,307,308,309,310,311,312],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":314,"name":315,"nameZh":6,"description":316,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":6,"sourceHtmlUrl":317,"categories":318,"keywords":320,"publishedAt":39},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[319],{"categoryNo":200,"categoryName":201,"taxonomyType":197,"taxonomyTypeDesc":198},[315,209,321,211,212,322,323,324,325,326,327,219,220,328,329],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":331,"name":332,"nameZh":6,"description":333,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":191,"licenseFileUrl":6,"sourceHtmlUrl":334,"categories":335,"keywords":338,"publishedAt":39},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[336,337],{"categoryNo":195,"categoryName":196,"taxonomyType":197,"taxonomyTypeDesc":198},{"categoryNo":203,"categoryName":204,"taxonomyType":205,"taxonomyTypeDesc":206},[339,340,341,212,342,270,343,344,345,273,346,32,347,348,349,350,351,352,353,354],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]