internationalcolorconsortium/iccdev/vcpkg-export-consumer-debug
Claude Code and agent skill by internationalcolorconsortium/iccdev
- community
Checking that the SKILL.md file is still in the repository.
Debug iccDEV vcpkg, install/export, uninstall, and packaged consumer failures, especially Windows static CRT and path quoting regressions.
Install
npx vskill@latest install internationalcolorconsortium/iccdev/vcpkg-export-consumer-debugSKILL.md
vcpkg Export Consumer Debug
Use this skill when a review or workflow log mentions ci-vcpkg-ports, ci-pr-action, examples/hello-iccdev, install manifests, uninstall, or packaged CMake consumers.
Port Pin Check
For source refreshes without an upstream version bump, update the port as version#port-version: increment ports/iccdev/vcpkg.json port-version, and refresh ports/iccdev/portfile.cmake REF plus SHA512 together. CI should use local source mode (VCPKG_ICCDEV_SOURCE and VCPKG_KEEP_ENV_VARS) so it tests the checked-out branch, not the GitHub archive fallback.
When refreshing the source pin, also test the non-local path on Windows with VCPKG_ICCDEV_SOURCE unset. Use a fresh --x-install-root and disable binary cache restoration for the iccdev package, or remove the prior iccdev install before repeating it; changing this environment variable alone does not replace an already installed package. Install iccdev[tools,xml,json] using the overlay and a full, bootstrapped vcpkg checkout, then build and run examples/hello-iccdev against the installed package. A local-source build does not verify the new archive hash or the pinned source's packaging. The overlay is static-only and deliberately disables ENABLE_CMM_TOOLS; its tools feature does not install the Windows ICM IccDEVCmm.dll.
For Windows source/consumer smoke tests, the immutable <https://github.com/InternationalColorConsortium/iccDEV/releases/tag/vcpkg-win-23241-libheif-deps> export supplies prebuilt dependencies. Verify its published SHA256 before extraction and disable manifest mode when using its toolchain. The export is not a full vcpkg registry; it does not replace the overlay install above.
Prebuilt Export Refresh
_build-test-windows.yml, ci-pr-win.yml, ci-matlab.yml, and the optional pinned-release-bundle path in ci-latest-release.yml pin the same export asset by URL and SHA256. Change all four together and update the assertions in .github/tests/test_wasm_workflow.py. The release workflow defaults to windows_vcpkg_source=manifest; selecting pinned-release-bundle verifies the archive checksum and configures with VCPKG_MANIFEST_MODE=OFF. The asset suffix is only a label and does not identify the vcpkg registry baseline, and the export does not set the manifest builtin-baseline; refresh that separately as described in Dependency Manifest Sync.
Dependency Manifest Sync
For direct build dependencies, compare and synchronize:
vcpkg.jsonBuild/Cmake/vcpkg.jsonports/iccdev/vcpkg.json
Keep dependency-specific CMake options explicit in ports/iccdev/portfile.cmake. For zlib, all three manifests declare zlib, the portfile passes -DICC_USE_ZLIB=ON, and the overlay port-version is incremented. Do not add zlib directly to examples/hello-iccdev/vcpkg.json; that consumer receives it through the iccdev port.
For a registry baseline update, synchronize the root and Build/Cmake manifests, examples/hello-iccdev/vcpkg-configuration.json, the explicit checkouts in ci-vcpkg-ports.yml, and VCPKG_BASELINE in ci.yml. The overlay port manifest intentionally has no registry baseline.
Staleness Check
- Compare the tested ref with the current PR head:
- If the review SHA is not current, do not discard the finding. Re-check the
current head for the exact source pattern or failing workflow path.
- Treat the review as still actionable when the same source pattern remains
present on the current head.
Common Windows Failures
Static vcpkg Consumer Uses the Wrong CRT
Signal:
Cause: the x64-windows-static packaged libraries were built with /MT, but the consumer executable used the default /MD runtime.
Fix: when configuring the packaged Windows static consumer, pass the matching runtime explicitly:
Installed-Package Consumer Cannot Find Parent Dependencies
Signal:
Cause: iccdev.installed-package-consumer disables manifest mode for its nested projects. If the driver does not also forward the parent build's VCPKG_INSTALLED_DIR, the vcpkg toolchain searches its global classic tree instead of the manifest tree already populated for the parent build.
Fix contract: pass the parent installed tree into the CTest driver and forward it to each nested configure together with CMAKE_TOOLCHAIN_FILE, VCPKG_MANIFEST_MODE=OFF, and VCPKG_TARGET_TRIPLET. Keep build-test-binaries dependent on every shared and static library artifact the test stages.
Focused Windows validation:
Source Uninstall Breaks on CMake Path Spaces
Signal:
Cause: generated uninstall scripts used unquoted @CMAKE_COMMAND@.
Fix:
Validation
Run local checks on Windows before pushing:
Final proof for these failures requires a GitHub-hosted Windows runner. Monitor the source install/uninstall job and the packaged hello-iccdev consumer job after pushing.
References
../../workflows/ci-vcpkg-ports.yml../../../Build/Cmake/RefIccMAXUninstall.cmake.in../../../examples/hello-iccdev/CMakeLists.txt../../../ports/iccdev/portfile.cmake
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.github/skills/vcpkg-export-consumer-debug/SKILL.md
Popularity
- Repository stars
- 166
- Repository forks
- 47
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 1 Aug 2026, 3 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/internationalcolorconsortium/iccdev/vcpkg-export-consumer-debug)