verify

Run a comprehensive 7-phase verification pipeline for .NET projects: build, analyzers, antipattern detection, tests, security, formatting, and diff review. Each phase produces PASS/FAIL with actionable output and the pipeline short-circuits on critical failures. Also the authority on verification st

By codewithmukesh · 1,153 installs

npx skills add codewithmukesh/dotnet-claude-kit --skill verify

Source repository · Upstream listing

/verify 7 Phase Verification Pipeline What Runs a sequential, 7 phase verification pipeline that catches issues at every level from compiler errors to subtle antipatterns to formatting drift. Each phase produces an explicit PASS, WARN, or FAIL with details. "It looks fine" is not a verification result; a table of statuses is. Critical failures (Phase 1 build, Phase 4 tests) short circuit the pipeline because later phases cannot produce meaningful results on broken code. The pipeline answers one question: "Is this code ready for review?" Phase Tool What It Catches Critical 1. Build dotnet build Compilation errors, missing references Yes 2. Diagnostics get diagnostics (MCP) New analyzer warnings, nullability issues FAIL on new errors 3. Antipatterns detect antipatterns (MCP) async void, sync over async, DateTime.Now , more No 4. Tests dotnet test Failing tests, regressions Yes 5. Security dotnet list package vulnerable + scan Secrets, SQL injection, missing auth, vulnerable packages FAIL on critical/high 6. Format dotnet format verify no changes Style drift, formatting inconsistencies No 7. Diff Review git diff analysis Accidental changes, debug leftovers, TODOs No When After completing a feature, bug fix, or major refactor Before creating a pull request non negotiable, full pipeline After merging upstream changes or updating dependencies When the user says "verify", "check everything", "is this ready", "run all checks" As the final step before marking a task complete Which Phases to Run Full pipeline is the default. For scoped changes, run a subset: Scenario Phases Notes Feature complete / Pre PR / new endpoint All 7 No shortcuts Bug fix 1, 2, 4 Add a test first if none covers it After refactor 1, 2, 3, 4 Correctness focus; add 5 7 if security sensitive Dependency update 1, 4, 5 Build, tests, vulnerability scan Config or test only change 1, 4 Build and test Formatting only 6 Format check is sufficient When in doubt, run all 7. Extra phases cost minutes; a missed security issue costs days of incident response. Never cherry pick phases because a change "looks safe". How Phase 1: Build (CRITICAL short circuits) If the build fails, STOP. Report errors and fix before continuing nothing downstream is meaningful on code that does not compile. Capture the warning count even on PASS; new warnings are tracked in Phase 2. Output: PASS (0 errors) or FAIL (with error list) Phase 2: Diagnostics Use the Roslyn MCP get diagnostics tool, scoped to changed files/projects (full solution for cross cutting changes). Compare against baseline flag only NEW warnings introduced by the current changes. Common findings: CS8600/CS8602 (nullability), CS0219 (unused variable). Output: PASS (0 new) / WARN (new warnings) / FAIL (new errors). Treat new warnings as work today's CS8600 is next month's production NullReferenceException. Phase 3: Antipattern Detection Use the Roslyn MCP detect antipatterns tool on changed files (full project for broad changes). Catches: async void , sync over async ( .Result , .GetAwaiter().GetResult() ), new HttpClient() , DateTime.Now / UtcNow instead of TimeProvider , broad catch (Exception) , string interpolation in logging, missing CancellationToken , EF read queries without AsNoTracking . Output: PASS (0 findings) / WARN (findings) / FAIL (critical antipatterns) Phase 4: Tests (CRITICAL short circuits) Full suite, or scoped to affected test projects for large solutions. Any failing test is a FAIL no exceptions. Stop and fix before later phases. If no test project exists: SKIP with a recommendation to add tests. Output: PASS (all green) or FAIL (failing test names + error messages) Phase 5: Security Scan Then review changed files for: hardcoded secrets/connection strings/API keys, SQL injection (raw SQL without parameterization), missing [Authorize] on endpoints that need it, permissive CORS, missing input validation, disabled HTTPS or certificate validation. Output: PASS / WARN (medium/low findings) / FAIL (critical/high vulnerabilities) Phase 6: Format Check Reports drift without auto fixing. To resolve, run dotnet format and include the changes in the commit. If no .editorconfig exists, note it as a recommendation. Output: PASS / WARN (with file list) Phase 7: Diff Review Analyze git diff stat and git diff (staged + unstaged) for: Accidental or unrelated file changes ( .vs/ , bin/ , obj/ , .env , secrets) Debug leftovers ( Console.WriteLine , if DEBUG in production paths) Unresolved TODO/HACK/FIXME markers Scope mismatch changes must match the task/PR description Output: PASS (clean, matches intent) / WARN (with findings) Fix and Retry Loop A single pass rarely produces all green. The loop is the point: 1. IDENTIFY which phase failed, and the specific error 2. FIX make the minimal change that resolves it 3. RE RUN from Phase 1 if the fix changed code; otherwise from the failed phase 4. REPEAT until all phases pass, or an issue needs user input Final Summary Verdicts: READY FOR REVIEW (all PASS, or only non blocking WARNs) or NEEDS FIXES (any FAIL, with specific remediation steps). For pre PR runs, include the verification report in the PR description. Example Related /build fix Auto fix build errors when Phase 1 fails /code review Multi dimensional review once verification passes /health check Whole project graded assessment (beyond this change set)