Agent skill

Examinex Compat

by Shazwazza in Shazwazza/Examine

Validate Examine v4 backward compatibility with ExamineX by cloning the ExamineX.Source repo (support/9.x branch), swapping Examine NuGet package references to local project references, and…

MITAuto-check passedDevelopment

Install Examinex Compat

skills CLI
$ npx skills add Shazwazza/Examine --skill examinex-compat -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Shazwazza/Examine examinex-compat --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Shazwazza/Examine.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/examinex-compat .claude/skills/examinex-compat && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
examinex-compat
GitHub stars
412
Token cost
~2.6k tokens
SKILL.md length
777 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

Validate Examine v4 backward compatibility with ExamineX by cloning the ExamineX.Source repo (support/9.x branch), swapping Examine NuGet package references to local project references, and…

  • Works in 7 steps: Ensure TEMP Is Git-Ignored → Clone ExamineX.Source (If Needed) → Modify Directory.Packages.props → …
  • Checking API compatibility
  • SKILL.md covers When to Use This Skill, Prerequisites, Important Rules and Repository Structure, plus 4 more sections
  • Calls git and dotnet; reaches github.com

What it does

Examinex Compat is an agent skill from Shazwazza/Examine. Validate Examine v4 backward compatibility with ExamineX by cloning the ExamineX.Source repo (support/9.x branch), swapping Examine NuGet package references to local project references, and verifying the build passes. Use when checking API compatibility, verifying breaking changes, or validating that Examine v4 works with ExamineX. Intended for the examine-compat-validator custom agent.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires git and dotnet SDK 10.0+. Requires network access to clone https://github.com/SDKits/ExamineX.Source.git

It sits in Development. It works with Git. The repository describes itself as: A .NET indexing and search engine powered by Lucene.Net. The licence is MIT.

When your agent uses it

  • Checking API compatibility
  • Verifying breaking changes
  • Validating that Examine v4 works with ExamineX

Example prompts

  • “/examinex-compat”

Requirements

  • Compatibility (from SKILL.md): Requires git and dotnet SDK 10.0+. Requires network access to clone https://github.com/SDKits/ExamineX.Source.git

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Ensure TEMP Is Git-Ignored
  2. Clone ExamineX.Source (If Needed)
  3. Modify Directory.Packages.props
  4. Swap Package References to Project References
  5. Restore and Build
  6. Run Tests
  7. Report Results

What it can do on your machine

Read from SKILL.md and the folder at commit 2500d3c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • dotnet

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires git and dotnet SDK 10.0+. Requires network access to clone https://github.com/SDKits/ExamineX.Source.git

    From compatibility in the SKILL.md frontmatter.

Context cost

Examinex Compat loads about 2.6k tokens when it runs. Until then it costs about 101 tokens; SKILL.md has 777 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~101
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Shazwazza/Examine at commit 2500d3c, republished under its MIT licence (© Shazwazza). 777 words, ~2,574 tokens.

Download SKILL.mdSave it as .claude/skills/examinex-compat/SKILL.md (or your agent's skills folder).
name
examinex-compat
description
Validate Examine v4 backward compatibility with ExamineX by cloning the ExamineX.Source repo (support/9.x branch), swapping Examine NuGet package references to local project references, and verifying the build passes. Use when checking API compatibility, verifying breaking changes, or validating that Examine v4 works with ExamineX. Intended for the examine-compat-validator custom agent.
compatibility
Requires git and dotnet SDK 10.0+. Requires network access to clone https://github.com/SDKits/ExamineX.Source.git
metadata.author
Examine
metadata.version
1.0

ExamineX Compatibility Validator

Validates that the current Examine v4 codebase is backward compatible with ExamineX by replacing ExamineX's NuGet package references for Examine with project references pointing to this workspace, then building the ExamineX solution.

When to Use This Skill

  • After making changes to Examine public APIs
  • Before releasing a new version of Examine
  • When verifying that Examine v4 does not introduce breaking changes for ExamineX
  • When the user asks to "check ExamineX compatibility", "validate ExamineX compat", or "test against ExamineX"

Prerequisites

  • git CLI available on PATH
  • dotnet SDK 10.0+ installed (ExamineX targets net10.0)
  • Network access to clone from GitHub (the SDKits/ExamineX.Source repo must be accessible with the current git credentials)

Important Rules

  • The TEMP folder at the workspace root is disposable and must NEVER be committed to the Examine repository.
  • Ensure TEMP/ is listed in the root .gitignore before proceeding.
  • If TEMP/ExamineX.Source already exists, skip the clone step and use the existing clone (run git pull to update).
  • Always use the support/9.x branch.
  • Always build in Debug configuration — ExamineX runs obfuscation in Release which is unnecessary for compat testing.

Repository Structure

The ExamineX.Source repository (support/9.x branch) has the following relevant layout:

ExamineX.Source/
├── src/
│   ├── ExamineX.sln                              ← Main solution file
│   ├── Directory.Packages.props                   ← Central Package Management (has Examine entries)
│   ├── Directory.Build.props                      ← Global properties (TFM: net10.0)
│   ├── global.json                                ← Requires SDK 10.0.100+
│   ├── ExamineX.Shared/                           ← Shared library (references Examine.Lucene)
│   ├── ExamineX.AzureSearch/                      ← Azure Search provider (references Examine.Lucene)
│   ├── ExamineX.ElasticSearch/                    ← Elastic Search provider (references Examine.Lucene)
│   ├── ExamineX.Solr/                             ← Solr provider (references Examine.Lucene)
│   ├── ExamineX.AzureSearch.Umbraco/              ← Azure + Umbraco integration
│   ├── ExamineX.ElasticSearch.Umbraco/            ← Elastic + Umbraco integration
│   ├── ExamineX.Shared.Umbraco/                   ← Shared Umbraco integration
│   ├── ExamineX.Common.Tests/                     ← Shared test utilities (references Examine)
│   ├── ExamineX.AzureSearch.Tests/                ← Azure Search tests (references Examine)
│   ├── ExamineX.ElasticSearch.Tests/              ← Elastic Search tests (references Examine)
│   ├── ExamineX.Solr.Tests/                       ← Solr tests
│   ├── ExamineX.AzureSearch.Umbraco.BlobMedia/    ← Blob media integration
│   ├── ExamineX.AzureSearch.Umbraco.ContentDelivery/ ← Content delivery integration
│   ├── ExamineX.AzureSearch.Umbraco.Forms/        ← Azure + Umbraco Forms
│   ├── ExamineX.AzureSearch.Umbraco.PDF/          ← Azure + Umbraco PDF
│   ├── ExamineX.ElasticSearch.Umbraco.Forms/      ← Elastic + Umbraco Forms
│   ├── ExamineX.AzureSearch.Umbraco.WebTest/      ← Web test app (legacy)
│   ├── ExamineX.AzureSearch.Umbraco.WebTest2/     ← Web test app (v13+)
│   └── ExamineX.Umbraco.WebTest/                  ← Combined web test app

Package-to-Project Mapping

ExamineX uses Central Package Management (Directory.Packages.props). The following NuGet packages must be swapped to project references:

NuGet PackageExamineX Project(s) That Reference ItExamine Project Reference
Examine.Lucene (v3.7.1)ExamineX.Shared, ExamineX.AzureSearch, ExamineX.ElasticSearch, ExamineX.Solrsrc/Examine.Lucene/Examine.Lucene.csproj
Examine (v3.7.1)ExamineX.Common.Tests, ExamineX.ElasticSearch.Tests, ExamineX.AzureSearch.Testssrc/Examine.Host/Examine.csproj

Note: The Examine meta-package transitively includes Examine.Core and Examine.Lucene. The test projects reference it for full Examine API access.

Step-by-Step Workflow

Step 1: Ensure TEMP Is Git-Ignored

Check that the workspace root .gitignore contains a TEMP/ entry. If not, add it:

TEMP/
Step 2: Clone ExamineX.Source (If Needed)

If TEMP/ExamineX.Source does not exist:

bash
git clone --branch support/9.x https://github.com/SDKits/ExamineX.Source.git TEMP/ExamineX.Source

If it already exists, ensure it is on the correct branch and up to date:

bash
cd TEMP/ExamineX.Source && git checkout support/9.x && git pull && cd ../..
Step 3: Modify Directory.Packages.props

In TEMP/ExamineX.Source/src/Directory.Packages.props, remove or comment out the Examine package version entries:

xml
<!-- Remove or comment out these lines: -->
<PackageVersion Include="Examine" Version="3.7.1" />
<PackageVersion Include="Examine.Lucene" Version="3.7.1" />
Step 4: Swap Package References to Project References

All ExamineX projects live under TEMP/ExamineX.Source/src/<ProjectName>/, which is 4 directories deep from the Examine workspace root. The relative path prefix is ..\..\..\..\src\.

4a. Projects referencing Examine.Lucene (4 projects)

In each of these files, replace:

xml
<PackageReference Include="Examine.Lucene" />

With:

xml
<ProjectReference Include="..\..\..\..\src\Examine.Lucene\Examine.Lucene.csproj" />

Files to update:

  • TEMP/ExamineX.Source/src/ExamineX.Shared/ExamineX.Shared.csproj
  • TEMP/ExamineX.Source/src/ExamineX.AzureSearch/ExamineX.AzureSearch.csproj
  • TEMP/ExamineX.Source/src/ExamineX.ElasticSearch/ExamineX.ElasticSearch.csproj
  • TEMP/ExamineX.Source/src/ExamineX.Solr/ExamineX.Solr.csproj
4b. Projects referencing Examine (3 test projects)

In each of these files, replace:

xml
<PackageReference Include="Examine" />

With:

xml
<ProjectReference Include="..\..\..\..\src\Examine.Host\Examine.csproj" />

Files to update:

  • TEMP/ExamineX.Source/src/ExamineX.Common.Tests/ExamineX.Common.Tests.csproj
  • TEMP/ExamineX.Source/src/ExamineX.ElasticSearch.Tests/ExamineX.ElasticSearch.Tests.csproj
  • TEMP/ExamineX.Source/src/ExamineX.AzureSearch.Tests/ExamineX.AzureSearch.Tests.csproj
Step 5: Restore and Build

From the workspace root, build the ExamineX solution in Debug configuration:

bash
cd TEMP/ExamineX.Source/src
dotnet restore ExamineX.sln
dotnet build ExamineX.sln --no-restore --configuration Debug

Expected outcome: Build succeeds with zero errors. Warnings are acceptable.

If the build fails, analyze the error output:

  • Missing type/member errors indicate a breaking API change in Examine that must be addressed.
  • Nullable annotation warnings promoted to errors (CS8600, CS8601, CS8602, CS8604, CS8620, CS8765) may be caused by Examine v4 tightening NRT annotations. These can be suppressed in the affected .csproj files with <NoWarn> for compat testing purposes, while still detecting real API shape changes.
  • Target framework mismatches may require aligning TFMs between Examine and ExamineX (ExamineX targets net10.0).
  • Transitive dependency conflicts may require version alignment in Directory.Packages.props.
Show full SKILL.md (278 more words)Show less
Step 6: Run Tests

Run the Azure Search tests (these are designed to run locally):

bash
cd TEMP/ExamineX.Source/src
dotnet test ExamineX.AzureSearch.Tests --no-build --configuration Debug

Expected outcome: All tests pass. Any test failures related to Examine APIs indicate compatibility issues.

Note: The Elasticsearch and Solr test projects may require external service infrastructure. If they fail due to connection issues (not Examine API issues), those failures can be ignored — focus on the Azure Search tests and overall build success.

Step 7: Report Results

Summarize the outcome:

  1. Build status: Pass / Fail (with error details)
  2. Test status: Pass / Fail / Skipped (with failure details if applicable)
  3. Breaking changes found: List any Examine API changes that caused build failures
  4. Recommended fixes: For each breaking change, suggest whether to fix in Examine (restore API) or note as an intentional breaking change

Troubleshooting

IssueSolution
Clone fails (403 Forbidden)The SDKits org has OAuth restrictions — ensure your git credentials have access to SDKits/ExamineX.Source
Clone fails (branch not found)Verify the support/9.x branch exists: git ls-remote --heads https://github.com/SDKits/ExamineX.Source.git
SDK version errorExamineX requires .NET SDK 10.0.100+. Check TEMP/ExamineX.Source/src/global.json
Build fails with TFM errorsExamineX targets net10.0. Ensure Examine supports this TFM or add it
NuGet restore fails after swapEnsure the Examine and Examine.Lucene PackageVersion entries were fully removed from Directory.Packages.props
Relative paths are wrongVerify workspace structure: Examine repo root must contain both TEMP/ExamineX.Source/ and src/
Obfuscation errorsEnsure you are building with --configuration Debug (obfuscation only runs in Release)
Nullable warnings treated as errorsAdd <NoWarn>$(NoWarn);CS8600;CS8601;CS8602;CS8604;CS8620;CS8765</NoWarn> to affected project PropertyGroups
Elasticsearch/Solr tests fail with connection errorsThese test projects may need external services — focus on Azure Search tests and build success

Cleanup

The TEMP folder is disposable. To clean up:

bash
Remove-Item -Recurse -Force TEMP/ExamineX.Source

© Shazwazza, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/examinex-compat of Shazwazza/Examine.

Open the folder on GitHubat commit 2500d3c

Compare with similar skills

Examinex Compat next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Examinex Compat compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Examinex Compat this skillShazwazza/Examine412—~2.6kAutomated safety check: PassMIT
Finishing a Development Branchobra/superpowers297k5 repos~1.9kAutomated safety check: PassMIT
Code Review ChecklistshareAI-lab/learn-claude-code78k4 repos~1.1kAutomated safety check: PassMIT
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT
Finishing A Development Branchfarm-fe/farm5.6k35 repos~1.8kAutomated safety check: PassMIT
Migrate Internal Package into GhostTryGhost/Ghost56k—~3.8kAutomated safety check: PassMIT

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    297k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 4 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • A skill your agent uses when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for…

    5.6k GitHub starsUsed in 35 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Moves a package from another TryGhost repository into Ghost as an internal workspace package while keeping its Git history, with checkpoints for the steps that need an administrator.

    56k GitHub stars~3.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Doc Sync

    JetBrains/ideavim

    Official

    Keeps IdeaVim documentation in sync with code changes. An agent skill from JetBrains/ideavim.

    10k GitHub starsUsed in 2 repos~2.6k tokens
    DevelopmentAuto-check passed

More from Shazwazza/Examine

  • Public API Management

    Shazwazza/Examine

    Manage Examine public API tracking using the PublicAPI Roslyn analyzer workflow.

    412 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Umbraco Compat

    Shazwazza/Examine

    Validate Examine v4 backward compatibility with Umbraco CMS by cloning the Umbraco-CMS repo, swapping NuGet package references to local project references, and verifying the build and tests pass.

    412 GitHub stars~1.4k tokensUpdated 3 days ago
    Auto-check passed
  • Umbraco Search Compat

    Shazwazza/Examine

    Validate Examine v4 backward compatibility with Umbraco.Cms.Search by cloning the Umbraco.Cms.Search repo, swapping the Examine NuGet package reference to a local project reference, and verifying…

    412 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed

Works with

Categories

Questions about Examinex Compat

What does Examinex Compat do?

Validate Examine v4 backward compatibility with ExamineX by cloning the ExamineX.Source repo (support/9.x branch), swapping Examine NuGet package references to local project references, and…. Examinex Compat is an agent skill from Shazwazza/Examine.x branch), swapping Examine NuGet package references to local project references, and verifying the build passes.

When should I use Examinex Compat?

Examinex Compat fits situations like: checking API compatibility; verifying breaking changes; validating that Examine v4 works with ExamineX.

How do I install Examinex Compat in Claude Code?

Run `npx skills add Shazwazza/Examine --skill examinex-compat -a claude-code`. Or copy the skill folder (.github/skills/examinex-compat in Shazwazza/Examine) into .claude/skills/examinex-compat in your project. Claude Code loads it when a task matches its description.

How do I install Examinex Compat in Codex?

Run `npx skills add Shazwazza/Examine --skill examinex-compat -a codex`. Or copy the skill folder (.github/skills/examinex-compat in Shazwazza/Examine) into .agents/skills/examinex-compat in your project. Codex loads it when a task matches its description.

Can I use Examinex Compat in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Shazwazza/Examine --skill examinex-compat -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/examinex-compat, .gemini/skills/examinex-compat, .github/skills/examinex-compat and .opencode/skills/examinex-compat in your project.

What does Examinex Compat need to run?

Going by SKILL.md and its folder, Examinex Compat needs the command-line tools its instructions call (git and dotnet). Compatibility (from SKILL.md): Requires git and dotnet SDK 10.0+. Requires network access to clone https://github.com/SDKits/ExamineX.Source.git.

Does Examinex Compat access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Examinex Compat safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Examinex Compat use?

Examinex Compat is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Examinex Compat use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Examinex Compat?

Skills that share tags, products or a category with Examinex Compat: Finishing a Development Branch (obra/superpowers, 297k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Finishing A Development Branch (farm-fe/farm, 5.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Examinex Compat?

Shazwazza (a GitHub user) maintains it in Shazwazza/Examine, which has 412 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 2026.

Source: Shazwazza/Examine on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.