OpenROAD Module Test Adder
The-OpenROAD-Project/OpenROAD
Adds integration or unit tests to an OpenROAD module: writes the Tcl test, generates golden files and registers it in both CMake and Bazel.
以 ENABLETESTCOVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。
$ npx skills add thun-res/vlink --skill coverage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install thun-res/vlink coverage --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/thun-res/vlink.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/coverage .claude/skills/coverage && rm -rf skills-srcUse ~/.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/
Install the "coverage" agent skill from https://github.com/thun-res/vlink/tree/master/.agents/skills/coverage into .claude/skills/coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coverage", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/thun-res/vlink/tree/master/.agents/skills/coverageType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add thun-res/vlink --skill coverage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install thun-res/vlink coverage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thun-res/vlink.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/coverage .agents/skills/coverage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "coverage" agent skill from https://github.com/thun-res/vlink/tree/master/.agents/skills/coverage into .agents/skills/coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coverage", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add thun-res/vlink --skill coverage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install thun-res/vlink coverage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thun-res/vlink.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/coverage .cursor/skills/coverage && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "coverage" agent skill from https://github.com/thun-res/vlink/tree/master/.agents/skills/coverage into .cursor/skills/coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coverage", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/thun-res/vlink.git --path .agents/skills/coverage--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add thun-res/vlink --skill coverage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install thun-res/vlink coverage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thun-res/vlink.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/coverage .gemini/skills/coverage && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "coverage" agent skill from https://github.com/thun-res/vlink/tree/master/.agents/skills/coverage into .gemini/skills/coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coverage", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install thun-res/vlink coverageInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add thun-res/vlink --skill coverage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/thun-res/vlink.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/coverage .github/skills/coverage && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "coverage" agent skill from https://github.com/thun-res/vlink/tree/master/.agents/skills/coverage into .github/skills/coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coverage", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add thun-res/vlink --skill coverage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install thun-res/vlink coverage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thun-res/vlink.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/coverage .opencode/skills/coverage && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "coverage" agent skill from https://github.com/thun-res/vlink/tree/master/.agents/skills/coverage into .opencode/skills/coverage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "coverage", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
coverage以 ENABLETESTCOVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。
Coverage is an agent skill from thun-res/vlink. 以 ENABLETESTCOVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。
Its SKILL.md is about 910 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Testing & QA, covering Test coverage. It works with C++. The repository describes itself as: VLink is a high-performance C++ communication middleware for autonomous driving and embodied intelligence, positioned as a full-scenario alternative to ROS 2. The licence is Apache-2.0.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1793889. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
cmakegitbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Coverage loads about 913 tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 174 words of instructions outside code blocks.
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.
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.
The full file from thun-res/vlink at commit 1793889, republished under its Apache-2.0 licence (© thun-res). 174 words, ~913 tokens.
.claude/skills/coverage/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.本 skill 只在 Linux 的 GCC/Clang + lcov 环境执行。Windows helper
不会创建当前 coverage target,macOS 与 QNX 也不是仓库 CI 覆盖率
基线;不满足条件时停止并报告未验证,不得继续宣称已生成覆盖率。
ENABLE_TEST_COVERAGE=ON 时,根 CMakeLists.txt 对 vlink 库目标调用
vlink_test_coverage(... TYPE lcov EXCLUDES ...)(定义于
cmake/functions/common.cmake):注入 -O0 -g -fprofile-arcs -ftest-coverage;构建并运行 vlink-test 产生被测库 profile 数据,
并生成 coverage 构建目标。排除目录由根 CMakeLists 的
VLINK_TEST_COVERAGE_EXCLUDES 统一维护(languages/c_api/、cli/、
exprtk/、proxy/、test/、thirdparty/ 等)。
当前覆盖率流程不同时启用 ASan;CI 的 coverage job 固定
ENABLE_TEST_SANITIZE=OFF(.github/workflows/ci-coverage.yml)。
以下步骤与 .github/scripts/ci-coverage.sh 的构建、测试和报告入口
一致;如需完全复现 CI 的依赖组合与编译选项,还需采用
.github/workflows/ci-coverage.yml 中的 VLINK_CI_CMAKE_ARGS。
REPO_ROOT="$(git rev-parse --show-toplevel)"
BUILD_DIR_REL=build-ai/skill_coverage
BUILD_DIR="$REPO_ROOT/$BUILD_DIR_REL"
export PYTHONPYCACHEPREFIX="$BUILD_DIR/__pycache__"
PHYSICAL_CORES=
case "$(uname -s 2>/dev/null)" in
Linux)
PHYSICAL_CORES="$(
LC_ALL=C lscpu -p=CORE,SOCKET 2>/dev/null |
awk -F, '
$1 !~ /^#/ && $1 ~ /^[0-9]+$/ && $2 ~ /^[0-9]+$/ {
cores[$2 SUBSEP $1] = 1
}
END {
for (core in cores) {
count++
}
if (count > 0) {
print count
}
}'
)" || PHYSICAL_CORES=
;;
Darwin)
PHYSICAL_CORES="$(sysctl -n hw.physicalcpu 2>/dev/null)" || PHYSICAL_CORES=
;;
esac
case "$PHYSICAL_CORES" in
'' | *[!0-9]* | 0) PHYSICAL_CORES=1 ;;
esac
if [ "$PHYSICAL_CORES" -gt 1 ]; then
BUILD_JOBS=$((PHYSICAL_CORES - 1))
else
BUILD_JOBS=1
fi配置:
cmake -S "$REPO_ROOT" -B "$BUILD_DIR" \
-DCMAKE_BUILD_TYPE=Debug \
-DENABLE_CXX_STD_20=OFF \
-DENABLE_TEST=ON \
-DENABLE_TEST_WARN=ON \
-DENABLE_TEST_COVERAGE=ON \
-DENABLE_TEST_SANITIZE=OFF \
-DENABLE_PROXY=ON \
-DENABLE_EXAMPLES=OFF配置前确认 Fast DDS 或 Cyclone DDS 可被 CMake 找到。CMake 将
ENABLE_PROXY 改回 OFF 或未生成 vlink-proxy target 均为配置
失败,不得继续测试。
构建并运行测试(必须先跑测试才有 profile 数据)。复用 CI 脚本以启动
vlink-proxy,并沿用 CI 的测试参数:
cmake --build "$BUILD_DIR" --target vlink-test vlink-proxy --parallel "$BUILD_JOBS"
cd "$REPO_ROOT"
BUILD_DIR="$BUILD_DIR_REL" bash .github/scripts/run-posix-ci-tests.sh生成报告:
cmake --build "$BUILD_DIR" --target coverage --parallel "$BUILD_JOBS"HTML 报告位于 $BUILD_DIR/coverage/index.html,汇总文本可重定向保存
(CI 存为 coverage-summary.txt 并取 tail -80 查看)。
lcov;底层 helper 也支持 gcovr,但本配置未
选用。缺少 lcov 时 CMake 只告警、coverage 目标不可用。BUILD_JOBS 必须严格等于 max(真实物理核心数 - 1, 1)。禁止改用
逻辑 CPU 数、裸 --parallel/-j 或固定高并行度;无法可靠获取物理
核心数时固定单核,且同一时刻只运行一个本地构建,防止编译卡死或耗尽
内存。BUILD_DIR_REL 为 build-ai/skill_coverage;正被其他任务使用时
先改为 build-ai/skill_coverage_<task_name>,再派生 BUILD_DIR,不得
共用或清理其他构建目录。test/ 用例,
而不是调整 EXCLUDES 把目录排除掉;修改 EXCLUDES 需与维护者确认。LCOV_EXCL_START GCOVR_EXCL_START 与
LCOV_EXCL_STOP GCOVR_EXCL_STOP;LCOV_EXCL_LINE GCOVR_EXCL_LINE;LCOV_EXCL_BR_LINE GCOVR_EXCL_BR_LINE。
标记必须缩到最小范围并保留;正常业务分支、可通过 mock 或输入构造
覆盖的路径不得排除。添加前先说明为何无法稳定测试,不得为了提高
数字而使用排除标记。AGENTS.md 强制规则第 3 条(不主动构建)。© thun-res, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/coverage of thun-res/vlink.
Open the folder on GitHubat commit 1793889
Coverage 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Coverage this skillthun-res/vlink | 115 | — | ~913 | Automated safety check: Pass | Apache-2.0 | |
| OpenROAD Module Test AdderThe-OpenROAD-Project/OpenROAD | 3.2k | — | ~1.8k | Automated safety check: Pass | BSD-3-Clause | |
| Testinghw-native-sys/pypto | 126 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Review Op Test CoverageCVCUDA/CV-CUDA | 2.7k | — | ~264 | Automated safety check: Pass | Custom licence | |
| Interval Guided Regression Test UpdateArabelaTso/Skills-4-SE | 253 | — | ~2.7k | Automated safety check: Pass | Apache-2.0 | |
| Experimental Code Coverage Config Validatornwjs/chromium.src | 160 | — | ~1.1k | Automated safety check: Pass | BSD-3-Clause |
The-OpenROAD-Project/OpenROAD
Adds integration or unit tests to an OpenROAD module: writes the Tcl test, generates golden files and registers it in both CMake and Bazel.
hw-native-sys/pypto
Verify testing coverage and run tests for PyPTO project. An agent skill from hw-native-sys/pypto.
CVCUDA/CV-CUDA
Review a CV-CUDA operator's test coverage, including C++ correctness, required cross-layout parity, correctness rigor, and the Python API surface.
ArabelaTso/Skills-4-SE
Automatically updates regression tests based on interval analysis to maintain coverage of key program intervals.
nwjs/chromium.src
Validates Chromium generated builder configurations (gn-args.json) for code coverage correctness based on language context.
iOfficeAI/AionUi
Sets the test-writing workflow for the repository: risk-first scenario lists, behavior-focused Vitest tests, a full run before each commit and a coverage target.
thun-res/vlink
调查 VLink 中可复现的缺陷、文档遗漏或功能建议,搜索 open/closed Issue 去重,按仓库模板用自然、具体、证据充分的简体中文草拟或创建 Issue, 可读取既有 Issue 上下文后草拟或发布单条回复.用户要求"提 issue"、 "创建 issue"、"检查是否已有 issue"、"回复 issue"、"评论 issue"、 "帮我回应…
thun-res/vlink
以 AddressSanitizer(ENABLETESTSANITIZE=ON)构建并运行 vlink-test 单元测试,复现 CI 的 ASan 门禁。用户要求"跑 asan"、"内存检测测试"、 排查 ci-test 的 sanitize 失败时使用。
thun-res/vlink
构建并运行 vlink-bench 性能基准(showcase/quick/full 预设),生成 HTML/JSON 报告。用户要求"跑 bench"、"性能测试"、对比后端吞吐/延迟、 验证性能回归时使用。
thun-res/vlink
用 gh CLI 触发/查看 GitHub CI/CD:手动 dispatch 工作流 (release/coverage/docker)、查看运行状态与失败日志、重跑失败 job.
thun-res/vlink
对指定文件或全仓库运行 clang-tidy(WarningsAsErrors='')。用户要求 "跑 clang-tidy"、"tidy 检查某文件"、排查 CI tidy 门禁失败时使用。
thun-res/vlink
提交前强制执行 VLink 的 format 与 check skill,再分析当前工作树的全部 staged、unstaged 与 untracked 改动,按模块、功能和依赖关系拆分为可独立 评审的 Conventional Commits,生成简洁且覆盖重要行为的英文 commit message 并逐组提交。用户要求“提交当前改动”、“按功能拆 commit”、 “自动写 commit…
Works with
Categories
以 ENABLETESTCOVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。. Coverage is an agent skill from thun-res/vlink.
Coverage fits situations like: tasks that involve Test coverage.
Run `npx skills add thun-res/vlink --skill coverage -a claude-code`. Or copy the skill folder (.agents/skills/coverage in thun-res/vlink) into .claude/skills/coverage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add thun-res/vlink --skill coverage -a codex`. Or copy the skill folder (.agents/skills/coverage in thun-res/vlink) into .agents/skills/coverage in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thun-res/vlink --skill coverage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/coverage, .gemini/skills/coverage, .github/skills/coverage and .opencode/skills/coverage in your project.
Going by SKILL.md and its folder, Coverage needs the command-line tools its instructions call (cmake, git and bash).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Coverage is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 913 tokens (SKILL.md is roughly 3.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Coverage: OpenROAD Module Test Adder (The-OpenROAD-Project/OpenROAD, 3.2k stars), Testing (hw-native-sys/pypto, 126 stars), Review Op Test Coverage (CVCUDA/CV-CUDA, 2.7k stars) and Interval Guided Regression Test Update (ArabelaTso/Skills-4-SE, 253 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
thun-res (a GitHub user) maintains it in thun-res/vlink, which has 115 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 7, 2026.
Source: thun-res/vlink on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.