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.
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-reportSKILL.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
Analyze a task and produce an Architecture Decision Record with implementation steps.
This skill should be used when investigating .NET project dependencies, understanding why packages are included, listing references, or auditing for outdated/vulnerable packages.
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.
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".
>
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.
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.
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".