Skip to content
Back to skills

Doctor

ASecurity

Check runtimes, GIS libraries, DB clients, installed modules, secrets hygiene, repo standards and toolkit version; print pass/fail with fixes.

  • 8 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
developmentpythonshellbashsqlnodegitsecurity

Works with

  • claude code
  • cli

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add Adilmunawar/ZD-claude-plugin --skill doctor --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Doctor?

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

Security grade badge for Doctor
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/adilmunawar-doctor/badge)](https://www.skillsdirectory.com/skills/adilmunawar-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: doctor
disable-model-invocation: true
description: Check runtimes, GIS libraries, DB clients, installed modules, secrets hygiene, repo standards and toolkit version; print pass/fail with fixes.
---

Run each check with Bash (Windows: PowerShell equivalents) and print a table `Check | Status | Fix`:

| Check | Command |
|---|---|
| Node ≥ 18 (hooks) | `node --version` |
| Claude Code version | `claude --version` |
| Modules installed | `claude plugin list` → expect zd-core, zd-gis, zd-vector, zd-models, zd-ml, zd-gee, zd-agis, zd-mobile, zd-dotnet, zd-deploy, zd-quality, zd-security, zd-ops, zd-usage, zd-reports |
| Python ≥ 3.10 | `python --version` / `python3 --version` |
| GeoPandas / rasterio / shapely ≥ 2 | `python -c "import geopandas, rasterio, shapely; print(shapely.__version__)"` |
| GDAL CLI | `ogr2ogr --version` |
| .NET SDK (if a .csproj exists) | `dotnet --version`; `dotnet ef --version` |
| Node project tooling (if package.json) | `npm --version`; `npx expo --version` for Expo apps; `firebase --version` for Firebase projects |
| Committed secrets | `node <zd-core>/scripts/secrets-audit.js .` → expect no findings |
| DB client | `psql --version` / `sqlcmd -?` / `sqlite3 --version` — whichever the repo's DB needs |
| Earth Engine (if used) | `python -c "import ee"` and `GEE_KEY_FILE` env var set (don't print it) |
| Secrets hygiene | `.gitignore` contains `.env`, `gee.json`, `*.pem`; no such files tracked (`git ls-files | grep -E "\.env$|gee\.json"`) |
| Large files | `git ls-files -z | xargs -0 du -k 2>/dev/null | awk '$1>51200'` → should be empty |
| CLAUDE.md present | exists at repo root; suggest `/zd-core:onboard` if not |
| Team settings | `.claude/settings.json` has `extraKnownMarketplaces.zaraatdost`; suggest `/zaraat-dost:setup` if not |

| Usage ledger | `~/.claude/zd-usage/ledger.jsonl` exists after at least one session; budget set (`/zd-usage:budget show`) |
| Toolkit version | compare bundle `plugin.json` version with the latest release (`check-update.js` cache); suggest `/zaraat-dost:upgrade` if behind |
| Repo standards | `.editorconfig`, `.gitattributes`, `.github/PULL_REQUEST_TEMPLATE.md`, `SECURITY.md`, `.github/dependabot.yml` present; suggest `/zaraat-dost:standards` and `/zd-security:harden-repo` |

Missing optional items are WARN, not FAIL. End with the single most important fix.

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…