health-plugin/skills/health-audit/SKILL.md
Plugin audit against detected stack (Python, Node, Rust, Go, Terraform, Docker, K8s). Use when cleaning up unused plugins or discovering stack-relevant ones for a project.
npx skillsauth add laurigates/claude-plugins health-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Audit the project's enabled plugins against the actual technology stack. Identifies plugins that don't apply to this project and suggests relevant plugins that aren't enabled.
| Use this skill when... | Use another approach when... |
|------------------------|------------------------------|
| Reviewing plugin relevance for current project | General health diagnostics (use /health:check) |
| Cleaning up unused plugins | Plugin registry corruption (use /health:plugins --fix) |
| Discovering relevant plugins for tech stack | Agentic optimization audit (use /health:agentic-audit) |
| Optimizing project-specific plugin configuration | Installing specific plugin (install directly) |
| Onboarding to existing project | Need comprehensive settings validation |
pwdfind . -maxdepth 2 -path '*/.claude/settings.json'find . -maxdepth 1 -name 'package.json'find . -maxdepth 1 -name 'Cargo.toml'find . -maxdepth 1 -name 'pyproject.toml'find . -maxdepth 1 -name 'requirements.txt'find . -maxdepth 1 -name 'go.mod'find . -maxdepth 1 -name 'Dockerfile'find . -maxdepth 1 \( -name 'docker-compose.yml' -o -name 'docker-compose.yaml' -o -name 'compose.yml' -o -name 'compose.yaml' \)find .github/workflows -maxdepth 1 -name '*.yml' -quit -printfind . -maxdepth 2 -name '*.tf' -quit -printfind . -maxdepth 3 \( -path '*/k8s/*' -o -path '*/kubernetes/*' \) -name '*.yaml' -quit -print| Parameter | Description |
|-----------|-------------|
| --fix | Apply recommended changes to .claude/settings.json |
| --dry-run | Show what would be changed without modifying files |
| --verbose | Show detailed analysis of each plugin decision |
Execute this plugin relevance audit:
Analyze project files from the context above to determine the technology stack. Match indicators against the tech stack mapping in REFERENCE.md.
Run claude plugin list --json to get all available plugins from configured marketplaces. Parse the output for plugin name, description, keywords, and category.
Read .claude/settings.json and extract the enabledPlugins array. If the file does not exist or enabledPlugins is not set, treat as empty list.
Compare each enabled plugin against the detected tech stack. Use the plugin relevance mapping in REFERENCE.md to determine which plugins are relevant, irrelevant, or missing.
Categorize each plugin as:
Print a structured report covering:
When --fix is passed:
cp .claude/settings.json .claude/settings.json.backup.claude/settings.json -- remove confirmed irrelevant plugins, add confirmed relevant plugins, preserve other settingsNote: This command only manages project-level plugin settings in .claude/settings.json.
User-level plugins (in ~/.claude/settings.json) are managed separately and don't need duplication at project level.
When analyzing, check if a plugin is already enabled at user level:
jq -r '.enabledPlugins[]? // empty' ~/.claude/settings.json 2>/dev/null
If a plugin is enabled at user level, it doesn't need to be in project settings unless you want project-specific behavior.
| Scenario | Behavior |
|----------|----------|
| No .claude/settings.json | Create it with recommended plugins |
| Empty enabledPlugins | Suggest adding relevant plugins |
| Monorepo with multiple languages | Suggest all matching plugins |
| Plugin not in marketplace | Flag as "unknown" but don't remove |
| User declined changes | Respect decision, show manual instructions |
| Context | Command |
|---------|---------|
| Plugin relevance audit | /health:audit |
| Audit with auto-fix | /health:audit --fix |
| Dry-run mode | /health:audit --dry-run |
| List enabled plugins | jq -r '.enabledPlugins[]? // empty' .claude/settings.json 2>/dev/null |
| Detect project languages | find . -maxdepth 1 \( -name 'package.json' -o -name 'Cargo.toml' -o -name 'pyproject.toml' \) -exec basename {} \; |
| Flag | Description |
|------|-------------|
| --fix | Apply recommended changes (with confirmation) |
| --dry-run | Show what would be changed without modifying |
| --verbose | Show detailed reasoning for each decision |
/health:plugins - Fix plugin registry issues/health:check - Full diagnostic scan/configure:claude-plugins - Initial plugin setuptesting
Verify accumulated bug claims at upstream HEAD and dedup against trackers before filing issues. Use when filing upstream reports from backlogs, audit docs, or git-history findings.
documentation
Gate outward-bound text (upstream issues, docs, PR bodies) through isolated haiku fresh-reader critique before publishing. Use when an artifact must survive a reader with zero project context.
tools
Suggest improvements to SKILL.md content, descriptions, or tool config from eval results. Use when raising pass rates, fixing triggering, or iterating on a skill after evaluation.
tools
deadbranch CLI for stale-branch cleanup — dry-run preview, TUI or non-interactive delete, protects main/develop/WIP. Use when asked to clean up branches, prune branches, or remove stale branches.