Agent skill

Public API Management

by Shazwazza in Shazwazza/Examine

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

MITAuto-check passed

Install Public API Management

skills CLI
$ npx skills add Shazwazza/Examine --skill public-api-management -a claude-code

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

GitHub CLI
$ gh skill install Shazwazza/Examine public-api-management --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/public-api-management .claude/skills/public-api-management && 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
public-api-management
GitHub stars
412
Token cost
~1.9k tokens
SKILL.md length
776 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

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

  • Works in 2 steps: Get-PublicApiReport.ps1 — Generate a… → Merge-PublicApiFiles.ps1 — Merge…
  • The user wants to review API changes
  • SKILL.md covers When to Use This Skill, Background: How PublicAPI…, Available Scripts and Typical Release Workflow, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Public API Management is an agent skill from Shazwazza/Examine. Manage Examine public API tracking using the PublicAPI Roslyn analyzer workflow. Generate change reports (Get-PublicApiReport.ps1) and merge unshipped APIs into shipped after a release (Merge-PublicApiFiles.ps1). Use when the user wants to review API changes, generate a compatibility report, prepare for a release, or merge unshipped APIs into shipped.

Its SKILL.md is about 1.9k 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 PowerShell and dotnet SDK. Must be run from the Examine workspace root.

The repository describes itself as: A .NET indexing and search engine powered by Lucene.Net. The licence is MIT.

When your agent uses it

  • The user wants to review API changes
  • Generate a compatibility report
  • Prepare for a release
  • Merge unshipped APIs into shipped

Example prompts

  • “/public-api-management”

Requirements

  • Compatibility (from SKILL.md): Requires PowerShell and dotnet SDK. Must be run from the Examine workspace root.

Workflow steps

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

  1. Get-PublicApiReport.ps1 — Generate a Change Report
  2. Merge-PublicApiFiles.ps1 — Merge Unshipped → Shipped

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

    No scripts in the folder and no shell commands in SKILL.md (its code samples are powershell).

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

  • Network

    No URLs in SKILL.md.

    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 PowerShell and dotnet SDK. Must be run from the Examine workspace root.

    From compatibility in the SKILL.md frontmatter.

Context cost

Public API Management loads about 1.9k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 776 words of instructions outside code blocks.

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

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). 776 words, ~1,891 tokens.

Download SKILL.mdSave it as .claude/skills/public-api-management/SKILL.md (or your agent's skills folder).
name
public-api-management
description
Manage Examine public API tracking using the PublicAPI Roslyn analyzer workflow. Generate change reports (Get-PublicApiReport.ps1) and merge unshipped APIs into shipped after a release (Merge-PublicApiFiles.ps1). Use when the user wants to review API changes, generate a compatibility report, prepare for a release, or merge unshipped APIs into shipped.
compatibility
Requires PowerShell and dotnet SDK. Must be run from the Examine workspace root.
metadata.author
Examine
metadata.version
1.0

Public API Management Skill

Manages the Examine public API tracking workflow powered by the Roslyn RS0016/RS0017 analyzers and two companion PowerShell scripts.

When to Use This Skill

  • User asks to "generate an API report", "show API changes", "what APIs changed", or "review public API"
  • User asks to "merge unshipped APIs", "ship the APIs", "finalize APIs for release", or "move unshipped to shipped"
  • User asks "how do I use the PublicAPI scripts?" or "how does API tracking work?"
  • Before a release, to audit and document all API surface changes
  • After a release, to promote unshipped entries into shipped

Background: How PublicAPI Tracking Works

Examine uses the Roslyn PublicAPI analyzers (Microsoft.CodeAnalysis.PublicApiAnalyzers). Each project that participates contains two files:

FilePurpose
PublicAPI.Shipped.txtAPIs that have been released in a prior version. Do not edit by hand — use the merge script.
PublicAPI.Unshipped.txtAPIs that are new or removed since the last release. The build populates these via RS0016 (missing entry) and RS0017 (removed entry) analyzer warnings.
Entry format
#nullable enable
Examine.SomeType
Examine.SomeType.SomeMethod(string! arg) -> void
*REMOVED*Examine.SomeType.OldMethod() -> void
  • Lines without *REMOVED* are additions (new public API surface).
  • Lines starting with *REMOVED* are removals (breaking changes).
  • #nullable enable is a directive, not an API entry — both scripts ignore it.

Available Scripts

Both scripts live under build/ at the workspace root.

1. Get-PublicApiReport.ps1 — Generate a Change Report

Scans all PublicAPI.Shipped.txt and PublicAPI.Unshipped.txt files under src/, then produces a markdown report documenting every addition and removal, grouped by project and API kind.

Usage
powershell
# From the workspace root (default paths)
.\build\Get-PublicApiReport.ps1

# Custom output location
.\build\Get-PublicApiReport.ps1 -OutputPath "C:\Reports\api-changes.md"

# Custom source path
.\build\Get-PublicApiReport.ps1 -SourcePath "D:\Other\src"
Parameters
ParameterDefaultDescription
-SourcePath<script dir>\..\srcRoot directory to search for PublicAPI files
-OutputPath<script dir>\..\PublicAPI-Changes.mdWhere to write the markdown report
Output
  • Writes a markdown file (default: PublicAPI-Changes.md at workspace root) containing:
    • Summary counts (safe additions, breaking additions, removed APIs)
    • Per-project tables broken down by API kind (Type, Constructor, Property, Abstract, etc.)
    • Detailed lists of:
      • Removed APIs (breaking — *REMOVED* entries)
      • Breaking Additions (abstract or interface members added to existing types — forces derived classes / implementors to update)
      • Added APIs (non-breaking — safe additions)
    • Next-steps checklist for release preparation
When to Run
  • Before a release — to document and review all pending API changes.
  • During development — to get a quick snapshot of the current API delta.
  • During code review — to assess whether a PR introduces breaking changes.

2. Merge-PublicApiFiles.ps1 — Merge Unshipped → Shipped

After a release, this script moves all entries from PublicAPI.Unshipped.txt into PublicAPI.Shipped.txt (sorted, deduplicated), then clears the unshipped file.

Usage
powershell
# From the workspace root (default paths)
.\build\Merge-PublicApiFiles.ps1

# Custom source path
.\build\Merge-PublicApiFiles.ps1 -SourcePath "D:\Other\src"
Parameters
ParameterDefaultDescription
-SourcePath<script dir>\..\srcRoot directory to search for PublicAPI files
What It Does

For each project:

  1. Reads PublicAPI.Unshipped.txt (ignoring blank lines and #nullable enable)
  2. Appends the additions to PublicAPI.Shipped.txt
  3. Applies *REMOVED* entries by deleting the matching signature from PublicAPI.Shipped.txt. The *REMOVED* marker line is never written to shipped. If a *REMOVED* entry has no matching shipped API, the script warns and continues.
  4. Sorts and deduplicates the combined shipped file
  5. Clears PublicAPI.Unshipped.txt (preserving #nullable enable if present)
Show full SKILL.md (309 more words)Show less
When to Run
  • After tagging a release — to finalize the public API baseline for the newly shipped version.
  • Never before a release — doing so would erase the record of what changed.

Typical Release Workflow

1. Develop features / fix bugs (Unshipped files accumulate changes automatically via build)
2. Run  .\build\Get-PublicApiReport.ps1        ← Review the report
3. Address any unintended breaking changes
4. Tag the release
5. Run  .\build\Merge-PublicApiFiles.ps1        ← Promote unshipped → shipped
6. Commit the updated PublicAPI files

Step-by-Step Instructions for the Agent

Generating a Report
  1. Ensure the working directory is the Examine workspace root.
  2. Run:
    powershell
    .\build\Get-PublicApiReport.ps1
  3. Read the generated PublicAPI-Changes.md and summarize key findings to the user:
    • Total additions and removals
    • Whether there are breaking changes
    • Which projects are affected
  4. If the user wants the report at a different path, re-run with -OutputPath.
Merging After a Release
  1. Confirm with the user that they intend to merge (this is destructive — unshipped entries are cleared).
  2. Run:
    powershell
    .\build\Merge-PublicApiFiles.ps1
  3. Verify the output shows successful processing with no errors.
  4. Remind the user to commit the updated PublicAPI.Shipped.txt and PublicAPI.Unshipped.txt files.
Fixing Analyzer Warnings

If the build shows RS0016 or RS0017 warnings:

  • RS0016 ("Symbol is not part of the declared API"): A new public member was added but not listed in PublicAPI.Unshipped.txt. Use the IDE code-fix (💡) or manually add the entry.
  • RS0017 ("Symbol is part of the declared API but is removed"): A previously shipped member was removed. Add a *REMOVED* entry to PublicAPI.Unshipped.txt.

Troubleshooting

IssueSolution
Script says "No PublicAPI.Unshipped.txt files found"Ensure -SourcePath points to the src/ directory containing the projects
Report shows no changes but build has RS0016 warningsThe unshipped file may be missing entries — run the build and apply code-fixes first
Merge clears unshipped but shipped looks wrongCheck that the shipped file wasn't corrupted — entries should be sorted alphabetically
Emojis render as ? in the reportThe script writes UTF-8 with BOM; open the file in an editor that supports UTF-8
PowerShell 5.1 garbles outputThe script handles this via codepoint construction, but ensure the .ps1 file is saved as UTF-8 with BOM

© 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/public-api-management of Shazwazza/Examine.

Open the folder on GitHubat commit 2500d3c

Compare with similar skills

Public API Management 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.

Public API Management compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Public API Management this skillShazwazza/Examine412—~1.9kAutomated safety check: PassMIT
Roslyn Analyzersgithub/awesome-copilot40k—~9kAutomated safety check: PassMIT
Cost Trackingaffaan-m/ECC277k1 repos~1.3kAutomated safety check: PassMIT
TrackingBuilderIO/agent-native7.1k—~8kAutomated safety check: PassNone
Time Trackingsickn33/agentic-awesome-skills47k1 repos~3.8kAutomated safety check: PassMIT
Agent Code Analyzerruvnet/ruflo74k2 repos~1.5kAutomated safety check: PassMIT

Similar skills

  • Roslyn Analyzers

    github/awesome-copilot

    Official

    Build, review, debug, package, and test Roslyn diagnostic analyzers, code fix providers, and incremental source generators.

    40k GitHub stars~9k tokensUpdated 2 days ago
    Auto-check passed
  • Cost Tracking

    affaan-m/ECC

    Track and report Claude Code token usage, spending, and budgets from the local ECC cost-tracker metrics log.

    277k GitHub starsUsed in 1 repo~1.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Tracking

    BuilderIO/agent-native

    Server-side analytics tracking with pluggable providers. An agent skill from BuilderIO/agent-native.

    7.1k GitHub stars~8k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • Time Tracking

    sickn33/agentic-awesome-skills

    Time entry register: employee, project, client, task, hours, billable flag, rate and amount, invoice and approver.

    47k GitHub starsUsed in 1 repo~3.8k tokens
    Productivity & AutomationAuto-check passed
  • Agent skill for code-analyzer - invoke with $agent-code-analyzer

    74k GitHub starsUsed in 2 repos~1.5k tokens
    DevelopmentAuto-check passed
  • Agent skill for pagerank-analyzer - invoke with $agent-pagerank-analyzer

    74k GitHub starsUsed in 2 repos~2.9k tokens
    Auto-check passed

More from Shazwazza/Examine

  • Examinex Compat

    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…

    412 GitHub stars~2.6k 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

Questions about Public API Management

What does Public API Management do?

Manage Examine public API tracking using the PublicAPI Roslyn analyzer workflow. Public API Management is an agent skill from Shazwazza/Examine. Manage Examine public API tracking using the PublicAPI Roslyn analyzer workflow.

When should I use Public API Management?

Public API Management fits situations like: the user wants to review API changes; generate a compatibility report; prepare for a release; merge unshipped APIs into shipped.

How do I install Public API Management in Claude Code?

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

How do I install Public API Management in Codex?

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

Can I use Public API Management 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 public-api-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/public-api-management, .gemini/skills/public-api-management, .github/skills/public-api-management and .opencode/skills/public-api-management in your project.

What does Public API Management need to run?

SKILL.md names no scripts, command-line tools or credentials: Public API Management is instructions for the agent only. Compatibility (from SKILL.md): Requires PowerShell and dotnet SDK. Must be run from the Examine workspace root..

Does Public API Management access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Public API Management 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 Public API Management use?

Public API Management 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 Public API Management use?

About 1.9k tokens (SKILL.md is roughly 7.6k 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 Public API Management?

Skills that share tags, products or a category with Public API Management: Roslyn Analyzers (github/awesome-copilot, 40k stars), Cost Tracking (affaan-m/ECC, 277k stars), Tracking (BuilderIO/agent-native, 7.1k stars) and Time Tracking (sickn33/agentic-awesome-skills, 47k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Public API Management?

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.