Agent skill

Coverage

by thun-res in thun-res/vlink

以 ENABLETESTCOVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。

Apache-2.0Auto-check passedTesting & QA

Install Coverage

skills CLI
$ npx skills add thun-res/vlink --skill coverage -a claude-code

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

GitHub CLI
$ gh skill install thun-res/vlink coverage --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/thun-res/vlink.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/coverage .claude/skills/coverage && 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
coverage
GitHub stars
115
Token cost
~913 tokens
SKILL.md length
174 words
Files
2
Skills in repo
16
Repo updated
First seen
Licence
Apache-2.0

At a glance

以 ENABLETESTCOVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。

  • Works in 2 steps: 执行 → 结果处理
  • Tasks that involve Test coverage
  • SKILL.md covers 1. 执行 and 2. 结果处理
  • Calls cmake, git and bash

What it does

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.

When your agent uses it

  • Tasks that involve Test coverage

Example prompts

  • “生成 coverage 报告”
  • “/coverage”

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. 执行
  2. 结果处理

What it can do on your machine

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

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • cmake
    • git
    • bash

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

  • Network

    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.

  • 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

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.

Always · name and description, kept in context so the agent knows when to use it
~30
When it runs · the whole SKILL.md, loaded when a task matches
~913

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 thun-res/vlink at commit 1793889, republished under its Apache-2.0 licence (© thun-res). 174 words, ~913 tokens.

Download SKILL.mdSave it as .claude/skills/coverage/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
coverage
description
以 ENABLE_TEST_COVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。

代码覆盖率

本 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)。

1. 执行

以下步骤与 .github/scripts/ci-coverage.sh 的构建、测试和报告入口 一致;如需完全复现 CI 的依赖组合与编译选项,还需采用 .github/workflows/ci-coverage.yml 中的 VLINK_CI_CMAKE_ARGS。

bash
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
  1. 配置:

    bash
    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 均为配置 失败,不得继续测试。

  2. 构建并运行测试(必须先跑测试才有 profile 数据)。复用 CI 脚本以启动 vlink-proxy,并沿用 CI 的测试参数:

    bash
    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
  3. 生成报告:

    bash
    cmake --build "$BUILD_DIR" --target coverage --parallel "$BUILD_JOBS"

    HTML 报告位于 $BUILD_DIR/coverage/index.html,汇总文本可重定向保存 (CI 存为 coverage-summary.txt 并取 tail -80 查看)。

2. 结果处理

  • 根工程当前固定使用 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 或输入构造 覆盖的路径不得排除。添加前先说明为何无法稳定测试,不得为了提高 数字而使用排除标记。
  • 只在用户显式调用本 skill 时才执行构建与测试;日常改码流程仍遵循 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

Files

SKILL.md and 1 other file in .agents/skills/coverage of thun-res/vlink.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 1793889

Compare with similar skills

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.

Coverage compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Coverage this skillthun-res/vlink115—~913Automated safety check: PassApache-2.0
OpenROAD Module Test AdderThe-OpenROAD-Project/OpenROAD3.2k—~1.8kAutomated safety check: PassBSD-3-Clause
Testinghw-native-sys/pypto126—~1.1kAutomated safety check: PassCustom licence
Review Op Test CoverageCVCUDA/CV-CUDA2.7k—~264Automated safety check: PassCustom licence
Interval Guided Regression Test UpdateArabelaTso/Skills-4-SE253—~2.7kAutomated safety check: PassApache-2.0
Experimental Code Coverage Config Validatornwjs/chromium.src160—~1.1kAutomated safety check: PassBSD-3-Clause

Similar skills

  • 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.

    3.2k GitHub stars~1.8k tokensUpdated today
    Testing & QAAuto-check passed
  • Testing

    hw-native-sys/pypto

    Verify testing coverage and run tests for PyPTO project. An agent skill from hw-native-sys/pypto.

    126 GitHub stars~1.1k tokensUpdated 8 days ago
    Testing & QAAuto-check passed
  • Review a CV-CUDA operator's test coverage, including C++ correctness, required cross-layout parity, correctness rigor, and the Python API surface.

    2.7k GitHub stars~264 tokensUpdated 21 days ago
    Testing & QAAuto-check passed
  • Automatically updates regression tests based on interval analysis to maintain coverage of key program intervals.

    253 GitHub stars~2.7k tokensUpdated 1 mo ago
    Testing & QAAuto-check passed
  • Validates Chromium generated builder configurations (gn-args.json) for code coverage correctness based on language context.

    160 GitHub stars~1.1k tokensUpdated 4 days ago
    Testing & QAAuto-check passed
  • Test Writing Workflow

    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.

    33k GitHub starsUsed in 1 repo~1.2k tokens
    Testing & QAAuto-check passed

More from thun-res/vlink

All 16 skills in this repo
  • Issue

    thun-res/vlink

    调查 VLink 中可复现的缺陷、文档遗漏或功能建议,搜索 open/closed Issue 去重,按仓库模板用自然、具体、证据充分的简体中文草拟或创建 Issue, 可读取既有 Issue 上下文后草拟或发布单条回复.用户要求"提 issue"、 "创建 issue"、"检查是否已有 issue"、"回复 issue"、"评论 issue"、 "帮我回应…

    115 GitHub stars~753 tokensUpdated yesterday
    Auto-check passed
  • Asan

    thun-res/vlink

    以 AddressSanitizer(ENABLETESTSANITIZE=ON)构建并运行 vlink-test 单元测试,复现 CI 的 ASan 门禁。用户要求"跑 asan"、"内存检测测试"、 排查 ci-test 的 sanitize 失败时使用。

    115 GitHub stars~683 tokensUpdated yesterday
    Auto-check passed
  • Bench

    thun-res/vlink

    构建并运行 vlink-bench 性能基准(showcase/quick/full 预设),生成 HTML/JSON 报告。用户要求"跑 bench"、"性能测试"、对比后端吞吐/延迟、 验证性能回归时使用。

    115 GitHub stars~993 tokensUpdated yesterday
    Auto-check passed
  • Cicd

    thun-res/vlink

    用 gh CLI 触发/查看 GitHub CI/CD:手动 dispatch 工作流 (release/coverage/docker)、查看运行状态与失败日志、重跑失败 job.

    115 GitHub stars~856 tokensUpdated yesterday
    Auto-check passed
  • Clang Tidy

    thun-res/vlink

    对指定文件或全仓库运行 clang-tidy(WarningsAsErrors='')。用户要求 "跑 clang-tidy"、"tidy 检查某文件"、排查 CI tidy 门禁失败时使用。

    115 GitHub stars~712 tokensUpdated yesterday
    Auto-check passed
  • Commit

    thun-res/vlink

    提交前强制执行 VLink 的 format 与 check skill,再分析当前工作树的全部 staged、unstaged 与 untracked 改动,按模块、功能和依赖关系拆分为可独立 评审的 Conventional Commits,生成简洁且覆盖重要行为的英文 commit message 并逐组提交。用户要求“提交当前改动”、“按功能拆 commit”、 “自动写 commit…

    115 GitHub stars~931 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Coverage

What does Coverage do?

以 ENABLETESTCOVERAGE=ON 构建、运行测试并生成 lcov 代码覆盖率报告, 复现 CI 的 coverage 流水线。用户要求"跑覆盖率"、"生成 coverage 报告"、查某模块覆盖情况时使用。. Coverage is an agent skill from thun-res/vlink.

When should I use Coverage?

Coverage fits situations like: tasks that involve Test coverage.

How do I install Coverage in Claude Code?

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.

How do I install Coverage in Codex?

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.

Can I use Coverage 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 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.

What does Coverage need to run?

Going by SKILL.md and its folder, Coverage needs the command-line tools its instructions call (cmake, git and bash).

Does Coverage access the network?

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.

Is Coverage 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 Coverage use?

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.

How many tokens does Coverage use?

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.

What are the alternatives to Coverage?

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.

Who maintains Coverage?

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.