Maintainer workflow for scoping and updating iccDEV CI, CTest, CPack, sanitizer, workflow, and release-gate infrastructure.

BSD-3-ClauseAuto-check passedDevelopment

Install Maintainer CI Ctest

skills CLI
$ npx skills add InternationalColorConsortium/iccDEV --skill maintainer-ci-ctest -a claude-code

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

GitHub CLI
$ gh skill install InternationalColorConsortium/iccDEV maintainer-ci-ctest --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/InternationalColorConsortium/iccDEV.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/maintainer-ci-ctest .claude/skills/maintainer-ci-ctest && 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
maintainer-ci-ctest
GitHub stars
183
Token cost
~2.9k tokens
SKILL.md length
1,074 words
Files
1
Skills in repo
23
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Maintainer workflow for scoping and updating iccDEV CI, CTest, CPack, sanitizer, workflow, and release-gate infrastructure.

  • Development work in your project
  • SKILL.md covers Scope Decision, CTest Rules, Workflow Rules and Local Validation, plus 3 more sections
  • Calls cmake, bash and gh

What it does

Maintainer CI Ctest is an agent skill from InternationalColorConsortium/iccDEV. Maintainer workflow for scoping and updating iccDEV CI, CTest, CPack, sanitizer, workflow, and release-gate infrastructure.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with GitHub, C++ and Docker. The repository describes itself as: iccDEV provides a set of libraries and tools that allow for the interaction, manipulation, and application of ICC color management profiles. The licence is BSD-3-Clause.

When your agent uses it

  • Development work in your project

Example prompts

  • “/maintainer-ci-ctest”

Requirements

  • Python 3
  • Docker
  • Pre-approved tools (allowed-tools): bash, read, grep, glob, shell(git:*), shell(gh:*)

What it can do on your machine

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

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • bash
    • read
    • grep
    • glob
    • shell(git:*)
    • shell(gh:*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cmake
    • bash
    • gh
    • docker
    • git
    • python3
    • actionlint
    • rg

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

  • Network

    No URLs in SKILL.md. Its commands use gh, docker and git, which can reach the network depending on how they are called.

    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.

Context cost

Maintainer CI Ctest loads about 2.9k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,074 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~2.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 InternationalColorConsortium/iccDEV at commit 3c2425d, republished under its BSD-3-Clause licence (© InternationalColorConsortium). 1,074 words, ~2,865 tokens.

Download SKILL.mdSave it as .claude/skills/maintainer-ci-ctest/SKILL.md (or your agent's skills folder).
name
maintainer-ci-ctest
description
Maintainer workflow for scoping and updating iccDEV CI, CTest, CPack, sanitizer, workflow, and release-gate infrastructure.
allowed-tools
bash, read, grep, glob, shell(git:*), shell(gh:*)

Maintainer CI and CTest Workflow

Use this skill only for iccDEV maintainer-owned infrastructure changes: .github/**, Dockerfile*, CTest registration, CPack and release packaging, sanitizer helper policy, CodeQL/workflow governance, vcpkg release verification, and security automation.

General contributor requests should be redirected to issue or PR descriptions unless an iccDEV maintainer explicitly approved the infrastructure change.

Scope Decision

Choose the smallest maintainer-owned surface that proves the behavior:

ChangePrimary locationRequired docs
Add profile inputTesting/CreateAllProfiles.*docs/ctest.md if counts change
Add profile validationTesting/RunTests.*docs/ctest.md if CTest coverage changes
Add focused Linux regression.github/scripts/*.sh.github/ci/regression/README.md or docs/ctest.md
Register CTest suiteBuild/Cmake/Testing/CMakeLists.txtdocs/ctest.md
Change workflow gate.github/workflows/*.ymldocs/regression-workflow-governance.md
Change Apple mobile core gateBuild/Cmake/CMakePresets.json, Build/AppleMobile/**, .github/workflows/ci-apple-*.ymldocs/build.md and docs/regression-workflow-governance.md
Change maintainer DockerfileDockerfile*docs/build.md and docs/regression-workflow-governance.md
Change sanitizer policyBuild/Cmake/CMakeLists.txt, .github/scripts/sanitize-*.github/instructions/*
Change CPack/release packagingBuild/Cmake/**, release workflowsdocs/build.md or release docs
Change vcpkg release verificationports/iccdev/**, vcpkg workflowsvcpkg skill/docs

Keep contributor code changes separate from maintainer infrastructure commits when practical.

CTest Rules

  • check must exist on every platform.
  • check and workflow CTest execution must use --no-tests=error.
  • Do not add hard-coded CTest suite totals to workflows, docs, or maintainer instructions; keep suite lists descriptive and let CTest discovery report the current total.
  • Adding checks inside iccdev-tool-coverage-baseline.sh does not change that count; validate the direct script and ctest -R '^iccdev\.tool-coverage$'.
  • If a change touches legacy packed intent decoding or named-color overprint variants, include both .github/scripts/iccdev-applynamedcmm-cli-args-regression.sh and .github/scripts/iccdev-applysearch-cli-args-regression.sh, plus .github/scripts/iccdev-namedcolor-overprint-regression-tests.sh.
  • Windows full builds include focused executable regressions, batch-backed suites, dump/profile smoke coverage, shared-export coverage, and PAWG report coverage.
  • The comprehensive build matrix must retain MSVC, ClangCL, and MinGW UCRT64 coverage, plus a separate MSVC full CTest gate with warnings treated as errors. Unix must likewise retain the full strict CTest gate.
  • Use rg "Total Tests:|currently register|ci[-]tool[-]tests[.]yml" docs .github before PR handoff to catch stale count and workflow-name references.
  • Generated-profile count changes must update every explicit assertion source, including Build/Cmake/Testing/CMakeLists.txt, generated-profile workflows, and packaged WASM regression scripts.
  • Do not duplicate generated-profile totals in this skill; use the assertion sources as the current truth.
  • Windows batch CTest runs must use the disposable Testing copy under the build tree and must not dirty the source Testing/ directory.
  • Windows executable tests must receive runtime DLL directories through Build/Cmake/Testing/WindowsRuntimePaths.cmake; do not rely on a developer or runner shell PATH for vcpkg or MinGW runtime DLLs.
  • MinGW builds still need UCRT64 bin on the invoking shell PATH because GCC subprocesses such as cc1plus.exe depend on MSYS2 runtime DLLs during build.

Workflow Rules

  • Follow .github/instructions/workflow-governance.instructions.md.
  • Treat ci-pr-action full as the deterministic core maintainer gate. It runs Unix GCC/Clang Release and Debug builds, exact GCC 15.2 strict Release LTO in the regression container, non-sanitized GCC core tool tests, and Windows. Its tool-test caller excludes pr-extended and ci-infrastructure CTests.
  • ci_scope=auto is the default. It selects the full matrix for source, build, and test changes; documentation-only changes use the constrained fast-lane settings. Workflow-only changes keep the core orchestrator limited to setup and finalization while the standalone preflight and risk-analysis workflows provide their required contexts. Container-only changes use those standalone security gates and local container validation.
  • Use ci_scope=fast-lane for the exact GCC 15.2 Release LTO and non-sanitized core tool lanes. Fast lane defaults to the latest CTest with Windows disabled; it does not run a Docker verification job.
  • Container changes require the local canonical-image build and smoke in docs/regression-container.md; the Docker PR verification job is disabled.
  • Apple mobile core changes must keep the dependency-free apple-*-core presets available, align matching apple-*-extended-core presets with SDK and dependency discovery, and keep simulator app capability/gap reporting in Build/AppleMobile synchronized with docs/build.md.
  • Do not use || true around profile generation, CTest discovery, regression execution, sanitizer checks, or packaging verification.
  • Use least-privilege permissions and credential cleanup.
  • Sanitize all GITHUB_STEP_SUMMARY and GITHUB_OUTPUT writes.
  • Check out the base ref's .github/scripts sparsely and source its sanitizer helpers for every workflow that executes PR-controlled source.
  • Include github.event_name in concurrency keys for workflows that accept both PR and manual-dispatch events, so a manual lane cannot cancel its PR counterpart.
  • Trigger shared-concurrency workflows sequentially to avoid canceling your own run. Use ci-pr-action for normal core validation and the standalone path-scoped/manual ci-regression-checks workflow for ASAN/UBSAN coverage.
Show full SKILL.md (388 more words)Show less

Local Validation

For focused workflow iteration, start with:

bash
.github/scripts/preflight-safety-checks.sh --fast-lane

This scans changed workflow/script surfaces without running CTest or local CodeQL databases. Run only the nearest feature test during iteration, then use --fast-lane=matlab for MATLAB-only work. Use the full preflight or hosted gates before final handoff.

bash
file <changed-files>
git diff --check
cmake -S Build/Cmake -B build -DENABLE_TOOLS=ON -DENABLE_TESTS=ON -DENABLE_WXWIDGETS=OFF
cmake --build build --parallel "$(nproc)"
ctest --test-dir build -N --no-tests=error
ctest --test-dir build --output-on-failure --no-tests=error

For tool coverage script changes:

bash
ICCDEV_TOOLS_DIR=$PWD/build/Tools \
ICCDEV_TESTING_DIR=$PWD/Testing \
ICCDEV_TEST_OUTDIR=/tmp/iccdev-tool-output \
  .github/scripts/iccdev-tool-coverage-baseline.sh --asan --quick
ctest --test-dir build -R '^iccdev\.tool-coverage$' --output-on-failure

For ci-pr-lint.yml updates, install clang-tidy, clang-tools, and cppcheck, then follow the canonical component-partitioned local reproduction in docs/build.md#maintainer-static-analysis. Verify that every selected component has its own cppcheck and clang-tidy report, and that the combined reports preserve the sum of the component output.

For workflow YAML:

bash
python3 -c "import yaml; [yaml.safe_load(open(p)) for p in ['.github/workflows/<workflow>.yml']]; print('YAML parse OK')"
actionlint -no-color .github/workflows/<workflow>.yml

For Apple mobile core and simulator workflow changes on macOS:

bash
cmake --list-presets=configure -S Build/Cmake | grep -E 'apple-.*(extended-core|core)'
bash .github/scripts/iccdev-apple-simulator-smoke.sh ios
bash .github/scripts/iccdev-apple-simulator-smoke.sh watchos
bash .github/scripts/iccdev-xcode-ctest-smoke.sh

Set ICCDEV_APPLE_CORE_FLAVOR=minimal only when explicitly validating the dependency-free app path. The default simulator smoke should use the extended core and require the app's JSON report to include built-library checks, the public invalid-profile substitution control, and non-failing mobile gap notes.

For CPack, install/export, vcpkg, or release packaging changes, run the nearest packaging smoke test and inspect logs for missing files, duplicate install manifest entries, CRT mismatch warnings, and skipped smoke coverage.

For Dockerfile* changes:

bash
docker build -t iccdev-container-check -f <Dockerfile> .
docker run --rm iccdev-container-check <smoke-command>

For the unified Dockerfile, follow the complete local development-environment preflight in docs/regression-container.md#maintainer-preflight-and-security-checks. Cached builds are permitted for development iterations. The final pre-push proof requires workflow and Dockerfile policy checks, a no-cache build, analyzer inventory and runtime smoke, a healthy image, and Trivy vulnerability/secret triage. If the image is published, pass the published branch or SHA tag to ci-iccdev-tool-tests.yml.

GitHub Validation

After pushing, trigger only the workflows affected by the change:

bash
gh workflow run "ci-pr-action" --repo InternationalColorConsortium/iccDEV --ref <branch> -f ci_scope=full
gh workflow run "ci-pr-action" --repo InternationalColorConsortium/iccDEV --ref <branch> \
  -f ci_scope=fast-lane -f pr_number=<open-pr-number>
gh workflow run "ci-risk-analysis" --repo InternationalColorConsortium/iccDEV --ref <branch> \
  -f analysis_target="Specific git ref" -f git_ref=<full-sha> -f severity_threshold=HIGH -f fail_on_findings=true

Wait for shared-concurrency workflows one at a time. Capture run IDs, head SHA, job conclusions, artifact names, and key sentinel lines such as Total Tests, 100% tests passed, generated-profile counts, and sanitizer summaries.

Handoff

Report:

  • Branch and commit SHA.
  • Maintainer-owned scope touched and why.
  • Expected counts changed or confirmed unchanged.
  • Local commands and outcomes.
  • GitHub run IDs, conclusions, artifacts, and any annotations.
  • For registry QA runs, report summary.md, results.tsv, and findings.txt as authoritative evidence. Note whether per-run logs were bounded by registry_qa_log_tail_lines; use 0 only when full raw logs are needed. Developer reports must preserve downloaded profile payloads so reviewers can inspect and rerun failing inputs without a second download step. Package and upload that report with always() so failed scans retain their evidence.
  • Remaining Windows, packaging, or release validation that requires hosted runners.

References

  • ../../../docs/ctest.md
  • ../../../docs/regression-workflow-governance.md
  • ../../../docs/documentation-maintenance.md
  • ../../instructions/workflow-governance.instructions.md
  • ../../instructions/testing.instructions.md
  • ../../instructions/build-system.instructions.md
  • ../../prompts/maintainer-ci-ctest.prompt.md

© InternationalColorConsortium, BSD-3-Clause. 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/maintainer-ci-ctest of InternationalColorConsortium/iccDEV.

Open the folder on GitHubat commit 3c2425d

Compare with similar skills

Maintainer CI Ctest 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.

Maintainer CI Ctest compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Maintainer CI Ctest this skillInternationalColorConsortium/iccDEV183—~2.9kAutomated safety check: PassBSD-3-Clause
Sync Reviewthun-res/vlink116—~290Automated safety check: PassApache-2.0
pybind11 Release Publicationpybind/pybind1118k—~2.5kAutomated safety check: PassCustom licence
CI Act Runchewiebug/GCViewer4.6k—~2.4kAutomated safety check: NotesCustom licence
OBS Plugin Dependency Upgradesorayuki/obs-multi-rtmp5.1k—~609Automated safety check: PassGPL-2.0
OpenROAD Bug FixerThe-OpenROAD-Project/OpenROAD3.2k—~784Automated safety check: PassBSD-3-Clause

Similar skills

  • Sync Review

    thun-res/vlink

    审计 VLink 代码、doc、Doxygen、Python/C API、测试、示例、版本、 CMake、conanfile.py、Android.bp、vcpkg、packup 构建打包面、Agent 索引以及 .github 的 workflows、scripts、Docker、模板、Wiki 与治理 文件同步关系,定位 API、功能或工程入口变化后的遗漏和过时描述。公开…

    116 GitHub stars~290 tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Walks a maintainer through publishing a pybind11 release after the preparation PR merges, with preflight checks, confirmations before each push and a GitHub release.

    18k GitHub stars~2.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • CI Act Run

    chewiebug/GCViewer

    Run the full build-and-deploy.yaml workflow locally via act + Docker.

    4.6k GitHub stars~2.4k tokensUpdated 3 mo ago
    DevelopmentAuto-check: notes
  • OBS Plugin Dependency Upgrade

    sorayuki/obs-multi-rtmp

    Updates the obs-multi-rtmp plugin repo to the latest upstream plugin template and OBS Studio version, including dependency metadata, then rebuilds it with CMake.

    5.1k GitHub stars~609 tokensUpdated today
    DevelopmentAuto-check passed
  • OpenROAD Bug Fixer

    The-OpenROAD-Project/OpenROAD

    Fixes an OpenROAD bug from a GitHub issue or error code: finds the root cause, implements the fix, adds a regression test and prepares a signed-off commit.

    3.2k GitHub stars~784 tokensUpdated today
    DevelopmentAuto-check passed
  • OpenROAD PR Review

    The-OpenROAD-Project/OpenROAD

    Reviews an OpenROAD pull request in the project's priority order and prints draft review notes for a human reviewer to inspect and post.

    3.2k GitHub stars~1.4k tokensUpdated today
    DevelopmentAuto-check passed

More from InternationalColorConsortium/iccDEV

All 23 skills in this repo
  • Afl Smoke

    InternationalColorConsortium/iccDEV

    Run or update the iccDEV AFL++ manual smoke workflow, seeds, and maintainer documentation.

    183 GitHub stars~1.7k tokensUpdated yesterday
    Auto-check passed
  • Avx2 Clut Diagnostics

    InternationalColorConsortium/iccDEV

    Diagnose runtime-dispatched AVX2 3D CLUT interpolation, collect trace evidence, validate vector and masked-tail output, and prepare optimization handoff data.

    183 GitHub stars~850 tokensUpdated yesterday
    Auto-check passed
  • Clusterfuzzlite

    InternationalColorConsortium/iccDEV

    Build, test, or update the iccDEV ClusterFuzzLite libFuzzer integration across ASan, UBSan, and MSan.

    183 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • iOS Clut Editor

    InternationalColorConsortium/iccDEV

    Build, review, and maintain the ios-clut-editor profile and 3D CLUT editing proof-of-concept app without repeating prior iOS review-loop failures.

    183 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • iOS Manual Examples

    InternationalColorConsortium/iccDEV

    Maintain the manual iOS example app CMake projects, local Xcode build helpers, device signing guard rails, and documentation.

    183 GitHub stars~796 tokensUpdated yesterday
    Auto-check passed
  • JSON Config Regression

    InternationalColorConsortium/iccDEV

    Validate iccDEV JSON/profile config parser changes with fail-closed regression gates and CLI exercises.

    183 GitHub stars~469 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Maintainer CI Ctest

What does Maintainer CI Ctest do?

Maintainer workflow for scoping and updating iccDEV CI, CTest, CPack, sanitizer, workflow, and release-gate infrastructure. Maintainer CI Ctest is an agent skill from InternationalColorConsortium/iccDEV. Maintainer workflow for scoping and updating iccDEV CI, CTest, CPack, sanitizer, workflow, and release-gate infrastructure.

When should I use Maintainer CI Ctest?

Maintainer CI Ctest fits situations like: development work in your project.

How do I install Maintainer CI Ctest in Claude Code?

Run `npx skills add InternationalColorConsortium/iccDEV --skill maintainer-ci-ctest -a claude-code`. Or copy the skill folder (.github/skills/maintainer-ci-ctest in InternationalColorConsortium/iccDEV) into .claude/skills/maintainer-ci-ctest in your project. Claude Code loads it when a task matches its description.

How do I install Maintainer CI Ctest in Codex?

Run `npx skills add InternationalColorConsortium/iccDEV --skill maintainer-ci-ctest -a codex`. Or copy the skill folder (.github/skills/maintainer-ci-ctest in InternationalColorConsortium/iccDEV) into .agents/skills/maintainer-ci-ctest in your project. Codex loads it when a task matches its description.

Can I use Maintainer CI Ctest 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 InternationalColorConsortium/iccDEV --skill maintainer-ci-ctest -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/maintainer-ci-ctest, .gemini/skills/maintainer-ci-ctest, .github/skills/maintainer-ci-ctest and .opencode/skills/maintainer-ci-ctest in your project.

What does Maintainer CI Ctest need to run?

Going by SKILL.md and its folder, Maintainer CI Ctest needs the command-line tools its instructions call (cmake, bash, gh, docker, git and python3). Our summary lists: Python 3; Docker. Its frontmatter pre-approves these tools: bash, read, grep, glob, shell(git:*), shell(gh:*).

Does Maintainer CI Ctest access the network?

SKILL.md contains no URLs. Its commands use gh, docker and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Maintainer CI Ctest 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 Maintainer CI Ctest use?

Maintainer CI Ctest is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Maintainer CI Ctest use?

About 2.9k tokens (SKILL.md is roughly 11k 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 Maintainer CI Ctest?

Skills that share tags, products or a category with Maintainer CI Ctest: Sync Review (thun-res/vlink, 116 stars), pybind11 Release Publication (pybind/pybind11, 18k stars), CI Act Run (chewiebug/GCViewer, 4.6k stars) and OBS Plugin Dependency Upgrade (sorayuki/obs-multi-rtmp, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Maintainer CI Ctest?

InternationalColorConsortium (a GitHub organization) maintains it in InternationalColorConsortium/iccDEV, which has 183 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 9, 2026.

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