[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6WF5V4D4J0MBBMTQTY7P5V2":3,"skill-same:01M6WF5V4D4J0MBBMTQTY7P5V2":68},{"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":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M6WF5V4D4J0MBBMTQTY7P5V2","nvx-collect-benchmarks",null,"Collect fresh NVX benchmark results on a prepared Linux\u002FKVM, Linux\u002FMSHV, or Windows\u002FWHP host with the smoke, CI-equivalent, or canonical profile. Use for acceptance runs, performance suites, p50 collection, benchmark artifacts, and same-host performance comparisons.","microsoft\u002Fnvx","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69BJEK52F2VM8QAE8TEX086",841,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx\u002Fblob\u002Fdev\u002F.github\u002Fskills\u002Fnvx-collect-benchmarks\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"nvx collect benchmarks","collect","benchmarks","results","for","with","host","fresh","local","smoke","use","linux","collection","ci","acceptance","artifacts","nvx benchmark","kvm","windows","performance","2026-11-10 10:12:30",false,"---\nname: nvx-collect-benchmarks\ndescription: \"Collect fresh NVX benchmark results on a prepared Linux\u002FKVM, Linux\u002FMSHV, or Windows\u002FWHP host with the smoke, CI-equivalent, or canonical profile. Use for acceptance runs, performance suites, p50 collection, benchmark artifacts, and same-host performance comparisons.\"\nargument-hint: \"[local|host-profile] [kvm|mshv|whp] [smoke|ci|canonical]\"\n---\n\n# Collect NVX Benchmarks\n\nCommands use `python3`; use `python` on Windows.\n\n1. Prepare the host with [nvx-prepare-host](..\u002Fnvx-prepare-host\u002FSKILL.md), and\n   reuse its checkout, backend, revision, artifacts, and `host_type`. For a\n   local run, ask whether the host is `baremetal` or `virtual-machine` unless\n   the user said so; never infer it from probes.\n2. Choose one profile, and name it in the report:\n   - `smoke` checks that the suites work; never persist, gate, or compare it.\n   - `ci` reproduces CI's sampling, which the tool reads from the measured\n     revision's [run-benchmark](..\u002F..\u002Factions\u002Frun-benchmark\u002Faction.yml) with\n     PyYAML, which `scripts\u002Fsetup\u002Fazure\u002Frequirements.txt` installs.\n   - `canonical` is the manual baseline of\n     [Benchmark](..\u002F..\u002F..\u002Fdoc\u002Fbenchmarks.md#running-locally); add\n     `--with-multi-vcpu` for CI's restore runs at 2, 4, and 8 vCPUs.\n\n   Compare results only between runs of the same profile on the same host.\n3. Measure on a quiet, idle host with a stable power mode and a release\n   OpenVMM, with nothing else running. Run this checkout's coordinator against\n   the prepared checkout, which may predate it, and which provides the\n   `scripts\u002Fnvx.py` that measures. Locally:\n\n   ```console\n   python3 scripts\u002Fbenchmark_series.py --repo CHECKOUT --profile PROFILE --backend BACKEND --host-type HOST_TYPE\n   ```\n\n   On a remote host, `nvx_hosts.py` runs it there over one SSH connection,\n   whose loss ends the run:\n\n   ```console\n   python3 scripts\u002Fnvx_hosts.py benchmark HOST --cwd CHECKOUT -- --profile PROFILE --backend BACKEND --host-type HOST_TYPE\n   ```\n\n   `--dry-run` prints the plan. The tool refuses to start while an OpenVMM\n   process runs; writes a fresh `data\u002Fruns\u002Fmanual\u002F\u003Crun>-\u003Cplatform>` directory\n   in the measured checkout; runs acceptance first and stops when it fails;\n   validates each attempt and remeasures an unstable one once, as CI does;\n   collects the p50 CSV files and `summary.md`; checks the result set and its\n   host provenance; and prints `NVX_RESULTS=\u003Cdirectory>`.\n4. When acceptance fails, keep its output and debug it with\n   [nvx-run-microvm](..\u002Fnvx-run-microvm\u002FSKILL.md); never collect performance\n   data from a failing host.\n5. Inspect a local result directory in place. From a remote host, copy only\n   that fresh directory with the user's `scp` or `sftp`, quoting both paths, and\n   check the path's spelling with `sftp` on Windows OpenSSH, whose drive\n   letters depend on the server's root. Never copy the checkout or credential\n   files, and keep the remote copy unless the user asks to remove it.\n\n## Report\n\nReport local or SSH execution, the host, host type, profile, platform, backend,\ncommit, dirty state, artifact source, host conditions, the exact command and\nits exit status, the summary's results, and the local and remote result paths.\nName every skipped metric, changed option, privilege limitation, and\ninterrupted run.\n","# Collect NVX Benchmarks\n\nCommands use `python3`; use `python` on Windows.\n\n1. Prepare the host with [nvx-prepare-host](..\u002Fnvx-prepare-host\u002FSKILL.md), and\n   reuse its checkout, backend, revision, artifacts, and `host_type`. For a\n   local run, ask whether the host is `baremetal` or `virtual-machine` unless\n   the user said so; never infer it from probes.\n2. Choose one profile, and name it in the report:\n   - `smoke` checks that the suites work; never persist, gate, or compare it.\n   - `ci` reproduces CI's sampling, which the tool reads from the measured\n     revision's [run-benchmark](..\u002F..\u002Factions\u002Frun-benchmark\u002Faction.yml) with\n     PyYAML, which `scripts\u002Fsetup\u002Fazure\u002Frequirements.txt` installs.\n   - `canonical` is the manual baseline of\n     [Benchmark](..\u002F..\u002F..\u002Fdoc\u002Fbenchmarks.md#running-locally); add\n     `--with-multi-vcpu` for CI's restore runs at 2, 4, and 8 vCPUs.\n\n   Compare results only between runs of the same profile on the same host.\n3. Measure on a quiet, idle host with a stable power mode and a release\n   OpenVMM, with nothing else running. Run this checkout's coordinator against\n   the prepared checkout, which may predate it, and which provides the\n   `scripts\u002Fnvx.py` that measures. Locally:\n\n   ```console\n   python3 scripts\u002Fbenchmark_series.py --repo CHECKOUT --profile PROFILE --backend BACKEND --host-type HOST_TYPE\n   ```\n\n   On a remote host, `nvx_hosts.py` runs it there over one SSH connection,\n   whose loss ends the run:\n\n   ```console\n   python3 scripts\u002Fnvx_hosts.py benchmark HOST --cwd CHECKOUT -- --profile PROFILE --backend BACKEND --host-type HOST_TYPE\n   ```\n\n   `--dry-run` prints the plan. The tool refuses to start while an OpenVMM\n   process runs; writes a fresh `data\u002Fruns\u002Fmanual\u002F\u003Crun>-\u003Cplatform>` directory\n   in the measured checkout; runs acceptance first and stops when it fails;\n   validates each attempt and remeasures an unstable one once, as CI does;\n   collects the p50 CSV files and `summary.md`; checks the result set and its\n   host provenance; and prints `NVX_RESULTS=\u003Cdirectory>`.\n4. When acceptance fails, keep its output and debug it with\n   [nvx-run-microvm](..\u002Fnvx-run-microvm\u002FSKILL.md); never collect performance\n   data from a failing host.\n5. Inspect a local result directory in place. From a remote host, copy only\n   that fresh directory with the user's `scp` or `sftp`, quoting both paths, and\n   check the path's spelling with `sftp` on Windows OpenSSH, whose drive\n   letters depend on the server's root. Never copy the checkout or credential\n   files, and keep the remote copy unless the user asks to remove it.\n\n## Report\n\nReport local or SSH execution, the host, host type, profile, platform, backend,\ncommit, dirty state, artifact source, host conditions, the exact command and\nits exit status, the summary's results, and the local and remote result paths.\nName every skipped metric, changed option, privilege limitation, and\ninterrupted run.\n",{"name":5,"description":7,"argument-hint":44},"[local|host-profile] [kvm|mshv|whp] [smoke|ci|canonical]","dev","683eddaab528d71572503a8c687c124f35d98e10",".github\u002Fskills\u002Fnvx-collect-benchmarks",59,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-15 02:56:57",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add microsoft\u002Fnvx --skill nvx-collect-benchmarks",{"tool":60,"command":61},"bunx","bunx skills add microsoft\u002Fnvx --skill nvx-collect-benchmarks",{"tool":63,"command":64},"pnpm","pnpm dlx skills add microsoft\u002Fnvx --skill nvx-collect-benchmarks","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx\u002Fblob\u002Fdev\u002F.github\u002Fskills\u002Fnvx-collect-benchmarks\u002FSKILL.md",true,[],[69,93,116,140,163,184],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":39},"01M6WF70QXSEFAVRE1H17HCKKR","nvx-triage-ci-run","Triage a failed, cancelled, or hanging microsoft\u002Fnvx GitHub Actions run: classify supersession and queueing, find the first causal failure for the exact head, reproduce it on the matching platform, and fix it locally without committing. Use for workflow run URLs or IDs, red pull-request checks, runner, matrix, and artifact-handoff failures, and performance-gate or benchmark-host failures.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx\u002Fblob\u002Fdev\u002F.github\u002Fskills\u002Fnvx-triage-ci-run\u002FSKILL.md",[],[76,77,32,78,79,38,80,81,82,83,84,85,86,87,88,89,25,90,91,92],"triage","run","nvx triage ci run","handoff","workflow","benchmark","pull","actions","github actions","ids","fix","runner","artifact","classify","URL","matrix","request",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":104,"publishedAt":39},"01M6WF6V0QC9BBS0DW6TB3JQN8","nvx-run-microvm","Boot an NVX microVM with nvx-rs on Linux\u002FKVM, Linux\u002FMSHV, or Windows\u002FWHP, exercise the guest, and debug failed boots. Use for boot smoke tests, guest shell sessions, virtio-fs mounts, networking, kernel command lines, missing boot markers, OpenVMM errors, guest hangs, and benchmark acceptance failures.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx\u002Fblob\u002Fdev\u002F.github\u002Fskills\u002Fnvx-run-microvm\u002FSKILL.md",[99],{"categoryNo":100,"categoryName":101,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[77,105,106,107,108,30,109,110,37,36,111,29,28,27,112,25,113,114,115,23],"microvm","nvx run","nvx run microvm","kernel","sessions","smoke tests","exercise","tests","missing","markers","errors",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":39},"01M6WF6MVTYEFTS42E2JF5Y28G","nvx-rebase-openvmm-chain","Rebase or reorganize the OpenVMM microVM chain onto the latest upstream main as a new feature\u002Fmicrovm\u002Frelease branch, validate and publish it, pin it in NVX with a remapped roadmap, and land it. Use for microVM release rebases and reorganizations, chain commits that upstream landed, rebase conflicts and fixups, and the release landing order.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx\u002Fblob\u002Fdev\u002F.github\u002Fskills\u002Fnvx-rebase-openvmm-chain\u002FSKILL.md",[],[123,124,125,105,126,127,128,129,130,29,131,132,133,134,135,136,137,138,24,23,139],"rebase","chain","nvx rebase openvmm chain","publish","commits","pin","branch","landing","ready","roadmap","conflicts","main","upstream","draft","feature","as","new",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":149,"publishedAt":39},"01M6WF6DF1X138HP9B9CQCSRWA","nvx-promote-openvmm-pin","Pin a reviewed OpenVMM revision in NVX: verify its provenance and signature, commit the gitlink and the OpenVMM roadmap mapping, validate the exact pin, and land the OpenVMM pull request by fast-forward. Use for OpenVMM pin updates, clean replacement pull requests, source-equivalence checks, and mapping new chain commits in the OpenVMM upstream roadmap.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx\u002Fblob\u002Fdev\u002F.github\u002Fskills\u002Fnvx-promote-openvmm-pin\u002FSKILL.md",[146],{"categoryNo":147,"categoryName":148,"taxonomyType":102,"taxonomyTypeDesc":103},"01JBSEEDCAT000000000000031","产品经理",[150,128,151,152,153,154,45,155,82,156,127,29,131,132,157,135,136,158,124,159,90,160,161,23,162,92,139],"promote","nvx promote openvmm pin","pull requests","commit","pr","land","provenance","clean","origin","mapping","revision","updates","source",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":39},"01M6WF66SSSZZZDPZEA9TR57SA","nvx-prepare-host","Prepare a local host or a configured SSH host for NVX work: resolve its profile, probe its KVM, MSHV, or WHP backend and checkout, check out the requested revision in a temporary worktree, and stage nvx-rs and the artifacts. Use before running, debugging, or benchmarking NVX on a host, or to diagnose a host's prerequisites.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx\u002Fblob\u002Fdev\u002F.github\u002Fskills\u002Fnvx-prepare-host\u002FSKILL.md",[],[170,25,171,172,173,174,36,34,175,176,177,178,29,179,180,27,181,182,23,183],"prepare","nvx prepare host","benchmarking","diagnose","debugging","worktree","ssh","work","check","backend","probe","stage","checkout","running",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":190,"publishedAt":39},"01M6WF60T85KGK0DDB14W1MQYZ","nvx-fix-issue","Fix one microsoft\u002Fnvx issue end to end: reproduce it on the configured hosts, commit signed fixes, open a Ready pull request against dev, and drive CI and review until only a maintainer's approval remains. Use when invoked with an NVX issue number or URL.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fnvx\u002Fblob\u002Fdev\u002F.github\u002Fskills\u002Fnvx-fix-issue\u002FSKILL.md",[],[191,86,192,193,194,153,195,82,32,196,197,131,198,138,90,199,200,201,92,202],"fix issue","issue","nvx fix issue","review","issues","open","only","end","number","hosts","fixes","when"]