[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69AHW3EFVHBHB2S7103YA21":3,"skill-same:01M69AHW3EFVHBHB2S7103YA21":88},{"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":23,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":49,"ownerHtmlUrl":50,"ownerBlogUrl":51,"ownerDescription":52,"updatedAt":53,"install":54,"resources":67},"01M69AHW3EFVHBHB2S7103YA21","ort-test",null,"Run ONNX Runtime tests. Use this skill when asked to run tests, debug test failures, or find and execute specific test cases in ONNX Runtime.","microsoft\u002Fonnxruntime","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69AGY0EW9AJXAH7HK223SQZ",22286,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fort-test\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"test","ort test","run tests","debug","debug test","onnx","debug test failures","run","find","execute","use","runtime","tests","test cases","when","2026-11-10 10:12:30",false,"---\nname: ort-test\ndescription: Run ONNX Runtime tests. Use this skill when asked to run tests, debug test failures, or find and execute specific test cases in ONNX Runtime.\n---\n\n# Running ONNX Runtime Tests\n\nONNX Runtime uses **Google Test** for C++ and **unittest** (preferred) \u002F **pytest** for Python.\n\n## C++ tests\n\n### Test executables\n\n| Executable | What it tests |\n|---|---|\n| `onnxruntime_test_all` | Core framework, graph, optimizer, session tests |\n| `onnxruntime_provider_test` | Operator\u002Fkernel tests (Conv, MatMul, etc.) across execution providers |\n\n### Two `attention_op_test.cc` files — don't confuse them\n\nThere are two same-named files testing **different operators**. Both build into\n`onnxruntime_provider_test`:\n\n| Path | Operator | gtest suite |\n|---|---|---|\n| `test\u002Fproviders\u002Fcpu\u002Fllm\u002Fattention_op_test.cc` | **ONNX-domain** `Attention` (opset 23\u002F24) | `AttentionTest.*` |\n| `test\u002Fcontrib_ops\u002Fattention_op_test.cc` | **contrib** MultiHeadAttention \u002F GroupQueryAttention | `ContribOpAttentionTest.*` |\n\nThe MEA negative-offset regression tests (`Attention_Causal_NonPadKVSeqLen_MEA_*`,\ne.g. `..._MEA_NegOffset_ForceFlashDisabled_FP16_CUDA`) live in the **providers\u002Fcpu\u002Fllm** file —\nthe ONNX-domain op.\n\nUse `--gtest_filter` to select specific tests:\n\n```bash\n.\u002Fonnxruntime_provider_test --gtest_filter=\"*Conv3D*\"\n```\n\n### Running tests\n\n**Always run from the build output directory** — tests may fail to find dependencies otherwise.\n\n```bash\n# Linux\ncd build\u002FLinux\u002FRelease\n.\u002Fonnxruntime_provider_test --gtest_filter=\"*TestName*\"\n\n# macOS\ncd build\u002FMacOS\u002FRelease\n.\u002Fonnxruntime_provider_test --gtest_filter=\"*TestName*\"\n\n# Windows\ncd build\\Windows\\Release\n.\\onnxruntime_provider_test.exe --gtest_filter=\"*TestName*\"\n```\n\nYou can also run all tests via the build script (assumes a prior successful build):\n\n```bash\n.\u002Fbuild.sh --config Release --test\n.\\build.bat --config Release --test    # Windows\n```\n\n### Locating the build output directory\n\nThe default path follows the pattern `build\u002F\u003CPlatform>\u002F\u003CConfig>\u002F` where Platform is `Linux`, `MacOS`, or `Windows`. With Visual Studio multi-config generators on Windows, the config may appear twice (e.g., `build\u002FWindows\u002FRelease\u002FRelease\u002F`). The path can also be customized via `--build_dir`.\n\nIf you can't find a test binary, search for it:\n\n```powershell\n# Windows\nGet-ChildItem -Path build -Recurse -Filter \"onnxruntime_provider_test.exe\" | Select-Object -ExpandProperty FullName\n\n# Linux\u002FmacOS\nfind build -name \"onnxruntime_provider_test\" -type f\n```\n\n## Python tests\n\nUse `pytest` as the test runner:\n\n```bash\npytest onnxruntime\u002Ftest\u002Fpython\u002Ftest_specific.py                          # entire file\npytest onnxruntime\u002Ftest\u002Fpython\u002Ftest_specific.py::TestClass::test_method  # specific test\npytest -k \"test_keyword\" onnxruntime\u002Ftest\u002Fpython\u002F                        # by keyword\n```\n\nPython test naming convention: `test_\u003Cmethod>_\u003Cexpected_behavior>_[when_\u003Ccondition>]`\n\n## Agent tips\n\n- **Activate a Python virtual environment** before running tests. See \"Python > Virtual environment\" in `AGENTS.md`.\n- **Beware false-green results** — a green run does not always prove anything. See the\n  \"False-green taxonomy\" section below for the four ways a test can pass without testing\n  your change.\n- **Redirect test output to a file** (e.g., `> test_output.txt 2>&1`) — output can be large.\n- For C++ tests, verify the build directory exists and a prior build completed before running.\n- Use `--gtest_filter` to run a targeted subset when the full suite takes too long.\n- **Running WebGPU tests locally on Linux without a GPU** — WebGPU op tests build into `onnxruntime_provider_test` and can run against a software Vulkan adapter (Mesa lavapipe). See the `webgpu-local-testing` skill.\n\n## False-green taxonomy — ways a test can \"pass\" without proving anything\n\nA green result is not always a real pass. Watch for all five modes:\n\n1. **Zero-match filter.** A `--gtest_filter` that matches no tests still exits 0 (green).\n   Confirm the `[==========] N tests ran` line is non-zero — a zero-match run prints\n   `0 tests from 0 test suites`. Many operator\u002Fkernel gtests run only in\n   **`onnxruntime_provider_test`** (CI runs this), NOT `onnxruntime_test_all`; the wrong\n   binary matches nothing and looks green.\n2. **Stale binary from an incremental build.** If the build did not actually recompile your\n   change (e.g. a header not tracked by the compiler's depfile), the \"passing\" run executes\n   the OLD code. A test that was failing cannot truly flip to passing without a real\n   rebuild — treat an unexpected FAIL→PASS with suspicion and confirm the linked artifact's\n   mtime advanced. CUDA\u002FCUTLASS instance (nvcc depfiles don't track `cutlass_fmha\u002F*.h`): see\n   the `cuda-cutlass-fmha-incremental-rebuild` skill.\n3. **Checking the wrong artifact's freshness.** With a dlopen'd shared provider (e.g.\n   `libonnxruntime_providers_cuda.so`), the test executable is NOT relinked when the provider\n   recompiles — its mtime stays old while the `.so` advances. Verify the artifact that\n   actually links your change, not the test exe. Detail: `cuda-cutlass-fmha-incremental-rebuild`\n   skill.\n4. **A correct fallback path masks the intended path.** A value-only assertion can pass via a\n   *different, correct* code path without ever exercising the one you meant to test (e.g. a\n   test meant for MEA silently handled by the unfused fallback). Assert\u002Fverify **which path\n   ran**, not just the output value — see \"Verify which path\u002Fkernel actually executed\" below.\n5. **Arch-portability false-green (verified on only one GPU arch).** A CUDA kernel that\n   launches on a large-dynamic-smem arch (e.g. sm90\u002FH100, ~227KB) can **fail to launch** on a\n   smaller opt-in cap (sm86\u002F89 ~99KB, sm80 ~163KB) with `CUDA failure 1: invalid argument` —\n   and a path with no fallback (e.g. ORT's MEA) turns that into a hard error, not a silent\n   degrade. So a green run on your local GPU can mask a launch failure on CI's arch. Verify\n   arch-portability, or pick a config whose shared-memory footprint fits **every** target arch\n   (e.g. a small `head_size`). Concrete instance: CUTLASS MEA `head_size=512` FP16 exceeds\n   sm86's smem opt-in cap and dies at launch — live bug #28388 (the\n   `cuda-attention-kernel-patterns` skill §1 has the dispatch detail).\n\n## Verify which path\u002Fkernel actually executed\n\nValue equality alone does not prove the intended code path ran — a correct fallback can\nproduce the right answer (false-green mode 4 above). When a test targets a specific\nkernel\u002Fpath, confirm it actually dispatched there instead of trusting the output:\n\n- Enable verbose logging and check the dispatch log line. ORT attention logs one of these\n  exact strings (`core\u002Fproviders\u002Fcuda\u002Fllm\u002Fattention.cc`):\n  - `ONNX Attention: using Flash Attention` (:1400)\n  - `ONNX Attention: using Memory Efficient Attention` (:1451)\n  - `Attention: using unified unfused path` (:1482) — note: **no `ONNX ` prefix** and it\n    reads \"unified unfused path\", not \"Unfused\".\n- Or force the path via the relevant env var \u002F build config AND add a compile-time guard so\n  the test **SKIPs** (not silently passes) when the target path is unavailable — e.g.\n  `SKIP_IF_MEA_NOT_COMPILED`.\n\nOperator-specific routing\u002Fforcing details: `cuda-attention-kernel-patterns` skill §1\u002F§7.\n","# Running ONNX Runtime Tests\n\nONNX Runtime uses **Google Test** for C++ and **unittest** (preferred) \u002F **pytest** for Python.\n\n## C++ tests\n\n### Test executables\n\n| Executable | What it tests |\n|---|---|\n| `onnxruntime_test_all` | Core framework, graph, optimizer, session tests |\n| `onnxruntime_provider_test` | Operator\u002Fkernel tests (Conv, MatMul, etc.) across execution providers |\n\n### Two `attention_op_test.cc` files — don't confuse them\n\nThere are two same-named files testing **different operators**. Both build into\n`onnxruntime_provider_test`:\n\n| Path | Operator | gtest suite |\n|---|---|---|\n| `test\u002Fproviders\u002Fcpu\u002Fllm\u002Fattention_op_test.cc` | **ONNX-domain** `Attention` (opset 23\u002F24) | `AttentionTest.*` |\n| `test\u002Fcontrib_ops\u002Fattention_op_test.cc` | **contrib** MultiHeadAttention \u002F GroupQueryAttention | `ContribOpAttentionTest.*` |\n\nThe MEA negative-offset regression tests (`Attention_Causal_NonPadKVSeqLen_MEA_*`,\ne.g. `..._MEA_NegOffset_ForceFlashDisabled_FP16_CUDA`) live in the **providers\u002Fcpu\u002Fllm** file —\nthe ONNX-domain op.\n\nUse `--gtest_filter` to select specific tests:\n\n```bash\n.\u002Fonnxruntime_provider_test --gtest_filter=\"*Conv3D*\"\n```\n\n### Running tests\n\n**Always run from the build output directory** — tests may fail to find dependencies otherwise.\n\n```bash\n# Linux\ncd build\u002FLinux\u002FRelease\n.\u002Fonnxruntime_provider_test --gtest_filter=\"*TestName*\"\n\n# macOS\ncd build\u002FMacOS\u002FRelease\n.\u002Fonnxruntime_provider_test --gtest_filter=\"*TestName*\"\n\n# Windows\ncd build\\Windows\\Release\n.\\onnxruntime_provider_test.exe --gtest_filter=\"*TestName*\"\n```\n\nYou can also run all tests via the build script (assumes a prior successful build):\n\n```bash\n.\u002Fbuild.sh --config Release --test\n.\\build.bat --config Release --test    # Windows\n```\n\n### Locating the build output directory\n\nThe default path follows the pattern `build\u002F\u003CPlatform>\u002F\u003CConfig>\u002F` where Platform is `Linux`, `MacOS`, or `Windows`. With Visual Studio multi-config generators on Windows, the config may appear twice (e.g., `build\u002FWindows\u002FRelease\u002FRelease\u002F`). The path can also be customized via `--build_dir`.\n\nIf you can't find a test binary, search for it:\n\n```powershell\n# Windows\nGet-ChildItem -Path build -Recurse -Filter \"onnxruntime_provider_test.exe\" | Select-Object -ExpandProperty FullName\n\n# Linux\u002FmacOS\nfind build -name \"onnxruntime_provider_test\" -type f\n```\n\n## Python tests\n\nUse `pytest` as the test runner:\n\n```bash\npytest onnxruntime\u002Ftest\u002Fpython\u002Ftest_specific.py                          # entire file\npytest onnxruntime\u002Ftest\u002Fpython\u002Ftest_specific.py::TestClass::test_method  # specific test\npytest -k \"test_keyword\" onnxruntime\u002Ftest\u002Fpython\u002F                        # by keyword\n```\n\nPython test naming convention: `test_\u003Cmethod>_\u003Cexpected_behavior>_[when_\u003Ccondition>]`\n\n## Agent tips\n\n- **Activate a Python virtual environment** before running tests. See \"Python > Virtual environment\" in `AGENTS.md`.\n- **Beware false-green results** — a green run does not always prove anything. See the\n  \"False-green taxonomy\" section below for the four ways a test can pass without testing\n  your change.\n- **Redirect test output to a file** (e.g., `> test_output.txt 2>&1`) — output can be large.\n- For C++ tests, verify the build directory exists and a prior build completed before running.\n- Use `--gtest_filter` to run a targeted subset when the full suite takes too long.\n- **Running WebGPU tests locally on Linux without a GPU** — WebGPU op tests build into `onnxruntime_provider_test` and can run against a software Vulkan adapter (Mesa lavapipe). See the `webgpu-local-testing` skill.\n\n## False-green taxonomy — ways a test can \"pass\" without proving anything\n\nA green result is not always a real pass. Watch for all five modes:\n\n1. **Zero-match filter.** A `--gtest_filter` that matches no tests still exits 0 (green).\n   Confirm the `[==========] N tests ran` line is non-zero — a zero-match run prints\n   `0 tests from 0 test suites`. Many operator\u002Fkernel gtests run only in\n   **`onnxruntime_provider_test`** (CI runs this), NOT `onnxruntime_test_all`; the wrong\n   binary matches nothing and looks green.\n2. **Stale binary from an incremental build.** If the build did not actually recompile your\n   change (e.g. a header not tracked by the compiler's depfile), the \"passing\" run executes\n   the OLD code. A test that was failing cannot truly flip to passing without a real\n   rebuild — treat an unexpected FAIL→PASS with suspicion and confirm the linked artifact's\n   mtime advanced. CUDA\u002FCUTLASS instance (nvcc depfiles don't track `cutlass_fmha\u002F*.h`): see\n   the `cuda-cutlass-fmha-incremental-rebuild` skill.\n3. **Checking the wrong artifact's freshness.** With a dlopen'd shared provider (e.g.\n   `libonnxruntime_providers_cuda.so`), the test executable is NOT relinked when the provider\n   recompiles — its mtime stays old while the `.so` advances. Verify the artifact that\n   actually links your change, not the test exe. Detail: `cuda-cutlass-fmha-incremental-rebuild`\n   skill.\n4. **A correct fallback path masks the intended path.** A value-only assertion can pass via a\n   *different, correct* code path without ever exercising the one you meant to test (e.g. a\n   test meant for MEA silently handled by the unfused fallback). Assert\u002Fverify **which path\n   ran**, not just the output value — see \"Verify which path\u002Fkernel actually executed\" below.\n5. **Arch-portability false-green (verified on only one GPU arch).** A CUDA kernel that\n   launches on a large-dynamic-smem arch (e.g. sm90\u002FH100, ~227KB) can **fail to launch** on a\n   smaller opt-in cap (sm86\u002F89 ~99KB, sm80 ~163KB) with `CUDA failure 1: invalid argument` —\n   and a path with no fallback (e.g. ORT's MEA) turns that into a hard error, not a silent\n   degrade. So a green run on your local GPU can mask a launch failure on CI's arch. Verify\n   arch-portability, or pick a config whose shared-memory footprint fits **every** target arch\n   (e.g. a small `head_size`). Concrete instance: CUTLASS MEA `head_size=512` FP16 exceeds\n   sm86's smem opt-in cap and dies at launch — live bug #28388 (the\n   `cuda-attention-kernel-patterns` skill §1 has the dispatch detail).\n\n## Verify which path\u002Fkernel actually executed\n\nValue equality alone does not prove the intended code path ran — a correct fallback can\nproduce the right answer (false-green mode 4 above). When a test targets a specific\nkernel\u002Fpath, confirm it actually dispatched there instead of trusting the output:\n\n- Enable verbose logging and check the dispatch log line. ORT attention logs one of these\n  exact strings (`core\u002Fproviders\u002Fcuda\u002Fllm\u002Fattention.cc`):\n  - `ONNX Attention: using Flash Attention` (:1400)\n  - `ONNX Attention: using Memory Efficient Attention` (:1451)\n  - `Attention: using unified unfused path` (:1482) — note: **no `ONNX ` prefix** and it\n    reads \"unified unfused path\", not \"Unfused\".\n- Or force the path via the relevant env var \u002F build config AND add a compile-time guard so\n  the test **SKIPs** (not silently passes) when the target path is unavailable — e.g.\n  `SKIP_IF_MEA_NOT_COMPILED`.\n\nOperator-specific routing\u002Fforcing details: `cuda-attention-kernel-patterns` skill §1\u002F§7.\n",{"name":5,"description":7},"main","4edd78a847b9d7755f32d6c99aa60cab2addd39b",".github\u002Fskills\u002Fort-test",4439,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime","https:\u002F\u002Fonnxruntime.ai","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-12 03:12:39",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add microsoft\u002Fonnxruntime --skill ort-test",{"tool":60,"command":61},"bunx","bunx skills add microsoft\u002Fonnxruntime --skill ort-test",{"tool":63,"command":64},"pnpm","pnpm dlx skills add microsoft\u002Fonnxruntime --skill ort-test","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fort-test\u002FSKILL.md",true,[68,74,78,84],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"assets\u002Ffan-out-pool.md","ASSET","资产文件",1396,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Fpackages\u002Fautopilot\u002Fautopilot-pr-triage-scheduler\u002F.apm\u002Fskills\u002Fautopilot-pr-triage-scheduler\u002Fassets\u002Ffan-out-pool.md",{"path":75,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":76,"sourceHtmlUrl":77},"assets\u002Flabel-contract.json",4653,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Fpackages\u002Fautopilot\u002Fautopilot-pr-triage-scheduler\u002F.apm\u002Fskills\u002Fautopilot-pr-triage-scheduler\u002Fassets\u002Flabel-contract.json",{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"scripts\u002Ffetch_queue.py","SCRIPT","脚本",22451,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Fpackages\u002Fautopilot\u002Fautopilot-pr-triage-scheduler\u002F.apm\u002Fskills\u002Fautopilot-pr-triage-scheduler\u002Fscripts\u002Ffetch_queue.py",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"scripts\u002Ftriage_state.py",4648,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fapm\u002Fblob\u002Fmain\u002Fpackages\u002Fautopilot\u002Fautopilot-pr-triage-scheduler\u002F.apm\u002Fskills\u002Fautopilot-pr-triage-scheduler\u002Fscripts\u002Ftriage_state.py",[89,120,148,170,188,212],{"skillNo":90,"name":91,"nameZh":6,"description":92,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":100,"publishedAt":39},"01M69AJ65WPPT5DS4JA8YWN37B","workspace-estimation-shared-header","Use when editing a boundary-safe shared header meant to be included by both in-tree and shared-provider\u002Fplugin-bridge code (e.g. include\u002Fonnxruntime\u002Fcore\u002Fframework\u002Fworkspace_requirement.h, or any future header supporting OrtKernelWorkspaceEstimateFunc \u002F DeclareWorkspaceRequirements per issue #29775's Phase-A workspace-estimation roadmap), or when a workspace-estimation math helper needs to be callable from a future plugin EP DLL. Covers a Node forward-declaration ODR trap and the math-helper vs. graph-parsing-wrapper reuse boundary discovered while implementing PR #29811 (MatMulNBits pilot).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fworkspace-estimation-shared-header\u002FSKILL.md",[95],{"categoryNo":96,"categoryName":97,"taxonomyType":98,"taxonomyTypeDesc":99},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",[101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,38],"workspace estimation shared header","workspace","estimation","shared","safe","pr","code","framework","graph","parsing","node","math","bridge","roadmap","Wrapper","issue","tree","implementing","phase",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":127,"publishedAt":39},"01M69AJ3F3NXDS7QP76KZ9EX5H","webgpu-local-testing","Build and run ONNX Runtime WebGPU provider tests on Linux WITHOUT a real GPU, using a software Vulkan adapter (Mesa lavapipe). Use when you need to exercise WebGPU EP kernels off-Mac — the Linux webgpu CI leg is build-only, so software Vulkan is how you actually run WebGPU correctness tests locally. SCOPE - lavapipe only validates host-side enforce\u002Fshape bugs and MatMul-free kernels; any graph containing MatMul (including the expanded-Attention node tests) crashes lavapipe and runs ONLY on macOS-arm64 Metal, which is the source of truth for those. Covers install (dnf on Azure Linux), the --use_webgpu build flag, the onnxruntime_provider_test target, VK_ICD_FILENAMES, and the lavapipe MatMul crash gotcha.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fwebgpu-local-testing\u002FSKILL.md",[126],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[128,129,130,131,132,133,134,135,136,24,29,31,137,138,139,111,140,141,142,143,144,145,146,147,38],"testing","webgpu","webgpu local testing","local testing","local","macos","metal","vulkan","linux","ci","exercise","how","install","only","free","host","scope","you","vk","which",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":39},"01M69AJ1ASRSCJ90HDWN05TW82","python-kwargs-setattr-security","When reviewing or fixing Python code that uses setattr() with user-controlled kwargs to configure C++ extension objects (SessionOptions, RunOptions, etc.) in ONNX Runtime. Use this to apply the allowlist pattern that prevents arbitrary file writes and other attacks via reflected property access.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fpython-kwargs-setattr-security\u002FSKILL.md",[],[155,156,157,29,107,158,159,160,34,161,162,163,35,164,165,166,167,168,169,38],"python","security","python kwargs setattr security","file","access","configure","objects","pattern","c++","extension","via","with","attacks","python code","apply",{"skillNo":171,"name":172,"nameZh":6,"description":173,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":174,"categories":175,"keywords":176,"publishedAt":39},"01M69AHZ0M0Q90TP0KYMZ10HEP","ort-transformers-gpu-pytest","Run the ONNX Runtime transformers Python tests (onnxruntime\u002Ftest\u002Fpython\u002Ftransformers) against a GPU wheel, and confirm real cuDNN\u002Fflash SDPA dispatch. Use when a transformers pytest fails with ModuleNotFoundError onnxruntime.capi, when torch's bundled CUDA\u002FcuDNN libs shadow the ORT-built ones (wrong-version dispatch or load errors), or when you must PROVE a test exercised the cuDNN SDPA decode tier instead of silently skipping\u002Ffalling back to MATH.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fort-transformers-gpu-pytest\u002FSKILL.md",[],[177,178,179,180,155,24,29,31,181,112,34,182,35,36,183,145,184,185,186,187,38],"ort transformers gpu pytest","gpu","Transformers","pytest","flash","back","SDPA","errors","load","prove","decode",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":194,"publishedAt":39},"01M69AHSKXBSERP5NGAJB5E6XD","ort-release-notes","Draft ONNX Runtime release notes using preset configurations for full ORT or scoped component releases. Use when generating highlights with PR links, compiling human contributor acknowledgments from compile_contributors.py output, and applying preset path filtering.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fort-release-notes\u002FSKILL.md",[],[195,196,197,198,199,200,29,106,201,202,203,204,205,206,35,207,208,209,210,211,38],"notes","ort release notes","release notes","release","component","preset","compile","compiling","contributors","releases","human","full","links","path","for","scoped","contributor",{"skillNo":213,"name":214,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":216,"categories":217,"keywords":221,"publishedAt":39},"01M69AHQAPER0CRAZ0FTX0G2FT","ort-lint","Lint and format ONNX Runtime code. Use this skill when asked to lint, format, or check code style for C++ or Python files in ONNX Runtime.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fonnxruntime\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fort-lint\u002FSKILL.md",[218],{"categoryNo":219,"categoryName":220,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",[222,223,155,224,29,107,225,226,34,227,163,35,228,209,38],"ort lint","lint","code style","format","check","files","style"]