mcpbeat

Prereq Check

azure/prereq-check

Validate Git-Ape CLI tool installation (az, gh, jq, git), versions, and auth sessions. Shows platform-specific install commands for anything missing. USE FOR: check Git-Ape prerequisites, what do I need to install for Git-Ape, verify Git-Ape CLI tools, az: command not found, gh: command not found, jq: command not found, git: command not found, az missing, gh missing, jq missing, git missing, fresh machine setup for Git-Ape, dev container setup for Git-Ape, before running git-ape-onboarding, az login required, gh auth login, auth expired, not logged in, outdated az version, minimum az version, upgrade az. DO NOT USE FOR: Anything else. This skill is narrowly scoped to prerequisites checks for Git-Ape's CLI tools and auth sessions. Do not use it for any other purpose.

4k tokens
context cost
the whole folder, loaded on every use
4
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
265
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Azure/git-ape --skill prereq-check

What comes with it

6 865 bytes besides the instruction
references/install-commands.md
scripts/check-tools.ps1
scripts/check-tools.sh

The instruction itself

11 sections, as written by the author

Prerequisites Check

Validate that the local environment has the CLI tools and auth sessions needed to run Git-Ape skills. Print platform-specific install commands and PATH-repair guidance for anything missing or version-stale.

Quick Reference

| Property | Value |

|----------|-------|

| Best for | First-time setup, command not found triage, dev container validation |

| Required binaries | az ≥ 2.50, gh ≥ 2.0, jq ≥ 1.6, git (any) |

| Required auth | az login, gh auth login |

| Shell | bash on macOS/Linux, PowerShell 7+ on Windows |

| MCP tools | None — runs locally via shell |

| Related skills | git-ape-onboarding (next step), azure-validate (deployment-time checks) |

| Side effects | Read-only — never installs or modifies anything |

When to Use

  • Before first-time onboarding (/git-ape-onboarding)
  • When any Git-Ape skill fails with command not found
  • When the user reports a missing binary in their prompt (e.g., az: command not found)
  • After switching machines, shells, or dev containers
  • When the user asks "what do I need to install?"

Rules

  • Run read-only — never brew install, apt-get install, or any state-changing command. Print the commands; the user runs them.
  • Trust user reports — if the user reports a tool missing, treat it as ⚠️ even when this terminal can find it (different shell, PATH, container, or machine).
  • Stop at first blocking failure — do not continue to auth checks while any tool is ❌.
  • Do not chain into other skills — never auto-invoke git-ape-onboarding; tell the user to run it after READY.

Steps

| # | Action | Reference |

|---|--------|-----------|

| 1 | Detect Platformuname -s / uname -m on bash, $PSVersionTable.OS on PowerShell → macOS / Linux (apt vs dnf) / Windows (PowerShell 7+) | inline |

| 2 | Scan Prompt for Reported Missing Tools — match <tool>: command not found, command not found: <tool>, <tool> is not installed | inline |

| 3 | Run Tool Check — macOS/Linux: bash scripts/check-tools.sh · Windows: pwsh -File scripts/check-tools.ps1 | scripts/check-tools.sh, scripts/check-tools.ps1 |

| 4 | Present Status Table — pass/fail with found vs. minimum version | See Status Table |

| 5 | Show Install / PATH Repair — only for ❌ and ⚠️ entries, scoped to platform | references/install-commands.md |

| 6 | Check Auth Sessions — only if Step 4 reports all tools ✅ | See Auth Checks |

| 7 | Emit Verdict — exactly one of READY / TOOLS MISSING / REPORTED MISSING / AUTH MISSING | See Outputs |

Status Table

scripts/check-tools.sh emits TSV rows of tool<TAB>status<TAB>found<TAB>minimum. Render them as:

| Tool | Status | Found | Required |

|------|--------|-------|----------|

| az | ✅ / ⚠️ / ❌ | x.y.z | 2.50 |

| gh | ✅ / ⚠️ / ❌ | x.y.z | 2.0 |

| jq | ✅ / ⚠️ / ❌ | x.y | 1.6 |

| git | ✅ / ❌ | x.y.z | any |

Status mapping:

  • OK → ✅
  • OUTDATED or MISSING → ❌
  • Reported missing in Step 2 but OK in this terminal → ⚠️ with note reported missing by user

Auth Checks

macOS / Linux (bash):

az account show --query "{name:name,id:id,tenantId:tenantId}" -o table 2>/dev/null \
  || echo "❌ Not logged in to Azure. Run: az login"

gh auth status 2>/dev/null \
  || echo "❌ Not logged in to GitHub. Run: gh auth login"

Windows (PowerShell 7+):

az account show --query "{name:name,id:id,tenantId:tenantId}" -o table 2>$null
if (-not $?) { Write-Output "❌ Not logged in to Azure. Run: az login" }

gh auth status 2>$null
if (-not $?) { Write-Output "❌ Not logged in to GitHub. Run: gh auth login" }

Outputs

A single chat message containing:

  • Status table from Step 4.
  • Install / PATH repair commands for ❌ and ⚠️ entries — pulled from references/install-commands.md, scoped to the detected platform.
  • Auth status (Azure subscription + GitHub user) from Step 6, only when all tools ✅.
  • Final verdict — exactly one of:
  • ✅ READY — all tools installed, versions OK, auth sessions active. Render the handoff chip from ## Next so the user can click into onboarding.
  • ⚠️ TOOLS MISSING — list what to install. Do not continue.
  • ⚠️ REPORTED MISSING — this terminal finds the tool but the user reported it missing. Print install / PATH repair + verification block.
  • ⚠️ AUTH MISSING — tools OK but az login and/or gh auth login required.

Error Handling

| Error | Cause | Fix |

|-------|-------|-----|

| az --version hangs | Stale telemetry / extension cache | az config set core.collect_telemetry=false; reinstall if persistent |

| gh auth status says "not logged into any hosts" | No GitHub session | gh auth login --web |

| az account show returns Please run 'az login' | Expired or missing session | az login (use --use-device-code in headless shells) |

| User reports missing tool but this terminal finds it | Different shell / PATH / container / machine | Treat as ⚠️ REPORTED MISSING — print install + PATH repair, do not contradict |

| jq --version starts with 1.5 | Below minimum (1.6) | Upgrade via platform package manager |

| check-tools.sh: Permission denied | Script not executable | chmod +x .github/skills/prereq-check/scripts/check-tools.sh |

| check-tools.ps1 cannot be loaded because running scripts is disabled | PowerShell execution policy | Run via pwsh -File scripts/check-tools.ps1 (bypasses script-block policy), or Set-ExecutionPolicy -Scope Process RemoteSigned |

| pwsh: command not found on Windows | PowerShell 7+ not installed | winget install Microsoft.PowerShell — Windows PowerShell 5.1 also works but ship pwsh for parity |

Constraints

Always:

  • Print install commands; let the user run them
  • Detect platform before printing recipes
  • Honor user-reported missing tools even when this terminal finds them
  • Stop at the first blocking failure
  • Verify with command -v <tool> + <tool> --version after suggested fixes

Never:

  • Run brew install, apt-get install, winget install, or any state-changing command
  • Require git-bash on Windows — use the PowerShell script (scripts/check-tools.ps1) instead
  • Auto-invoke git-ape-onboarding after a READY verdict
  • Silently drop a reported-missing tool because this terminal finds it
  • Continue to auth checks while any tool is ❌
  • Recommend sudo on macOS (Homebrew handles non-root install)

Next

After a ✅ READY verdict, render this line verbatim so the chat surface turns it into a clickable handoff:

> Next: @Git-Ape Onboarding — or run /git-ape-onboarding to start setup.

VS Code Copilot Chat renders @AgentName mentions and /skill-name slash commands as clickable chips — the user clicks once to dispatch. Do not auto-invoke (Rule 4).

For deployment-time validation of an Azure project, use azure-validate instead.

How to use it

Copy the folder

Take azure/prereq-check from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference brew, apt. Without those the skill loads but fails at the first command.