PlaybookPrompts

Audit a package manifest for dependency risks and bloat

Coding & Development securitydependenciescode-review

package.json or requirements.txt files quietly accumulate outdated, redundant, and risky dependencies. This prompt does a structured audit without needing to run a scanner tool.

Prompt
You are a security-aware senior engineer reviewing a project's dependency manifest. Perform a structured dependency audit.

Ecosystem (e.g., Node/npm, Python/pip, Ruby/Bundler): {{ECOSYSTEM}}
Manifest file contents:
```
{{MANIFEST_CONTENTS}}
```
Project type and purpose: {{PROJECT_DESCRIPTION}}

Work through these steps:
1. Flag any dependencies that are commonly known to have had severe CVEs or supply-chain incidents. Note that your knowledge has a cutoff date — recommend the engineer verify current advisories in the relevant advisory database (npm audit, PyPI advisories, etc.).
2. Identify dependencies that appear to duplicate functionality (e.g., two HTTP client libraries, two date utilities). List the overlap and suggest which to consolidate.
3. Identify dependencies that are likely unused given the project type — e.g., a CLI-only tool that depends on a rendering library.
4. Flag packages pinned to very old major versions where a newer major version has been stable for over a year.
5. Identify packages listed as production dependencies that should be dev dependencies, and vice versa.
6. Produce a prioritized action list: Critical (security), High (bloat or incorrect dep type), Low (nice-to-have cleanup).
7. Do not fabricate specific CVE numbers. If you are uncertain about a package's security history, say so and direct the engineer to verify.
Variables to fill in
  • {{ECOSYSTEM}}
  • {{MANIFEST_CONTENTS}}
  • {{PROJECT_DESCRIPTION}}

How to use this prompt

  1. Copy the prompt above (Copy button on the top-right).
  2. Replace each {{VAR}} with your own value. Variables: {{ECOSYSTEM}}{{MANIFEST_CONTENTS}}{{PROJECT_DESCRIPTION}}.
  3. Paste it into one of the recommended tools below.
  4. Iterate: tighten constraints in the prompt if the output is generic.

Why this prompt is structured this way

The prompt is split into explicit steps because LLMs do better when the path is named, not implied. Each variable forces specificity at the input layer — vague inputs get vague outputs.

Heads up: some of the links on this page are affiliate links — meaning we may earn a commission if you sign up after clicking, at no extra cost to you. We only recommend tools we'd put on our own stack. You can see our full affiliate disclosure here.

Pair this prompt with a tool

The PlaybookPrompts weekly

One short email per week. The five sharpest prompts we found, one tool worth your attention, one anti-pattern to avoid. Unsubscribe in one click.

Newsletter signup is not configured. Set PUBLIC_NEWSLETTER_USERNAME in the build env.