claude-skill-prereq-audit
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".
Best use case
claude-skill-prereq-audit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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".
Teams using claude-skill-prereq-audit should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/claude-skill-prereq-audit/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How claude-skill-prereq-audit Compares
| Feature / Agent | claude-skill-prereq-audit | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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".
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Skill Prerequisite Check 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. ## When to Use - Setting up a new machine - After installing new skills - Verifying environment is ready for all skills - Debugging "tool not found" errors during skill execution ## Arguments Parse from the user's invocation: - **Skill names**: Any tokens after the command → filter to those skills only - **Default**: scan all skills in `~/.claude/skills/` and `.claude/skills/` ## Workflow ### Phase 1: Discover Skills 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 parsing examples, not actual dependencies 5. Read each SKILL.md file ### Phase 2: Parse Prerequisites For each SKILL.md, extract dependencies using these heuristics: **CLI tools:** - Extract command names (first token of each line) from fenced code blocks marked as `bash`, `shell`, or `sh` - Also scan `## Prerequisites` sections and prose for backtick-quoted tool names followed by "CLI", "installed", or "required" - Ignore shell builtins and coreutils: `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`, `declare` - Ignore git subcommands: the tool is `git`, not `git commit` - Deduplicate per skill **MCP servers:** - Scan for `mcp__<server>__` patterns — extract `<server>` as the MCP server name - Also scan for `<Name> MCP server` or `<Name> MCP tools` in prose — extract `<Name>` lowercased - Deduplicate per skill **gh extensions:** - Scan for `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`, `alias` - Record as gh extension dependency **Auth hints:** - Scan for `auth status`, `auth login`, `auth test`, `auth check`, `authenticated` within 200 characters of a tool name - Mark that tool as needing an auth check ### Phase 3: Check Dependencies 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. **CLI tools:** 1. Run `command -v <tool>` — if exit code 0, installed; otherwise missing 2. If auth hint exists for this tool, run `timeout 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:** 1. Use ToolSearch with query `+<server>` to check if any `mcp__<server>__*` tools are available in the session 2. If tools found → installed = "yes". If auth tool was referenced in the skill (e.g. `auth_test`), call it to verify. Otherwise auth = "—" 3. If no tools found → installed = "no", auth = "—" **gh extensions:** 1. Run `gh extension list` once (cache the result) 2. Check if each extension name appears as a suffix in any line of the output (e.g., the line contains `/<extension-name>` or ends with the extension name) ### Phase 4: Present Results 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 ``` - "yes" = check passed - "FAIL" = check ran and failed - "—" = not applicable (not installed, or no auth pattern detected) - Number each row for reference in the fix phase If no issues found, print "All prerequisites satisfied." and stop. ### Phase 5: Interactive Fix 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. ## Error Handling - If `~/.claude/skills/` doesn't exist, report "No skills directory found at ~/.claude/skills/" and check only `.claude/skills/` - If a tool's auth check hangs (>10s), kill it and mark as "TIMEOUT" - If `brew` is not installed, suggest manual install instructions instead ## Examples Example 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 ```
Related Skills
dev-cli-consistency-audit
Reviews a CLI tool's command interface for consistency in argument naming, flag conventions, help text, and README alignment. Use when building CLI tools or before releasing CLI updates. Triggers: "review CLI arguments", "align CLI conventions", "CLI consistency check", "make sure commands are aligned", "review command interface".
claude-skill-spec-audit
Audit skill SKILL.md files for compliance with the agentskills.io specification. Checks frontmatter fields (name, description, compatibility, metadata, argument-hint) and metadata sub-fields (author, scope, confirms). 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".
claude-skill-orchestration-audit
Audit skills for agentic orchestration quality. Checks subagent dispatch patterns, parallelism opportunities, anti-patterns, and alignment with the three-phase pattern (setup → dispatch → aggregate). Use when reviewing skill quality, saying "audit orchestration", "check my skills for parallelism", "skill orchestration review", or "/claude-skill-orchestration-audit".
claude-permissions-audit
Review and reorganize Claude Code permission settings across all config files (global settings.json, project settings.local.json, dotfiles copies). Identifies redundancy, misplaced permissions, and lack of read/write organization. Produces a clean layout where global settings are the source of truth and project-local files only contain project-specific overrides. Use this skill whenever the user mentions reviewing permissions, cleaning up settings, auditing allowed tools, reorganizing settings.json, or asking "what permissions do I have". Also use when adding new MCP servers or tools and wanting to decide what to pre-allow. Triggers: "review permissions", "audit settings", "clean up settings.json", "permissions audit", "/permissions-audit".
restaurant-search
Search for Japanese restaurants using the `hpp` CLI (HotPepper Gourmet API). Use when the user wants to find a restaurant, plan a dinner, search for izakayas, or book a group meal in Japan. Triggers on requests like "find a restaurant near Shibuya", "search for izakayas in 新宿", "restaurant for 10 people in 浜松町", "dinner spot near Tokyo station".
project-namer
Use when naming a project, repository, tool, or product and wanting a memorable, unique name
p-slack-triage
Scan Slack for messages needing your attention, walk through them one-by-one, and draft/send replies. Covers DMs, mentions, threads, and channel activity. Use when the user wants to triage Slack, check what needs attention, or draft replies. Triggers on "triage slack", "check slack", "what needs my attention on slack", "slack replies", "review slack messages", "/slack-triage".
p-news-briefing
Use when the user asks for news, wants a briefing, says "/news-briefing", or asks to aggregate recent information on any topic. Triggers on requests like "what's happening with AI", "get me news on crypto", "news briefing on climate".
p-md-to-slides
Convert a structured Markdown deck source into a styled Google Slides presentation. Use this skill when the user has a slide.md file (or wants to write one) and wants Google Slides output — talks, LT decks, lecture slides, conference presentations, internal explainers. Trigger phrases include "md からスライド作って", "slide.md を Google Slides にして", "発表資料を Google Slides で", "convert this markdown to slides", "build a Google Slides deck from this markdown", "make slides from md", "/md-to-slides", and similar. Also use when the user references a presentation/<date>/slide.md file structure with `## Slide N — title`, `**話すこと:**`, and `**スライド要素:**` sections.
p-ego-search
Search for mentions of you across Slack, Fireflies, and GitHub. Triggers on "egosearch", "/egosearch", "search for mentions of me", "who's talking about me".
p-daily-standup
Aggregate previous business day activity and post standup update to Slack. Use when the user says "standup", "daily standup", "post status", "status update", or "/daily-standup".
p-daily-report
Use when reviewing what you worked on, creating standups, writing status updates, tracking daily/weekly progress, or asking "what did I do today"