Best for
- Setting up a new machine
- After installing new skills
- Verifying environment is ready for all skills
jackchuka/skills/claude-skill-prereq-audit/SKILL.md
Scan skills for prerequisite tools, MCP servers, and auth requirements, then check if everything is installed and authenticated. Offers to fix issues. Use when setting up a new machine, after installing skills, or to verify your environment. Triggers: "check prerequisites", "skill prereqs", "are my tools installed", "verify skill dependencies", "/claude-skill-prereq-audit".
Decision brief
Scan installed skills, discover their tool/MCP/auth dependencies via heuristic parsing, check if everything is installed and authenticated, and offer to fix issues interactively.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Declared | Source record | Install path and trigger |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/jackchuka/skills --skill "claude-skill-prereq-audit"Inspect the Agent Skill "claude-skill-prereq-audit" from https://github.com/jackchuka/skills/blob/7b0b33f68b8f11522e43622e5cb3bacd802999d2/claude-skill-prereq-audit/SKILL.md at commit 7b0b33f68b8f11522e43622e5cb3bacd802999d2. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Glob for /.claude/skills//SKILL.md and .claude/skills//SKILL.md 2. Follow symlinks 3. If user specified skill names, filter the list to matching directory names 4. Exclude this skill (skill-prereq-check) from the scan list — its own SKILL.md contains tool references as parsin…
1. Glob for /.claude/skills//SKILL.md and .claude/skills//SKILL.md 2. Follow symlinks 3. If user specified skill names, filter the list to matching directory names 4. Exclude this skill (skill-prereq-check) from the scan list — its own SKILL.md contains tool references as parsin…
For each SKILL.md, extract dependencies using these heuristics:
Run checks for all discovered dependencies. Use parallel Bash calls where possible. Deduplicate check commands across skills — if multiple skills depend on the same tool, run the check once and reuse the result.
Print a table grouped by skill:
Permission review
The documentation asks the agent to read local files, directories, or repositories.
Read each SKILL.md fileThe documentation asks the agent to run terminal commands or scripts.
Run `command -v <tool>` — if exit code 0, installed; otherwise missingThe documentation includes network, browsing, or remote request actions.
| cli | not installed | Try `brew install <tool>`. If brew doesn't have it, search web for install instructions |Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 88/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 15 | Source | Repository attention, not individual Skill quality |
| Compatibility | 1 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Scan installed skills, discover their tool/MCP/auth dependencies via heuristic parsing, check if everything is installed and authenticated, and offer to fix issues interactively.
Parse from the user's invocation:
~/.claude/skills/ and .claude/skills/~/.claude/skills/*/SKILL.md and .claude/skills/*/SKILL.mdskill-prereq-check) from the scan list — its own SKILL.md contains tool references as parsing examples, not actual dependenciesFor each SKILL.md, extract dependencies using these heuristics:
CLI tools:
bash, shell, or sh## Prerequisites sections and prose for backtick-quoted tool names followed by "CLI", "installed", or "required"echo, cat, ls, mkdir, cd, grep, sed, awk, rm, cp, mv, date, wc, head, tail, sort, uniq, export, set, test, true, false, if, then, else, fi, for, do, done, while, case, esac, command, which, local, return, read, shift, printf, declaregit, not git commitMCP servers:
mcp__<server>__ patterns — extract <server> as the MCP server name<Name> MCP server or <Name> MCP tools in prose — extract <Name> lowercasedgh extensions:
gh <word> where <word> is NOT a built-in gh command: pr, issue, release, api, auth, repo, project, run, extension, gist, ssh-key, gpg-key, secret, variable, codespace, label, ruleset, cache, attestation, status, browse, search, workflow, config, aliasAuth hints:
auth status, auth login, auth test, auth check, authenticated within 200 characters of a tool nameRun checks for all discovered dependencies. Use parallel Bash calls where possible. Deduplicate check commands across skills — if multiple skills depend on the same tool, run the check once and reuse the result.
CLI tools:
command -v <tool> — if exit code 0, installed; otherwise missingtimeout 10 <tool> auth status 2>&1 (or use the Bash tool's timeout parameter set to 10000ms) and check exit code. If exit code != 0, try timeout 10 <tool> auth check 2>&1. If both fail, mark auth as "FAIL". If the command times out, mark auth as "TIMEOUT". If no auth hint, mark as "—"MCP servers:
+<server> to check if any mcp__<server>__* tools are available in the sessionauth_test), call it to verify. Otherwise auth = "—"gh extensions:
gh extension list once (cache the result)/<extension-name> or ends with the extension name)Print a table grouped by skill:
## Prerequisite Check
| # | Skill | Tool | Type | Installed | Auth |
|---|-------|------|------|-----------|------|
| 1 | slack-triage | slack | mcp | yes | yes |
| 2 | meeting-scheduler | gws | cli | yes | FAIL |
| 3 | daily-report | gh | cli | yes | yes |
| 4 | daily-report | slackcli | cli | no | — |
| 5 | oss-release | oss-watch | gh-ext | no | — |
Summary: N skills checked, M tools found, X issues
If no issues found, print "All prerequisites satisfied." and stop.
If issues exist, ask: "Want me to fix any of these? (e.g. '2, 4' or 'all' or 'done')"
For each selected item, attempt the appropriate fix:
| Type | Issue | Fix Strategy |
|---|---|---|
| cli | not installed | Try brew install <tool>. If brew doesn't have it, search web for install instructions |
| cli | auth FAIL | Run <tool> auth login (interactive) |
| mcp | not available | Tell user: "Add the <server> MCP server to your Claude config. I can't auto-configure this." |
| gh-ext | not installed | Run gh extension install <owner/repo> — search GitHub for the extension first |
After each fix attempt, re-run the check for that item and show the updated row.
When all selected fixes are attempted, re-print the full table with updated results.
~/.claude/skills/ doesn't exist, report "No skills directory found at ~/.claude/skills/" and check only .claude/skills/brew is not installed, suggest manual install instructions insteadExample 1: Check all skills
User: "check prerequisites"
Action: Scan all skills, parse deps, check each, show table
Example 2: Check specific skills
User: "/skill-prereq-check slack-triage meeting-scheduler"
Action: Scan only those two skills, parse deps, check, show table
Example 3: Fix issues
User: (after seeing table) "fix 2, 5"
Action: Run `gws auth login` for item 2, `gh extension install` for item 5, re-check
Alternatives
jackchuka/skills
Audit skill SKILL.md files for compliance with the agentskills.io specification and house conventions. Checks frontmatter fields (name, description, compatibility, metadata, argument-hint), metadata sub-fields (author, scope, layer, confirms), and layer/suffix consistency. Use when adding new skills, reviewing skill quality, or ensuring all skills follow the spec. Triggers: "audit skills", "check skill spec", "skill compliance", "are my skills up to spec", "/claude-skill-spec-audit".
affaan-m/ECC
Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases.
affaan-m/ECC
Garbage collection for your Claude Code configuration. Periodically scans ~/.claude (skills, memory, hooks, permissions, MCP servers, caches) for redundant, stale, orphaned, or low-value items, then walks the user through a confirm-each-deletion cleanup. Use when the user says "clean up my config", "config GC", "too many skills", "audit my setup", "my .claude is bloated", or asks for a periodic config review.
affaan-m/ECC
Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.