Agent skill

coverage-report

Generate a .NET code coverage report scoped to files changed in the current branch. Runs tests with coverage collection and produces filtered HTML reports.

Stars 114
Forks 19

Install this agent skill to your Project

npx add-skill https://github.com/NikiforovAll/claude-code-rules/tree/main/plugins/handbook-dotnet/skills/coverage-report

SKILL.md

Code Coverage Report

Generate a code coverage report scoped to source files changed in the current branch compared to a base branch.

Workflow

1. Determine base branch

Detect the base branch to diff against. Use the MR/PR target branch if known, otherwise default to main or master (whichever exists). Ask the user if ambiguous.

bash
git merge-base --fork-point main HEAD || git merge-base --fork-point master HEAD

2. Detect changed source files

bash
git diff <base-branch> --name-only -- '*.cs'

Filter out test files (paths containing Test, Tests, .Tests, .Test). If no source files changed, stop and inform the user.

3. Identify test project(s)

Determine which test project(s) to run. Strategies (in order):

  1. User-specified: If the user names a test project, use it
  2. Convention-based: Look for test projects whose name matches the changed project (e.g., MyProject -> MyProject.Tests)
  3. Solution-wide: Run all tests in the solution if scope is unclear
  4. Ask: If ambiguous, ask the user which test project(s) to run

4. Clean previous results

bash
rm -rf TestResults/

5. Run tests with coverage

bash
dotnet test <test-project-or-solution> \
  --collect:"XPlat Code Coverage" \
  --results-directory ./TestResults/

6. Build file filters

From the changed file list (step 2), extract basenames and build a filter string:

+*FileName1.cs;+*FileName2.cs;+*FileName3.cs

7. Generate report

bash
dotnet reportgenerator \
  -reports:"TestResults/**/coverage.cobertura.xml" \
  -targetdir:"TestResults/CoverageReport" \
  -reporttypes:"Html;TextSummary" \
  -filefilters:"<filters>"

8. Display results

  1. Print TestResults/CoverageReport/Summary.txt to the terminal
  2. Open the HTML report (platform-aware):
    • Windows: start TestResults/CoverageReport/index.html
    • macOS: open TestResults/CoverageReport/index.html
    • Linux: xdg-open TestResults/CoverageReport/index.html

Tips

  • For large solutions, scope to specific test projects to speed up collection
  • The -filefilters flag accepts wildcards -- basename matching avoids path sensitivity

Expand your agent's capabilities with these related and highly-rated skills.

NikiforovAll/claude-code-rules

update-component-reference

This skill should be used when the user wants to add components (commands, agents, skills, hooks, or MCP servers) to the Component Reference section of the website.

114 19
Explore
NikiforovAll/claude-code-rules

version-bump

This skill automates version bumping during the release process for the Claude Code Handbook monorepo. It should be used when the user requests to bump versions, prepare a release, or increment version numbers across the repository.

114 19
Explore
NikiforovAll/claude-code-rules

spec-driven

Guide spec-driven development workflow (Requirements → Design → Tasks → Implementation) with approval gates between phases. Use when user wants structured feature planning or says "use spec-driven" or "follow the spec process".

114 19
Explore
NikiforovAll/claude-code-rules

nano-banana-prompting

This skill should be used when crafting prompts for Nano Banana Pro (Gemini image generation). Use when users want help writing image generation prompts, need guidance on prompt structure, or want to optimize their prompts for better results.

114 19
Explore
NikiforovAll/claude-code-rules

nano-banana

This skill should be used for Python scripting and Gemini image generation. Use when users ask to generate images, create AI art, edit images with AI, or run Python scripts with uv. Trigger phrases include "generate an image", "create a picture", "draw", "make an image of", "nano banana", or any image generation request.

114 19
Explore
NikiforovAll/claude-code-rules

structured-plan-mode

This skill should be used when planning and tracking complex feature implementations that require systematic task decomposition. Use this skill to break down large features into manageable, well-documented tasks with clear dependencies, action items, and success criteria. The skill provides a structured template and methodology for iterative planning and tracking throughout implementation.

114 19
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results