dotnet-build-diagnostics

bravellian's avatarfrom bravellian

Capture dotnet environment and CI-style build diagnostics with binlog and summary output.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 4, 2026

When & Why to Use This Skill

The dotnet-build-diagnostics skill streamlines the troubleshooting process for .NET applications by capturing comprehensive environment data and CI-style build diagnostics. It generates both a detailed binary log (binlog) for deep inspection and a concise text summary optimized for sharing in chat, helping developers and AI agents quickly pinpoint and resolve MSBuild compilation errors and configuration issues.

Use Cases

  • Case 1: Efficiently debugging failed .NET builds by extracting specific error blocks and stack traces from the summary log to share with AI assistants without exceeding context limits.
  • Case 2: Diagnosing environment-specific build failures in CI/CD pipelines or local setups by capturing a complete snapshot of the dotnet environment and build artifacts.
  • Case 3: Facilitating an iterative 'fix-and-verify' workflow where the skill is used to confirm progress after each code change by re-running diagnostics and checking for remaining errors.
namedotnet-build-diagnostics
descriptionCapture dotnet environment and CI-style build diagnostics with binlog and summary output.

dotnet-build-diagnostics

Collect build diagnostics, including a binlog and a summary log suitable for sharing in chat.

Outputs

  • artifacts/codex/build.binlog
  • artifacts/codex/build-summary.txt

Requirements

  • dotnet CLI
  • python3 (bash script only)
  • PowerShell (pwsh) for Windows

Run

Bash:

bash .codex/skills/dotnet-build-diagnostics/scripts/run-build-diagnostics.sh

PowerShell:

pwsh -File .codex/skills/dotnet-build-diagnostics/scripts/run-build-diagnostics.ps1

Guidance for sharing errors

  • Open artifacts/codex/build-summary.txt and paste only the error list and the first few lines of any stack trace into chat.
  • If the log is large, include the first error block and the last 50 lines of the build output.
  • We will iterate by fixing one error at a time and re-running the script to confirm progress.