Skip to main content

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.

Detailsโ€‹

PropertyValue
Skill Directory.github/skills/prereq-check/
PhasePre-Deploy
User Invocableโœ… Yes
Usage/prereq-check Run without arguments to check all prerequisites

Documentationโ€‹

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โ€‹

PropertyValue
Best forFirst-time setup, command not found triage, dev container validation
Required binariesaz โ‰ฅ 2.50, gh โ‰ฅ 2.0, jq โ‰ฅ 1.6, git (any)
Required authaz login, gh auth login
Shellbash on macOS/Linux, PowerShell 7+ on Windows
MCP toolsNone โ€” runs locally via shell
Related skillsgit-ape-onboarding (next step), azure-validate (deployment-time checks)
Side effectsRead-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โ€‹

  1. Run read-only โ€” never brew install, apt-get install, or any state-changing command. Print the commands; the user runs them.
  2. 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).
  3. Stop at first blocking failure โ€” do not continue to auth checks while any tool is โŒ.
  4. Do not chain into other skills โ€” never auto-invoke git-ape-onboarding; tell the user to run it after READY.

Stepsโ€‹

#ActionReference
1Detect Platform โ€” uname -s / uname -m on bash, $PSVersionTable.OS on PowerShell โ†’ macOS / Linux (apt vs dnf) / Windows (PowerShell 7+)inline
2Scan Prompt for Reported Missing Tools โ€” match <tool>: command not found, command not found: <tool>, <tool> is not installedinline
3Run Tool Check โ€” macOS/Linux: bash scripts/check-tools.sh ยท Windows: pwsh -File scripts/check-tools.ps1scripts/check-tools.sh, scripts/check-tools.ps1
4Present Status Table โ€” pass/fail with found vs. minimum versionSee Status Table
5Show Install / PATH Repair โ€” only for โŒ and โš ๏ธ entries, scoped to platformreferences/install-commands.md
6Check Auth Sessions โ€” only if Step 4 reports all tools โœ…See Auth Checks
7Emit Verdict โ€” exactly one of READY / TOOLS MISSING / REPORTED MISSING / AUTH MISSINGSee Outputs

Status Tableโ€‹

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

ToolStatusFoundRequired
azโœ… / โš ๏ธ / โŒx.y.z2.50
ghโœ… / โš ๏ธ / โŒx.y.z2.0
jqโœ… / โš ๏ธ / โŒx.y1.6
gitโœ… / โŒx.y.zany

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:

  1. Status table from Step 4.
  2. Install / PATH repair commands for โŒ and โš ๏ธ entries โ€” pulled from references/install-commands.md, scoped to the detected platform.
  3. Auth status (Azure subscription + GitHub user) from Step 6, only when all tools โœ….
  4. 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โ€‹

ErrorCauseFix
az --version hangsStale telemetry / extension cacheaz config set core.collect_telemetry=false; reinstall if persistent
gh auth status says "not logged into any hosts"No GitHub sessiongh auth login --web
az account show returns Please run 'az login'Expired or missing sessionaz login (use --use-device-code in headless shells)
User reports missing tool but this terminal finds itDifferent shell / PATH / container / machineTreat as โš ๏ธ REPORTED MISSING โ€” print install + PATH repair, do not contradict
jq --version starts with 1.5Below minimum (1.6)Upgrade via platform package manager
check-tools.sh: Permission deniedScript not executablechmod +x .github/skills/prereq-check/scripts/check-tools.sh
check-tools.ps1 cannot be loaded because running scripts is disabledPowerShell execution policyRun via pwsh -File scripts/check-tools.ps1 (bypasses script-block policy), or Set-ExecutionPolicy -Scope Process RemoteSigned
pwsh: command not found on WindowsPowerShell 7+ not installedwinget 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.