Skip to main content
ClaudeWave
EN, English
Skill142 repo starsupdated 25d ago

coverage-report

The coverage-report skill generates a scoped .NET code coverage report by identifying files changed in the current branch, running relevant test projects with XPlat Code Coverage collection, and producing filtered HTML reports restricted to those changed files. Use this to quickly assess test coverage for branch changes without running full solution coverage analysis.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/NikiforovAll/claude-code-rules /tmp/coverage-report && cp -r /tmp/coverage-report/plugins/handbook-dotnet/skills/coverage-report ~/.claude/skills/coverage-report
Then start a new Claude Code session; the skill loads automatically.

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
adr-planSkill

Analyze a task and produce an Architecture Decision Record with implementation steps.

dotnet-dependencySkill

This skill should be used when investigating .NET project dependencies, understanding why packages are included, listing references, or auditing for outdated/vulnerable packages.

dotnet-run-fileSkill

Run script-like CSharp programs using dotnet run file.cs. Use this skill when users want to execute CSharp code directly, write one-liner scripts via stdin, or learn about run file directives.

dotnet-verifySkill

This skill should be used when working with Verify snapshot tests in .NET projects. Use when updating verified snapshots after intentional code changes, accepting new snapshots, discovering verify tests, or troubleshooting snapshot mismatches. Trigger phrases include "verify tests", "update snapshots", "accept snapshots", "verified files", ".verified.txt".

elasticsearchSkill

>

git-worktreeSkill

This skill should be used when the user wants to manage Git worktrees - creating worktrees from local or remote branches, listing active worktrees with details, deleting worktrees, or switching between worktrees. Ideal for working on multiple branches simultaneously without stashing changes.

glabSkill

Expert guidance for using the GitLab CLI (glab) to manage GitLab issues, merge requests, CI/CD pipelines, repositories, and other GitLab operations from the command line. Use this skill when the user needs to interact with GitLab resources or perform GitLab workflows.

handbook-discoverSkill

This skill should be used when users want to discover, browse, or audit cc-handbook marketplace plugins. Shows all available plugins with installation status, versions, and component breakdown (skills, agents, commands, MCP/LSP servers, hooks). Trigger phrases include "discover plugins", "list handbook plugins", "what plugins are available", "browse marketplace".