wicked-garden-platform-prereq-doctor · git:20260914.ba116c9 · 2026-09-14 · sha256 0a3055842ac9521c

wicked-garden-platform-prereq-doctor git:20260914.ba116c9A

Immutable. This exact content never changes and is served at /api/v1/blob/0a3055842ac9521c.

---
name: wicked-garden-platform-prereq-doctor
description: |
  Diagnose missing tools and dependencies, offer to install them.

  Use when: "command not found", "ModuleNotFoundError", "missing tool",
  "install dependency", "prereq check", "setup validation"
metadata:
  role: module
  phases: "build,review,operate"
  archetypes: "*"
---

# Prereq Doctor

Diagnoses missing CLI tools and Python dependencies, offers to install them.

## Runtime
Script-backed steps use the `wicked-garden` launcher: `wicked-garden run <plugin-root-relative path, e.g. scripts/…> [args]`. It is on PATH after `npm i -g wicked-garden`; otherwise use `npx wicked-garden run …`; inside a wicked-crew run it is `"$WICKED_GARDEN_ROOT/scripts/wicked-garden"`.
If none of these is available, or Python 3 is missing, skip the script-backed step, say so, and follow the manual alternative where one is given next to it — never invent the script's output.
Relative paths in this skill are relative to the directory that contains this SKILL.md.

## When to Use

- The harness's tool-failure hook (where it has one) detects a missing-tool error pattern
- Setup needs to validate a selected integration (issue tracker, CLI tool)
- Any command fails with "command not found" or "ModuleNotFoundError"
- User asks to check or install prerequisites

## How It Works

1. **Diagnose**: Parse the error or tool name to identify what's missing
2. **Lookup**: Match against the known tool registry (see refs/tool-registry.md)
3. **Detect platform**: macOS (brew) vs Linux (apt/dnf) vs generic (pip/npm/cargo)
4. **Ask**: Present the install command and ask the user for permission
5. **Install**: Run the install command if approved
6. **Verify**: Confirm the tool is now available

## Quick Reference

```bash
# Diagnose a specific tool
wicked-garden run scripts/platform/prereq_doctor.py check <tool>

# Diagnose from an error message
wicked-garden run scripts/platform/prereq_doctor.py diagnose "<error_text>"

# Check all prerequisites for wicked-garden
wicked-garden run scripts/platform/prereq_doctor.py check-all
```

## Usage from Commands

Commands should NOT inline install logic. Instead:

**Hand-off** — open this skill, `wicked-garden-platform-prereq-doctor`, with `check gh` as the argument; on Claude Code this is the Skill tool (or let the PostToolUseFailure hook catch the missing tool automatically — just try to use it), on any other seat open the named skill from your catalog and run it inline, then continue here.

## Detailed Reference

- refs/tool-registry.md — Full tool→install mapping with platform variants