midnight-plugin-utils:dependency-scanner

Scan Claude plugin source files for external dependency references.

37|9|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/devrelaicom/midnight-expert --skill midnight-plugin-utils-dependency-scanner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: midnight-plugin-utils:dependency-scanner
Source: https://github.com/devrelaicom/midnight-expert/tree/main/plugins/midnight-plugin-utils/skills/dependency-scanner
Command: npx skills add https://github.com/devrelaicom/midnight-expert --skill midnight-plugin-utils-dependency-scanner

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill detects undeclared external dependencies in Claude plugins by scanning source files for pattern-based references and guiding the creation of an extends-plugin.json manifest to prevent runtime failures and packaging oversights.

Core Features & Use Cases

  • Pattern-based scanning across Markdown, JSON, Python, and shell files to detect skill, agent, plugin, tool, and system command references.
  • Produces a JSON array of raw matches (location, matched text, context, type) and assists grouping, filtering, and provider identification using installed_plugins and marketplace metadata.
  • Interactive, batched user confirmations to decide required versus optional dependencies and to write .claude-plugin/extends-plugin.json with diffs when applicable.
  • Common uses: generate extends-plugin.json from scratch, audit plugin changes after refactors, compare dependencies between plugins, and investigate missing runtime prerequisites.

Quick Start

Scan the plugin directory ./my-plugin for external dependencies and interactively build an extends-plugin.json manifest.

Frequently Asked Questions about midnight-plugin-utils:dependency-scanner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect undeclared dependencies in a Claude plugin?

To detect undeclared dependencies in a Claude plugin, scan source files using regex pattern matching to find references to external skills, agents, and system commands. This process produces a JSON array of raw matches with location and context to identify missing extends-plugin.json declarations.

What is extends-plugin.json used for in Claude plugins?

The extends-plugin.json manifest is used in Claude plugins to explicitly declare external dependencies. Scanning source files for pattern-based references helps generate this manifest, preventing packaging oversights and runtime failures caused by undeclared skills, agents, or system commands.

How do I generate an extends-plugin.json manifest from existing plugin source files?

Generate an extends-plugin.json manifest by scanning Markdown, JSON, Python, and shell files for external references. The scanner produces raw regex matches, assists grouping and filtering, and uses interactive confirmations to decide required versus optional dependencies before writing the manifest.

Does the dependency scanner require Python to audit plugin directories?

Yes, the dependency scanner requires Python 3 to audit local plugin directories. Additionally, scanning installed marketplace plugins for provider identification requires access to installed_plugins and marketplace metadata to accurately filter and group external skill references.

Why is my Claude plugin failing at runtime after a refactor?

A Claude plugin may fail at runtime after a refactor due to undeclared external dependencies. Scanning source files for pattern-based references to skills and system commands can investigate missing runtime prerequisites and help update the extends-plugin.json manifest.

What's the best way to audit external skill references in local plugin folders?

The best way to audit external skill references in local plugin folders is to run a static analysis scanner that searches for regex patterns across source files. This produces a structured JSON array of matches with type and context, allowing you to interactively confirm dependencies before manifest generation.