ada-library-public-api-review

Reviews a library's public API surface, compatibility boundaries, and consumer usability with external probes.

Updated Jul 23, 2026
One-click install
npx skills add https://github.com/wubing7755/Ada --skill ada-library-public-api-review-wubing7755
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ada-library-public-api-review
Source: https://github.com/wubing7755/Ada/tree/main/skills/software-development/ada-library-public-api-review
Command: npx skills add https://github.com/wubing7755/Ada --skill ada-library-public-api-review-wubing7755

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Internal tests, InternalsVisibleTo friendship, and successful in-repo builds can hide a public API that external consumers cannot actually use, extend, or rely on. This Skill audits a library from the consumer's perspective so broken contracts, leaky mutability, and accidental accessibility are caught before release. ## Core Features & Use Cases - Public surface inventory: Enumerates public and protected types, constructors, factories, validators, records, and compiler-generated members against the normative contract and API baseline. - Boundary and immutability audits: Verifies closed vs. open hierarchies, access modifier semantics, defensive copies, collection ownership, and serialization round trips. - External-consumer probes: Builds a minimal temporary project outside the repository that references the packed package to capture exact compiler diagnostics or runtime failures, then cleans up. - Use Case: A NuGet package passes all internal tests but its examples fail to compile after packing; this Skill runs a packed-package consumer probe, reconciles docs and API baselines, and reports findings by severity with file:line evidence. ## Quick Start Ask the agent to review this library's public API and compatibility surface as an external consumer, using a packed-package probe where source inspection is insufficient.

Frequently Asked Questions about ada-library-public-api-review

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review a library's public API for external consumers?

Inventory all public and protected types, constructors, factories, and generated members, then compare them against the normative contract and API baseline. When accessibility is unclear, compile a minimal consumer project outside the repository against the packed package to capture exact behavior.

Why do tests pass but the packaged library fails for consumers?

Same-assembly tests and InternalsVisibleTo grant privileged access that hides unusable public contracts. Packaging steps can also change the shipped surface, so only an external-consumer probe against the packed package proves real usability.

How to verify a class hierarchy is properly closed to inheritance?

Check constructor accessibility modifiers such as private protected versus protected internal, enumerate current same-assembly subtypes, and confirm unsupported implementations fail deterministically. Modifiers are contracts, not style choices.

Does a read-only interface guarantee immutability?

No. A read-only interface can still expose caller-owned mutable collections or mutable elements. Verify defensive copies, authoritative state ownership, mutation methods, caches, and serialization round trips before accepting immutability claims.

When should I not use a public API review?

Skip it for applications with no supported library API, general code quality checks without compatibility concerns, or when the public contract is undefined and a product or architecture decision must be made first.