Skip to content
Back to skills

Prereq Doctor

ASecurity

Diagnose missing tools and dependencies, offer to install them. Use when: "command not found", "ModuleNotFoundError", "missing tool", "install dependency", "prereq check", "setup validation"

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 18, 2026
ai-agentspythongobash

Works with

  • claude code
  • cli

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned October 18, 2026

npx -y skills add mikeparcewski/wicked-garden --skill prereq-doctor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prereq Doctor?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Prereq Doctor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mikeparcewski-prereq-doctor/badge)](https://www.skillsdirectory.com/skills/mikeparcewski-prereq-doctor)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Files in this skill

  • SKILL.md2.5 KB
  • refs/tool-registry.md3.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.