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".

12 stars

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

$curl -o ~/.claude/skills/claude-skill-prereq-audit/SKILL.md --create-dirs "https://raw.githubusercontent.com/jackchuka/skills/main/claude-skill-prereq-audit/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/claude-skill-prereq-audit/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How claude-skill-prereq-audit Compares

Feature / Agentclaude-skill-prereq-auditStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/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

12
from jackchuka/skills

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

12
from jackchuka/skills

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

12
from jackchuka/skills

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

12
from jackchuka/skills

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

12
from jackchuka/skills

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

12
from jackchuka/skills

Use when naming a project, repository, tool, or product and wanting a memorable, unique name

p-slack-triage

12
from jackchuka/skills

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

12
from jackchuka/skills

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

12
from jackchuka/skills

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

12
from jackchuka/skills

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

12
from jackchuka/skills

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

12
from jackchuka/skills

Use when reviewing what you worked on, creating standups, writing status updates, tracking daily/weekly progress, or asking "what did I do today"