health-check

Multi-dimensional health assessment for .NET projects with letter grades (A-F) using Roslyn MCP tools. Evaluates 8 dimensions: build health, code quality, architecture, test coverage, dead code, API surface, security posture, and documentation. Produces a structured report card with actionable recom

By codewithmukesh · 1,182 installs

npx skills add codewithmukesh/dotnet-claude-kit --skill health-check

Source repository · Upstream listing

/health check — 8 Dimension Project Assessment What Runs a data driven health assessment across 8 dimensions, each graded A F with the specific data points that produced the grade, and rolls them into a GPA. Gut feeling is not a grade: every dimension uses MCP tools or CLI commands, and every grade below A comes with specific, prioritized, effort estimated fixes — "add test classes for OrderService, PaymentProcessor, ShippingCalculator" is actionable; "improve test coverage" is not. This skill owns the canonical grading system for the kit. The full rubrics, GPA scale, and report template live in references/grading rubric.md — load that file when running an assessment. Tone is diagnostic, not punitive: a C grade is an improvement path, not a failure. When Onboarding to an unfamiliar or new project — set the baseline "How healthy is this?", "grade this project", "codebase review", "report card" Pre release quality gate, or monthly/quarterly maintenance review After a cleanup sprint ( /de sloppify ) — re grade to show progress Tech debt prioritization — lowest grades get the next sprint's attention How Step 1: Choose Scope Scenario Dimensions Full assessment (onboarding, pre release, monthly review) All 8 Quick health (mid sprint checkpoint, before a demo, after a merge) 1 4 only After major refactor 1 (Build), 3 (Architecture), 4 (Tests) Post dependency update 1 (Build), 7 (Security) After cleanup sprint Re grade only the cleaned dimensions Step 2: Run the Dimensions Read references/grading rubric.md for the grade thresholds, then collect data per dimension. For deep code quality dimensions, delegate to the code reviewer agent with the code review skill. Dimension Data source 1 Build Health dotnet build no restore — errors + warnings 2 Code Quality MCP detect antipatterns — read summary , grade high confidence only 3 Architecture MCP get project graph + detect circular dependencies (projects AND types) 4 Test Coverage MCP get test coverage map — check applicable first (structural, not line coverage) 5 Dead Code MCP find dead code(scope: "solution") — grade high confidence; ignore conventionFiltered 6 API Surface MCP get public api + find references — overexposure, return type consistency 7 Security Posture dotnet list package vulnerable include transitive + secrets/auth spot check (deep dive: /security scan ) 8 Documentation XML doc coverage on public APIs + README currency Step 2.5: Triage Gate (before any grade is assigned) Detector output is evidence, not a grade. Pass every finding through this gate first — it is what stops a noisy count becoming a wrong letter. 1. Read summary , not the violation list. summary.byId is complete even when the list is truncated. Never sample a truncated list and extrapolate. 2. Drop suppressed . Record the count and summary.suppressionConfig in the report so suppression stays visible. 3. Set aside medium . These are review items, not grade inputs. Summarise them by category; do not fix or count them. 4. Grade high only. These are wrong regardless of context. 5. Check invariants. If a signal contradicts something the target repo's CLAUDE.md documents as deliberate, the invariant wins — verify before grading. 6. Read before asserting. Never describe a finding you have not opened. If you cannot open all of them, report the ones you did and say so. Fill in the triage table from references/grading rubric.md as you go. If the table cannot be filled, the dimension is not ready to grade. Step 3: Grade and Aggregate Apply the rubric thresholds exactly — never grade on a curve ("pretty good for a project this size" is how standards erode; 15 warnings is a C regardless of project size). Convert to GPA (A=4.0 … F=0.0), averaging only the dimensions actually graded — a dimension marked "Not assessed" is excluded from the GPA, never scored as an F. Step 4: Report Produce the report card from the template in references/grading rubric.md : grades table with key findings, overall GPA, and priority recommendations — each with named types/files, priority order, and effort estimates. If a previous report exists, append the trend comparison table. Example Related references/grading rubric.md — canonical rubrics, GPA scale, report template /de sloppify — cleanup pipeline for the issues a health check surfaces /security scan — deep 6 layer scan behind Dimension 7 /code review — per change review (this skill grades the whole project) /verify — pass/fail pipeline for a change set, not a graded assessment