Audit a vcpkg port locally. Reads the port metadata and build recipe, installs the port, inspects extracted sources and installed files, and produces a report covering license risks, vendored code, optional dependencies, and other port review suggestions.
npx skills add https://github.com/microsoft/vcpkg --skill evaluate-new-port
vcpkg.jsonThis skill takes a single port name, reads the port's metadata and build recipe, performs a clean local install, and writes a structured audit report. The audit focuses on:
ports/{port-name}/vcpkg.json, including feature-scoped declarationsports/{port-name}/portfile.cmakevcpkg x-ci-clean and vcpkg install {port-name}buildtrees/{port-name}/srcpackages/{port-name}_{target-triplet}If the install reports that the port is unsupported on the current platform or triplet, stop there and recommend a more appropriate platform instead of continuing the audit.
ports/{port-name}Open these files first:
ports/{port-name}/vcpkg.jsonports/{port-name}/portfile.cmakeExtract at least the following:
From vcpkg.json:
license, if presentlicense declarations, including explicit nullhomepagefeaturesdependenciessupports, if presentFrom portfile.cmake:
vcpkg_cmake_configure, vcpkg_configure_make, vcpkg_cmake_build, Meson helpers, raw cmake, etc.)Run the repository-local vcpkg executable from the repository root:
Windows:
.\vcpkg.exe x-ci-clean
Linux/macOS:
./vcpkg x-ci-clean
Do not skip this step. The audit should be based on a fresh source extraction and package install.
Run a normal install of the requested port:
Windows:
.\vcpkg.exe install {port-name}
Linux/macOS:
./vcpkg install {port-name}
Capture the output. If it contains an unsupported-platform message, stop the workflow and report:
portfile.cmakesupports, platform guards, or fatal-error textCommon examples:
only supports Windows → suggest Windowsonly supports Linux → suggest Linuxonly supports x64 and x86 Windows → suggest an x64 Windows hostBuilding for {TARGET_TRIPLET} on {HOST_TRIPLET} is unsupported → suggest the native target platform instead of cross-buildingIf the install succeeds, continue.
If the install hit a binary cache and you need to rerun the port to force a local rebuild for inspection, remove and reinstall the affected port directly rather than running x-ci-clean followed by install --no-binarycaching. That preserves cache hits for unedited dependencies while still rebuilding the port under review.
Find the installed package directory under:
packages/{port-name}_{target-triplet}
Use the package directory that was created by the install you just ran. The triplet is normally the system default target triplet (for example x64-windows, arm64-windows, or x64-linux).
If multiple matching directories exist, prefer the one whose timestamp matches the current install output. Record the chosen triplet in the report.
Inspect buildtrees/{port-name}/src and identify the extracted source directory or directories for the current build. Review them for vendoring and undeclared optional dependencies.
Look for signs of bundled third-party code, such as directories or files named:
third_partythird-partyvendorvendorsexternexternaldepsdependenciessubprojectsFor each candidate:
vcpkg.jsonLook for optional integrations that are present upstream but not clearly controlled in packaging. Sources of evidence include:
find_package(...)pkg_check_modules(...)option(...)WITH_*, ENABLE_*, USE_*, BUILD_*feature or dependency(...)--with-* / --enable-*Flag an issue when an optional dependency:
vcpkg.json, andportfile.cmakeThe point is to find dependencies that may be auto-detected from the host environment, leading to non-reproducible builds.
Inspect the package contents under packages/{port-name}_{target-triplet}. Focus on:
share/{port-name}/copyrightTreat explicit "license": null as intentional metadata meaning "no SPDX expression is provided here; inspect the installed copyright file." Do not report that case as missing metadata by itself.
Flag content when:
Do not assume every extra notice is a bug. Record the evidence and explain whether it appears compatible, incomplete, or suspicious.
While auditing ports/{port-name}/portfile.cmake, look for common review items such as:
supports in vcpkg.jsonOnly report suggestions supported by evidence from the files or the install result.
Generate a markdown report with these sections:
Be specific. Cite file paths and brief snippets when they support a finding.
If there are no findings for a section, write None found instead of omitting the section.
See references/report-template.md.
Integration with protocols.io API for managing scientific protocols. This skill should be used when working with protocols.io to search, create, update, or publish protocols; manage protocol steps and materials; handle discussions and comments; organize workspaces; upload and manage files; or integrate protocols.io functionality into workflows. Applicable for protocol discovery, collaborative protocol development, experiment tracking, lab protocol management, and scientific documentation.
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
Build and distribute Expo development clients locally or via TestFlight
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.
Benchling R&D platform integration. Access registry (DNA, proteins), inventory, ELN entries, workflows via API, build Benchling Apps, query Data Warehouse, for lab data management automation.
Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.
Take microsoft/evaluate-new-port from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.