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.
npx skills add https://github.com/Azure/git-ape --skill prereq-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.
| 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 |
/git-ape-onboarding)command not foundaz: command not found)brew install, apt-get install, or any state-changing command. Print the commands; the user runs them.git-ape-onboarding; tell the user to run it after READY.| # | Action | Reference |
|---|--------|-----------|
| 1 | Detect Platform — uname -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 |
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 → ❌OK in this terminal → ⚠️ with note reported missing by usermacOS / 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" }
A single chat message containing:
✅ 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 | 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 |
Always:
command -v <tool> + <tool> --version after suggested fixesNever:
brew install, apt-get install, winget install, or any state-changing commandscripts/check-tools.ps1) insteadgit-ape-onboarding after a READY verdictsudo on macOS (Homebrew handles non-root install)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.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.
Build agentic applications with GitHub Copilot SDK. Use when embedding AI agents in apps, creating custom tools, implementing streaming responses, managing sessions, connecting to MCP servers, or creating custom agents. Triggers on Copilot SDK, GitHub SDK, agentic app, embed Copilot, programmable agent, MCP server, custom agent.
Coding Agent Session Search - unified CLI/TUI to index and search local coding agent history from Claude Code, Codex, Gemini, Cursor, Aider, ChatGPT, Pi-Agent, Factory, and more. Purpose-built for AI agent consumption with robot mode.
Destructive Command Guard - High-performance Rust hook for Claude Code that blocks dangerous commands before execution. SIMD-accelerated, modular pack system, whitelist-first architecture. Essential safety layer for agent workflows.
Makepad UI development skills for Rust apps: setup, patterns, shaders, packaging, and troubleshooting.
Secure environment variable management ensuring secrets are never exposed in Claude sessions, terminals, logs, or git commits
Prompt for generating an AGENTS.md file for a repository
Take azure/prereq-check from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.
The instructions reference brew, apt.
Without those the skill loads but fails at the first command.