[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M69BC3B665PTKXB0C2EC5AMW":3,"skill-same:01M69BC3B665PTKXB0C2EC5AMW":69},{"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":25,"linkOnly":26,"markdownContent":27,"markdownBody":28,"frontMatter":29,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":34,"repositoryHtmlUrl":35,"repositoryHomepageUrl":36,"ownerHtmlUrl":37,"ownerBlogUrl":38,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M69BC3B665PTKXB0C2EC5AMW","opa-compat-check",null,"Check OPA Rego version compatibility for rego-cpp. Use when: updating OPA version, checking for new OPA releases, auditing rego-cpp compatibility, planning OPA upgrade work, reviewing OPA release notes for rego-cpp impact. Fetches OPA release notes, compares with current rego-cpp support, and produces an actionable compatibility report.","microsoft\u002Frego-cpp","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M69BBSWXJ1R932580DT3PX9Z",49,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopa-compat-check\u002FSKILL.md",[],[19,20,21,22,23,24],"opa","opa compat check","support","notes","release notes","cpp","2026-11-10 10:12:30",false,"---\nname: opa-compat-check\ndescription: 'Check OPA Rego version compatibility for rego-cpp. Use when: updating OPA version, checking for new OPA releases, auditing rego-cpp compatibility, planning OPA upgrade work, reviewing OPA release notes for rego-cpp impact. Fetches OPA release notes, compares with current rego-cpp support, and produces an actionable compatibility report.'\nargument-hint: 'Optional: specific OPA version to check against (e.g. \"1.9.0\"). Omit to check latest.'\n---\n\n# OPA Rego Compatibility Check\n\nDetermine what changes (if any) rego-cpp needs to maintain compatibility with the latest OPA Rego release.\n\n## When to Use\n\n- Checking if a new OPA version has been released since rego-cpp's last update\n- Planning work to upgrade rego-cpp to a newer OPA version\n- Auditing the current compatibility gap between rego-cpp and OPA\n- Reviewing what changed in OPA that affects rego-cpp\n\n## Procedure\n\nFollow these steps in order. Do not skip steps.\n\n### Step 1: Determine Current rego-cpp OPA Version\n\nRead the `REGOCPP_OPA_VERSION` variable from the root `CMakeLists.txt`:\n\n```\ngrep \"REGOCPP_OPA_VERSION\" CMakeLists.txt\n```\n\nThis is the OPA version rego-cpp currently targets. Record it as `CURRENT_VERSION`.\n\nAlso read the `VERSION` file in the repo root to get the rego-cpp library version.\n\n### Step 2: Fetch Latest OPA Release Information\n\nFetch the OPA releases page to find the latest version and release notes:\n\n1. Fetch `https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002Freleases` with query \"latest release version\"\n2. Identify the latest stable release version. Record it as `LATEST_VERSION`.\n3. If the user specified a target version, use that instead of the latest.\n\nIf `LATEST_VERSION` equals `CURRENT_VERSION`, report that rego-cpp is up to date and stop.\n\n### Step 3: Fetch Release Notes for Each Intermediate Version\n\nFor each OPA version between `CURRENT_VERSION` (exclusive) and `LATEST_VERSION` (inclusive):\n\n1. Fetch `https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002Freleases\u002Ftag\u002Fv{VERSION}` with query \"release notes changes new features built-ins deprecations breaking changes Rego language\"\n2. Also fetch `https:\u002F\u002Fwww.openpolicyagent.org\u002Fdocs\u002Flatest\u002Fpolicy-reference\u002F` with query \"built-in functions list\" to get the current built-in function catalog.\n\nCollect all changes across versions.\n\n### Step 4: Categorize Changes by Impact Area\n\nSort every change into the categories below. Refer to [change-surface.md](.\u002Freferences\u002Fchange-surface.md) for details on how each category maps to rego-cpp code.\n\n| Category | What to Look For | rego-cpp Impact |\n|----------|-----------------|-----------------|\n| **New Built-in Functions** | New entries in OPA's built-in function list | Add implementation in `src\u002Fbuiltins\u002F` |\n| **Modified Built-in Semantics** | Changed behavior of existing built-ins | Update existing builtin impl |\n| **Deprecated Built-ins** | Functions marked deprecated | Update `is_deprecated()` in `src\u002Fbuiltins.cc` |\n| **Removed Built-ins** | Functions removed entirely | Remove from builtin registry |\n| **Language Syntax Changes** | New keywords, operators, or grammar rules | Update parser in `src\u002Fparse.cc`, tokens in `include\u002Frego\u002Frego.hh` |\n| **Evaluation Semantics** | Changes to how policies are evaluated | Update compiler passes or VM in `src\u002Fvirtual_machine.cc` |\n| **Bundle Format Changes** | Changes to OPA bundle structure | Update `src\u002Fbundle.cc`, `src\u002Fbundle_json.cc`, `src\u002Fbundle_binary.cc` |\n| **Conformance Test Changes** | New or modified OPA test cases | Automatically picked up when version is bumped |\n| **No rego-cpp Impact** | Go runtime changes, CLI changes, server changes, plugin API changes | Document as not applicable |\n\n### Step 5: Cross-reference with rego-cpp Built-in Coverage\n\nFor any new or modified built-ins, check whether rego-cpp already implements them:\n\n1. Search `src\u002Fbuiltins\u002F` for the function name\n2. Check `src\u002Fbuiltins.cc` lookup dispatch to see if the namespace is routed\n3. Check `src\u002Fbuiltins\u002Fbuiltins.hh` for the namespace factory declaration\n\nMark each new built-in as one of:\n- **Already implemented** — no action needed\n- **Namespace exists, function missing** — add to existing file\n- **New namespace** — new file needed in `src\u002Fbuiltins\u002F`, plus registration\n\nSee [builtin-pattern.md](.\u002Freferences\u002Fbuiltin-pattern.md) for the implementation pattern.\n\n### Step 6: Produce the Compatibility Report\n\nGenerate a structured report with the following sections:\n\n```markdown\n# OPA Rego Compatibility Report\n\n## Version Summary\n- **rego-cpp version**: {from VERSION file}\n- **Current OPA target**: {CURRENT_VERSION}\n- **Latest OPA release**: {LATEST_VERSION}\n- **Versions to bridge**: {list of intermediate versions}\n\n## Required Changes\n\n### New Built-in Functions\nFor each new built-in:\n- Function signature (name, args, return type)\n- Which `src\u002Fbuiltins\u002F` file to modify or create\n- Complexity estimate (trivial\u002Fmoderate\u002Fcomplex)\n\n### Built-in Semantic Changes\nFor each changed built-in:\n- What changed and how\n- Which file to modify\n\n### Deprecations\nFor each deprecated item:\n- Add to `is_deprecated()` list in `src\u002Fbuiltins.cc`\n\n### Language Changes\nFor each syntax\u002Fgrammar change:\n- What changed in the grammar\n- Parser modifications needed\n- New tokens needed in `include\u002Frego\u002Frego.hh`\n- Documentation updates needed in `README.md` grammar section\n\n### Evaluation Changes\nFor each evaluation behavior change:\n- Description of change\n- Affected compiler passes or VM behavior\n\n### Bundle Format Changes\nFor each format change:\n- What changed\n- Files to update\n\n## Version Bump Checklist\n- [ ] Update `REGOCPP_OPA_VERSION` in `CMakeLists.txt`\n- [ ] Update OPA version reference in `README.md`\n- [ ] Sync `README.md` grammar section with OPA grammar\n- [ ] Update OPA version reference and grammar in wrapper docs:\n  - [ ] `wrappers\u002Frust\u002Fregorust\u002FREADME.md` (\"We support v… of Rego\" line; grammar is deferred to the main README)\n  - [ ] `wrappers\u002Fpython\u002FREADME.md` (\"We support v… of Rego\" line; grammar is deferred to the main README)\n  - [ ] `wrappers\u002Fdotnet\u002Fdocs\u002Fintroduction.md` (\"largely compatible with v…\" line)\n- [ ] Implement new built-ins (list each)\n- [ ] Update `is_deprecated()` for newly deprecated built-ins\n- [ ] Apply parser changes (if any)\n- [ ] Apply evaluation changes (if any)\n- [ ] Run OPA conformance tests: `cmake --preset debug-clang-opa && ninja -C build && ctest --test-dir build -R opa`\n- [ ] Update `CHANGELOG` with new version entry\n- [ ] Update `VERSION` file\n\n## No Impact (documented for completeness)\n- List of OPA changes that don't affect rego-cpp\n```\n\n### Step 7: Analyze OPA IR for Complex Features\n\nFor any **language syntax changes** or **new internal built-ins** identified in Step 4, use OPA's plan IR to understand the implementation before coding:\n\n1. **Ensure latest OPA binary** is available:\n   ```bash\n   curl -L -o \u002Ftmp\u002Fopa https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002Freleases\u002Fdownload\u002Fv{LATEST_VERSION}\u002Fopa_linux_amd64_static\n   chmod +x \u002Ftmp\u002Fopa\n   \u002Ftmp\u002Fopa version  # verify it matches LATEST_VERSION\n   ```\n\n2. **Create minimal test policies** in `.copilot\u002Fopa-ir-test\u002F`, one per feature:\n   ```bash\n   mkdir -p .copilot\u002Fopa-ir-test\n   cat > .copilot\u002Fopa-ir-test\u002Fpolicy.rego \u003C\u003C 'EOF'\n   package test\n   p := \u003Cfeature expression using both constants and variables>\n   EOF\n   ```\n\n3. **Build and inspect the IR**:\n   ```bash\n   \u002Ftmp\u002Fopa build --bundle .copilot\u002Fopa-ir-test --target plan -e test\u002Fp -o .copilot\u002Fopa-ir-test\u002Fbundle.tar.gz\n   mkdir -p .copilot\u002Fopa-ir-test\u002Foutput && cd .copilot\u002Fopa-ir-test\u002Foutput\n   tar xzf ..\u002Fbundle.tar.gz && python3 -m json.tool plan.json\n   ```\n\n4. **Look for**:\n   - New entries in `static.builtin_funcs` — these are internal built-ins rego-cpp must implement\n   - The exact calling convention (arg types, arity, return type)\n   - How undefined values are handled (e.g., `BlockStmt` + `Set` wrapping patterns)\n   - Whether OPA's optimizer folds constant cases differently from variable cases (test both)\n\n5. **Record findings** in the compatibility report under the relevant section.\n\nSee [change-surface.md § Analyzing OPA's IR](.\u002Freferences\u002Fchange-surface.md) for detailed examples.\n\n### Step 8: Validate Findings\n\nIf the workspace has a build directory and the OPA test suite available:\n\n1. **Remove the stale OPA clone** before reconfiguring: `rm -rf build\u002Fopa`\n2. **Reconfigure**: `cmake .. --preset debug-clang-opa` (this re-clones at the new version tag)\n3. **Run targeted tests** for specific areas during development:\n   ```bash\n   .\u002Ftests\u002Frego_test -wf opa\u002Fv1\u002Ftest\u002Fcases\u002Ftestdata\u002Fv1\u002F\u003Csubdir>\n   ```\n   Subdirectory names match OPA built-in names without separators (e.g., `regexfind`, `numbersrangestep`, `stringinterpolation`).\n4. **Run the full conformance suite** for final validation:\n   ```bash\n   ctest -R rego_test_opa --output-on-failure\n   ```\n\n## Important Notes\n\n- OPA release notes are at `https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002Freleases`\n- OPA built-in reference is at `https:\u002F\u002Fwww.openpolicyagent.org\u002Fdocs\u002Flatest\u002Fpolicy-reference\u002F`\n- The OPA conformance test suite is cloned from `https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002F` at the tag matching `REGOCPP_OPA_VERSION`\n- rego-cpp only implements the Rego **language** and **built-in functions**. Changes to OPA's Go runtime, REST API, plugin system, or CLI tool do not apply.\n- Some built-ins may be platform-dependent (e.g., time zone functions require `cpp_lib_chrono >= 201907L`). Flag these in the report.\n- `http.send` is a stub in rego-cpp — new HTTP-related functionality is typically marked as a placeholder.\n","# OPA Rego Compatibility Check\n\nDetermine what changes (if any) rego-cpp needs to maintain compatibility with the latest OPA Rego release.\n\n## When to Use\n\n- Checking if a new OPA version has been released since rego-cpp's last update\n- Planning work to upgrade rego-cpp to a newer OPA version\n- Auditing the current compatibility gap between rego-cpp and OPA\n- Reviewing what changed in OPA that affects rego-cpp\n\n## Procedure\n\nFollow these steps in order. Do not skip steps.\n\n### Step 1: Determine Current rego-cpp OPA Version\n\nRead the `REGOCPP_OPA_VERSION` variable from the root `CMakeLists.txt`:\n\n```\ngrep \"REGOCPP_OPA_VERSION\" CMakeLists.txt\n```\n\nThis is the OPA version rego-cpp currently targets. Record it as `CURRENT_VERSION`.\n\nAlso read the `VERSION` file in the repo root to get the rego-cpp library version.\n\n### Step 2: Fetch Latest OPA Release Information\n\nFetch the OPA releases page to find the latest version and release notes:\n\n1. Fetch `https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002Freleases` with query \"latest release version\"\n2. Identify the latest stable release version. Record it as `LATEST_VERSION`.\n3. If the user specified a target version, use that instead of the latest.\n\nIf `LATEST_VERSION` equals `CURRENT_VERSION`, report that rego-cpp is up to date and stop.\n\n### Step 3: Fetch Release Notes for Each Intermediate Version\n\nFor each OPA version between `CURRENT_VERSION` (exclusive) and `LATEST_VERSION` (inclusive):\n\n1. Fetch `https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002Freleases\u002Ftag\u002Fv{VERSION}` with query \"release notes changes new features built-ins deprecations breaking changes Rego language\"\n2. Also fetch `https:\u002F\u002Fwww.openpolicyagent.org\u002Fdocs\u002Flatest\u002Fpolicy-reference\u002F` with query \"built-in functions list\" to get the current built-in function catalog.\n\nCollect all changes across versions.\n\n### Step 4: Categorize Changes by Impact Area\n\nSort every change into the categories below. Refer to [change-surface.md](.\u002Freferences\u002Fchange-surface.md) for details on how each category maps to rego-cpp code.\n\n| Category | What to Look For | rego-cpp Impact |\n|----------|-----------------|-----------------|\n| **New Built-in Functions** | New entries in OPA's built-in function list | Add implementation in `src\u002Fbuiltins\u002F` |\n| **Modified Built-in Semantics** | Changed behavior of existing built-ins | Update existing builtin impl |\n| **Deprecated Built-ins** | Functions marked deprecated | Update `is_deprecated()` in `src\u002Fbuiltins.cc` |\n| **Removed Built-ins** | Functions removed entirely | Remove from builtin registry |\n| **Language Syntax Changes** | New keywords, operators, or grammar rules | Update parser in `src\u002Fparse.cc`, tokens in `include\u002Frego\u002Frego.hh` |\n| **Evaluation Semantics** | Changes to how policies are evaluated | Update compiler passes or VM in `src\u002Fvirtual_machine.cc` |\n| **Bundle Format Changes** | Changes to OPA bundle structure | Update `src\u002Fbundle.cc`, `src\u002Fbundle_json.cc`, `src\u002Fbundle_binary.cc` |\n| **Conformance Test Changes** | New or modified OPA test cases | Automatically picked up when version is bumped |\n| **No rego-cpp Impact** | Go runtime changes, CLI changes, server changes, plugin API changes | Document as not applicable |\n\n### Step 5: Cross-reference with rego-cpp Built-in Coverage\n\nFor any new or modified built-ins, check whether rego-cpp already implements them:\n\n1. Search `src\u002Fbuiltins\u002F` for the function name\n2. Check `src\u002Fbuiltins.cc` lookup dispatch to see if the namespace is routed\n3. Check `src\u002Fbuiltins\u002Fbuiltins.hh` for the namespace factory declaration\n\nMark each new built-in as one of:\n- **Already implemented** — no action needed\n- **Namespace exists, function missing** — add to existing file\n- **New namespace** — new file needed in `src\u002Fbuiltins\u002F`, plus registration\n\nSee [builtin-pattern.md](.\u002Freferences\u002Fbuiltin-pattern.md) for the implementation pattern.\n\n### Step 6: Produce the Compatibility Report\n\nGenerate a structured report with the following sections:\n\n```markdown\n# OPA Rego Compatibility Report\n\n## Version Summary\n- **rego-cpp version**: {from VERSION file}\n- **Current OPA target**: {CURRENT_VERSION}\n- **Latest OPA release**: {LATEST_VERSION}\n- **Versions to bridge**: {list of intermediate versions}\n\n## Required Changes\n\n### New Built-in Functions\nFor each new built-in:\n- Function signature (name, args, return type)\n- Which `src\u002Fbuiltins\u002F` file to modify or create\n- Complexity estimate (trivial\u002Fmoderate\u002Fcomplex)\n\n### Built-in Semantic Changes\nFor each changed built-in:\n- What changed and how\n- Which file to modify\n\n### Deprecations\nFor each deprecated item:\n- Add to `is_deprecated()` list in `src\u002Fbuiltins.cc`\n\n### Language Changes\nFor each syntax\u002Fgrammar change:\n- What changed in the grammar\n- Parser modifications needed\n- New tokens needed in `include\u002Frego\u002Frego.hh`\n- Documentation updates needed in `README.md` grammar section\n\n### Evaluation Changes\nFor each evaluation behavior change:\n- Description of change\n- Affected compiler passes or VM behavior\n\n### Bundle Format Changes\nFor each format change:\n- What changed\n- Files to update\n\n## Version Bump Checklist\n- [ ] Update `REGOCPP_OPA_VERSION` in `CMakeLists.txt`\n- [ ] Update OPA version reference in `README.md`\n- [ ] Sync `README.md` grammar section with OPA grammar\n- [ ] Update OPA version reference and grammar in wrapper docs:\n  - [ ] `wrappers\u002Frust\u002Fregorust\u002FREADME.md` (\"We support v… of Rego\" line; grammar is deferred to the main README)\n  - [ ] `wrappers\u002Fpython\u002FREADME.md` (\"We support v… of Rego\" line; grammar is deferred to the main README)\n  - [ ] `wrappers\u002Fdotnet\u002Fdocs\u002Fintroduction.md` (\"largely compatible with v…\" line)\n- [ ] Implement new built-ins (list each)\n- [ ] Update `is_deprecated()` for newly deprecated built-ins\n- [ ] Apply parser changes (if any)\n- [ ] Apply evaluation changes (if any)\n- [ ] Run OPA conformance tests: `cmake --preset debug-clang-opa && ninja -C build && ctest --test-dir build -R opa`\n- [ ] Update `CHANGELOG` with new version entry\n- [ ] Update `VERSION` file\n\n## No Impact (documented for completeness)\n- List of OPA changes that don't affect rego-cpp\n```\n\n### Step 7: Analyze OPA IR for Complex Features\n\nFor any **language syntax changes** or **new internal built-ins** identified in Step 4, use OPA's plan IR to understand the implementation before coding:\n\n1. **Ensure latest OPA binary** is available:\n   ```bash\n   curl -L -o \u002Ftmp\u002Fopa https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002Freleases\u002Fdownload\u002Fv{LATEST_VERSION}\u002Fopa_linux_amd64_static\n   chmod +x \u002Ftmp\u002Fopa\n   \u002Ftmp\u002Fopa version  # verify it matches LATEST_VERSION\n   ```\n\n2. **Create minimal test policies** in `.copilot\u002Fopa-ir-test\u002F`, one per feature:\n   ```bash\n   mkdir -p .copilot\u002Fopa-ir-test\n   cat > .copilot\u002Fopa-ir-test\u002Fpolicy.rego \u003C\u003C 'EOF'\n   package test\n   p := \u003Cfeature expression using both constants and variables>\n   EOF\n   ```\n\n3. **Build and inspect the IR**:\n   ```bash\n   \u002Ftmp\u002Fopa build --bundle .copilot\u002Fopa-ir-test --target plan -e test\u002Fp -o .copilot\u002Fopa-ir-test\u002Fbundle.tar.gz\n   mkdir -p .copilot\u002Fopa-ir-test\u002Foutput && cd .copilot\u002Fopa-ir-test\u002Foutput\n   tar xzf ..\u002Fbundle.tar.gz && python3 -m json.tool plan.json\n   ```\n\n4. **Look for**:\n   - New entries in `static.builtin_funcs` — these are internal built-ins rego-cpp must implement\n   - The exact calling convention (arg types, arity, return type)\n   - How undefined values are handled (e.g., `BlockStmt` + `Set` wrapping patterns)\n   - Whether OPA's optimizer folds constant cases differently from variable cases (test both)\n\n5. **Record findings** in the compatibility report under the relevant section.\n\nSee [change-surface.md § Analyzing OPA's IR](.\u002Freferences\u002Fchange-surface.md) for detailed examples.\n\n### Step 8: Validate Findings\n\nIf the workspace has a build directory and the OPA test suite available:\n\n1. **Remove the stale OPA clone** before reconfiguring: `rm -rf build\u002Fopa`\n2. **Reconfigure**: `cmake .. --preset debug-clang-opa` (this re-clones at the new version tag)\n3. **Run targeted tests** for specific areas during development:\n   ```bash\n   .\u002Ftests\u002Frego_test -wf opa\u002Fv1\u002Ftest\u002Fcases\u002Ftestdata\u002Fv1\u002F\u003Csubdir>\n   ```\n   Subdirectory names match OPA built-in names without separators (e.g., `regexfind`, `numbersrangestep`, `stringinterpolation`).\n4. **Run the full conformance suite** for final validation:\n   ```bash\n   ctest -R rego_test_opa --output-on-failure\n   ```\n\n## Important Notes\n\n- OPA release notes are at `https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002Freleases`\n- OPA built-in reference is at `https:\u002F\u002Fwww.openpolicyagent.org\u002Fdocs\u002Flatest\u002Fpolicy-reference\u002F`\n- The OPA conformance test suite is cloned from `https:\u002F\u002Fgithub.com\u002Fopen-policy-agent\u002Fopa\u002F` at the tag matching `REGOCPP_OPA_VERSION`\n- rego-cpp only implements the Rego **language** and **built-in functions**. Changes to OPA's Go runtime, REST API, plugin system, or CLI tool do not apply.\n- Some built-ins may be platform-dependent (e.g., time zone functions require `cpp_lib_chrono >= 201907L`). Flag these in the report.\n- `http.send` is a stub in rego-cpp — new HTTP-related functionality is typically marked as a placeholder.\n",{"name":5,"description":7,"argument-hint":30},"Optional: specific OPA version to check against (e.g. \"1.9.0\"). Omit to check latest.","main","f424aab83f0181a770940c25ab030619cde99616",".github\u002Fskills\u002Fopa-compat-check",19,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp","https:\u002F\u002Fmicrosoft.github.io\u002Frego-cpp\u002F","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-10-16 11:55:01",{"source":8,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add microsoft\u002Frego-cpp --skill opa-compat-check",{"tool":47,"command":48},"bunx","bunx skills add microsoft\u002Frego-cpp --skill opa-compat-check",{"tool":50,"command":51},"pnpm","pnpm dlx skills add microsoft\u002Frego-cpp --skill opa-compat-check","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopa-compat-check\u002FSKILL.md",true,[55,61,65],{"path":56,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":59,"sourceHtmlUrl":60},"references\u002Fbuiltin-pattern.md","REFERENCE","参考文档",5773,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopa-compat-check\u002Freferences\u002Fbuiltin-pattern.md",{"path":62,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Fchange-surface.md",7157,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopa-compat-check\u002Freferences\u002Fchange-surface.md",{"path":66,"resourceType":57,"resourceTypeDesc":58,"sizeBytes":67,"sourceHtmlUrl":68},"reports\u002F2026-03-22-v1.14.1.md",4965,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopa-compat-check\u002Freports\u002F2026-03-22-v1.14.1.md",[70,80,98,110,130,142],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":25},"01M69BCB9YED816F7ZZJBMKBB9","trieste-dev","Plan and implement Trieste-based compiler passes and AST transformations for rego-cpp. Use when: adding new compiler passes, modifying AST structure, implementing new Rego language features, debugging pass failures, working with well-formedness definitions, or performing any multi-step implementation that touches the Trieste pass pipeline. Includes the multi-planner approach for complex features.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ftrieste-dev\u002FSKILL.md",[],[77,78,24,79],"trieste dev","debugging","implement",{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":91,"publishedAt":25},"01M69BC8MGSYVC8R7722K5G0BN","regocpp-builtins","Add, update, or remove OPA Rego built-in functions in rego-cpp. Use when: implementing a new builtin, replacing a placeholder with a real implementation, adding a new OPA builtin namespace, updating builtin declarations to match a new OPA version, removing deprecated builtins, or debugging builtin dispatch\u002Fregistration. Covers the full lifecycle: declaration, implementation, dispatch registration, CMake wiring, and OPA conformance testing.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fregocpp-builtins\u002FSKILL.md",[86],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[92,19,93,94,78,24,95,96,97],"regocpp builtins","update","conformance testing","cmake","placeholder","testing",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":105,"publishedAt":25},"01M69BC603T40X4P9M21KQ4AQV","rego-fuzzer","Pass the rego-cpp Trieste fuzzer for a given pass collection. Use when: verifying that compiler passes are robust to all valid WF inputs, debugging fuzzer failures, fixing generative testing regressions, or validating pass changes against random inputs. The fuzzer generates random ASTs from the Trieste well-formedness chain and checks that each pass handles all structurally valid inputs without crashing or producing malformed output.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Frego-fuzzer\u002FSKILL.md",[104],{"categoryNo":87,"categoryName":88,"taxonomyType":89,"taxonomyTypeDesc":90},[106,107,78,108,24,109,97],"rego fuzzer","fuzzer","run","valid",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":124,"publishedAt":25},"01M69BC13CH5R7DWNJW5HGDAHY","multi-perspective-planning","Run a multi-perspective planning process for non-trivial design decisions. Use when: the shape of a solution is uncertain, planning new language features, new passes, API changes, AST restructuring, or cross-cutting concerns. Spawns four competing sub-planners, synthesises with rebuttal resolution, and stress-tests via adversarial review. Supports checkpointing so planning can be restarted at any step.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fmulti-perspective-planning\u002FSKILL.md",[116,119],{"categoryNo":117,"categoryName":118,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":120,"categoryName":121,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[125,108,126,127,128,129],"multi perspective planning","adversarial review","api changes","review","design",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":25},"01M69BBYNK9HWTBDB91DTBMX98","finalize-pr","Finalize a rego-cpp PR for release. Use when: wrapping up a branch, preparing a release, cutting a version, or when instructed to finalize a PR. Confirms review\u002Fremediation is done, determines branch changes, bumps the version across the library and all wrappers, writes a CHANGELOG entry, updates documentation, runs the editor lens over new comments, and runs format\u002Fbuild\u002Ftest gates to give CI the best chance of passing.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ffinalize-pr\u002FSKILL.md",[],[137,138,139,24,128,140,141],"finalize pr","pr","test","documentation","editor",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":154,"publishedAt":25},"01M69BBW6P4PMXJ97KWF86MGA1","code-review","Perform a multi-perspective code review of rego-cpp changes. Use when: reviewing a release, auditing a branch diff, evaluating a PR, or performing a pre-merge code review. Launches four parallel constructive review subagents (Security, Performance, Usability, Conservative), synthesises findings, then runs a sequential adversarial gap-analysis pass. Verifies key findings, produces a unified report with severity-ranked findings and actionable remediation recommendations.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frego-cpp\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fcode-review\u002FSKILL.md",[148,151],{"categoryNo":149,"categoryName":150,"taxonomyType":89,"taxonomyTypeDesc":90},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":152,"categoryName":153,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000030","开发工程师",[128,155,156,157,158,138,24],"code review","security","performance","merge"]