redth/maui.sherpa/maui-doctor
Claude Code and agent skill by redth/maui.sherpa
- community
Checking that the SKILL.md file is still in the repository.
Diagnoses and fixes .NET MAUI development environment issues. Validates .NET SDK, workloads, Java JDK, Android SDK, Xcode, and Windows SDK. All version requirements discovered dynamically from NuGet WorkloadDependencies.json - never hardcoded. Use when: setting up MAUI development, build errors mentioning SDK/workload/JDK/Android, "Android SDK not found", "Java version" errors, "Xcode not found", environment verification after updates, or any MAUI toolchain issues. Works on macOS, Windows, and Linux.
Install
npx vskill@latest install redth/maui.sherpa/maui-doctorSKILL.md
.NET MAUI Doctor
Validate and fix .NET MAUI development environments.
Key Principle
All version requirements discovered dynamically from NuGet APIs. Never hardcode versions. See references/workload-dependencies-discovery.md.
Behavior
- Run through ALL tasks autonomously
- Re-validate after each fix
- Iterate until complete or no further actions possible
Platform Support
| Check | macOS | Windows | Linux | |
|---|---|---|---|---|
| .NET SDK | ✅ | ✅ | ✅ | |
| Workloads | ✅ | ✅ | Android only | |
| Java JDK | ✅ | ✅ | ✅ | |
| Android SDK | ✅ | ✅ | ✅ | |
| Xcode | ✅ | N/A | N/A |
Workflow
Task 1: Detect Environment
Task 2: Check .NET SDK
Compare installed vs latest-sdk where support-phase is "active".
Task 3: Check MAUI Workloads
| Workload | macOS | Windows | Linux | |
|---|---|---|---|---|
maui | Required | Required | ❌ Use maui-android | |
maui-android | Alias | Alias | Required | |
android | Required | Required | Required | |
ios | Required | Optional | N/A |
Linux: Use maui-android NOT maui (meta-workload includes iOS deps).
Task 4: Discover Requirements from NuGet
See references/workload-dependencies-discovery.md for complete process.
Query NuGet for workload manifest → extract WorkloadDependencies.json → get:
jdk.versionrange andjdk.recommendedVersionandroidsdk.packages,buildToolsVersion,apiLevelxcode.versionrange
Task 5: Validate Java JDK
Only Microsoft OpenJDK supported. See references/microsoft-openjdk.md for paths and detection.
Verify java -version output contains "Microsoft".
⚠️ TEMPORARY WORKAROUND: Thejdk.recommendedVersionfrom WorkloadDependencies.json currently returns 17, but recommend JDK 21 instead. This will be fixed in a future Android workload update. Rule: If WorkloadDependencies suggests ≤21, recommend 21. If it suggests >21, use that value.
Task 6: Validate Android SDK
Check packages from androidsdk.packages, buildToolsVersion, apiLevel (Task 4).
See references/installation-commands.md for detection commands.
Task 7: Validate Xcode (macOS Only)
Compare against xcode.version range from Task 4.
Task 8: Validate Windows SDK (Windows Only)
Quick Diagnosis (Before Reinstalling)
⏱️ 2-minute check that can save hours. Many "missing tool" errors are actually path/environment issues.
| Error Message | Likely Actual Cause | Quick Fix | |
|---|---|---|---|
| "Xcode not found" | xcode-select pointing to wrong path | sudo xcode-select -s /Applications/Xcode.app/Contents/Developer | |
| "Android SDK not found" | SDK exists but not in current shell | source ~/.zshrc or restart terminal | |
| "Java not found" / "JDK not detected" | JDK installed but not in PATH | Restart terminal; tooling auto-detects | |
| "SDK mismatch" after OS upgrade | Shell config not reloaded | source ~/.bashrc or source ~/.zshrc | |
| "Xcode license not accepted" | License reset after Xcode update | sudo xcodebuild -license accept |
Diagnostic Steps:
- Is it actually missing? Check with direct path:
ls -d /Applications/Xcode*.app,ls /Library/Java/JavaVirtualMachines/ - Is it a shell issue? Open NEW terminal and retry
- Is it an env var issue? Check
echo $ANDROID_HOME,echo $JAVA_HOME- often these don't need to be set
Only reinstall if the tool is genuinely missing from disk.
Task 9: Remediation
See references/installation-commands.md for all commands.
Key rules:
- Workloads: Always use
--versionflag. Never useworkload updateorworkload repair. - JDK: Only install Microsoft OpenJDK.
- Android SDK: Use
android sdk install(if tool available) orsdkmanager.
Task 10: Re-validate
After each fix, re-run validation. Iterate until all pass.
Optional Tools (Third-Party)
Highly recommended to simplify and make validation and remediation more reliable / consistent.
| Tool | Package | Purpose | |
|---|---|---|---|
android | AndroidSdk.Tool | JDK/Android SDK detection | |
apple | AppleDev.Tools | Xcode detection (macOS) |
Ask before installing: "This is a third-party tool (not Microsoft). Install it?"
Important Notes
- Linux workloads: Use
maui-android+android(NOTmaui) - JDK: Only Microsoft OpenJDK. Look for "Microsoft" in
java -version. - JDK Version: ⚠️ Recommend JDK 21 (not 17) until WorkloadDependencies.json is updated.
- JAVA_HOME: Not required. Only problematic if set to non-Microsoft JDK.
Context-Specific Guidance
CI/CD Pipelines
For automated builds (Azure DevOps, GitHub Actions, etc.):
- Pin versions: Always use
dotnet workload install --version X.Y.Zfor reproducibility - Use `--skip-manifest-update`: Prevents drift between pipeline runs
- Cache aggressively: NuGet packages, workloads, Android SDK (~90% hit rate saves 5-10 min)
- Accept licenses non-interactively:
echo y | sdkmanager --licenses - Avoid:
dotnet workload update,dotnet workload repair(non-reproducible)
Expected build times:
| Cache State | Time | |
|---|---|---|
| Cold (nothing cached) | 8-12 min | |
| Warm (NuGet cached) | 3-5 min | |
| Hot (workloads + SDK cached) | 1-2 min |
Linux (Android-Only)
- Workloads: Use
maui-android+android(NOTmaui) - KVM acceleration: Critical for emulator performance
``bash sudo apt install qemu-kvm && sudo usermod -aG kvm $USER # Log out/in for group change kvm-ok # Should say "can be used" ``
- Disk space: Expect ~8-10GB for SDK + emulator images
- Streamline .csproj: Remove unused TFMs
``xml <TargetFrameworks>net9.0-android</TargetFrameworks> ``
Productivity Tips
Shell aliases (~/.bashrc or ~/.zshrc):
macOS parallel setup: Start iOS simulator download in Xcode while continuing with SDK/workload installation.
References
references/workload-dependencies-discovery.md- NuGet API discovery processreferences/microsoft-openjdk.md- JDK paths, detection, installationreferences/installation-commands.md- All validation and install commandsreferences/platform-requirements.md- Platform-specific detailsreferences/troubleshooting.md- Common issues and solutions
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsrc/MauiSherpa.Core/Skills/maui-doctor/SKILL.md
Popularity
- Repository stars
- 181
- Repository forks
- 19
- 7-day trend score
- 26
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/redth/maui.sherpa/maui-doctor)