dependency-review
Supply-chain review of dependency and CI changes in an open-source pull request.
Skill by Priyank Patel
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/priyank766-dependency-review
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/dependency-review
What's inside
- Skill name
dependency-review- Description
- Supply-chain review of dependency and CI changes in an open-source pull request. Use when a PR adds or bumps a dependency, changes a lockfile, introduces a build or postinstall script, edits a GitHub Actions workflow, changes a container base image, or when a bot-generated dependency bump needs human judgement before merge. Covers install-time code execution, package-identity and typosquat checks, artifact provenance, transitive footprint, license class, and workflow privilege changes. Ecosystem-agnostic — npm, PyPI, Go, Cargo, RubyGems, Composer, containers. Do NOT use for routine patch bumps from a trusted bot where the lockfile diff is clean, no new packages appear, and CI is green.
- License
- Apache-2.0
- Metadata
- suite: opensource-review-suite · author: Priyank Patel · domain: supply-chain · version: 1.0.0 · severity_floor: 7.5
- Instructions
- 443 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Files (8)
- SKILL.md
- CI-AND-CONTAINER-REVIEW.md · references/
- DETECTION-PLAYBOOK.md · references/
- IS-IT-NEEDED.md · references/
- PACKAGE-IDENTITY.md · references/
- PROVENANCE-AND-LICENSING.md · references/
- QUALITY-FILTER.md · references/
- REVIEW-VOICE.md · references/
SKILL.md (first lines)
# Dependency & Supply-Chain Review
The lens for PRs where the risk is not in the diff's own code but in the code the diff
invites in. Layered on top of [`pr-review`](https://github.com/priyank766/OpenSource-SKILL/blob/main/skills/pr-review/SKILL.md).
**Read first:** [`DETECTION-PLAYBOOK.md`](references/DETECTION-PLAYBOOK.md) ·
[`QUALITY-FILTER.md`](references/QUALITY-FILTER.md) ·
[`REVIEW-VOICE.md`](references/REVIEW-VOICE.md)
> **Where the time goes.** Finding the flaw is the review. The playbook above is the
> general flaw-hunting procedure; this file is the domain-specific lens on top of it.
> Scoring and writing the comment are the last ten minutes, not the work.
**Severity floor: 7.5** — lower than the suite default of 8.0. A malicious or compromised
dependency executes with full build and runtime privilege on every contributor's laptop
and inside CI, where the tokens live. A false positive costs one thread of discussion. A
miss costs the project's release signing key. That asymmetry justifies the lower bar; it
does not justify posting health-score trivia.
---
## The governing rule
> Adding a dependency adds every one of that package's maintainers to your project's trust
> boundary — and every maintainer of every one of its transitive dependencies too.
So the review question is never "is this library good". It is:
**What does merging this let someone else execute, and where?**
"Where" has three answers, in descending order of severity: in CI with repository
credentials, on a contributor's machine at install time, and in production at runtime.
Score against the worst reachable one.
---
## Why this exists
Dependency PRs are the ones reviewers rubber-stamp. The manifest diff is one line, the
bot's changelog link looks fine, CI is green — and green CI is exactly what an
install-time payload produces. Meanwhile the actual review surface, the lockfile, is
collapsed by default in the GitHub UI as a generated file.
The default AI pass on these PRs is worse than useless: it summarises the changelog and
notes that the package is popular. That is a 5/10 comment on a diff with a 10/10 finding
three hundred lines down.
### What each role gets out of it
| Role | Time this gives back |
| :--- | :--- |
| **Maintainer** | The lockfile read you keep postponing, done as a checklist. You get "12 new transitive packages, one with a postinstall, here it is" instead of a 3,000-line generated diff you were going to scroll past. |
| **Contributor** | A pre-flight on your own dependency addition — wrong section, duplicate major version, copyleft license — so the first maintainer reply is not a request to remove it. |
| **Project owner** | A repeatable bar for what enters the trust boundary, and a blast-radius argument you can point at when justifying pinning, `--ignore-scripts`, or SHA-pinned actions. |
---
## Procedure
```mermaid
flowchart TD
A[Dependency or CI change detected] --> B[1. Diff the lockfile, not the manifest]
B --> C[1b. Enumerate newly added packages, direct and transitive]
C --> D[2. Run ecosystem vulnerability scanners]
D --> E[3. Enumerate install-time scripts across the new tree]
E --> F[4. Check package identity]
F --> G[5. Check provenance, health, and license]
G --> H[6. Review CI workflow and image changes]
H --> I[7. Ask whether the dependency is needed at all]
I --> J[Score against the 10-point filter]
J -->|"score below 7.5"| K[Discard or batch into an issue]
J -->|"score 7.5 or above"| L[Report with evidence]
J -->|"suspected active compromise"| M[Do not comment publicly. Contact maintainers privately]
```
---
## 1. Read the lockfile diff, not the manifest
A one-line manifest change can pull forty transitive packages. The manifest states intent;
the lockfile states what actually gets installed. Only one of those is the trust boundary.
```bash
git diff base...head -- \
package.json package-lock.json yarn.lock pnpm-lock.yaml npm-shrinkwrap.json \
pyproject.toml uv.lock poetry.lock Pipfile.lock requirements*.txt \
go.mod go.sum Cargo.toml Cargo.lock Gemfile Gemfile.lock composer.json composer.lock
git diff --stat base...head -- '*lock*' '*.sum'
```
Count what actually arrived. A "bump lodash" PR that adds 40 package entries is not a bump.
```bash
# npm / pnpm / yarn — new package entries in the lockfile
git diff base...head -- package-lock.json | grep -E '^\+\s+"node_modules/' | sort -u | wc -l
git diff base...head -- pnpm-lock.yaml | grep -E '^\+\s{2}/' | sort -u
# Go — every added module line
git diff base...head -- go.sum | grep '^+' | awk '{print $1, $2}' | sort -u
# Cargo / Poetry / uv — added package stanzas
git diff base...head -- Cargo.lock | grep -A2 '^\+name = '
git diff base...head -- poetry.lock uv.lock | grep -E '^\+name = '
# Python requirements
git diff base...head -- 'requirements*.txt' | grep -E '^\+[^-+]'
```
Then diff the resolved sets rather than the text, which removes reordering noise:
```bash
git show base:package-lock.json | jq -r '.packages | keys[]' | sort > /tmp/before.txt
jq -r '.packages | keys[]' package-lock.json | sort > /tmp/after.txt
comm -13 /tmp/before.txt /tmp/after.txt # packages added by this PR
```
Three lockfile shapes deserve their own look, regardless of scanner output:From priyank766/OpenSource-SKILL, Apache-2.0.
More from priyank766/OpenSource-SKILL
- 0.552score
performance-review
Priyank Patel
Performance and resource-efficiency review of an open-source pull request or diff.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
contributor-experience-review
Priyank Patel
Review of a first-time or early-stage contributor's pull request, where the technical bar stays fixed but the sequencing, batching, and supplied context change.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
docs-review
Priyank Patel
Review of documentation correctness in an open-source pull request — treating docs as unexecuted code and verifying them by running them.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
api-compat-review
Priyank Patel
Backward-compatibility review of changes to a project's public surface.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
pr-review
Priyank Patel
High-signal, maintainer-grade review of an open-source pull request.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
security-review
Priyank Patel
Security-focused review of an open-source pull request or diff.
SkillBFreshness: B★ 1Claude Code +9 - 0.518score
test-review
Priyank Patel
Review of test quality in an open-source pull request, and of the tests the PR should have written but did not.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 6, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.0
- License
- Apache-2.0
- Repository
- github.com/priyank766/OpenSource-SKILL
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Priyank Patel
- 0.552score
api-compat-review
Priyank Patel
Backward-compatibility review of changes to a project's public surface.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
contributor-experience-review
Priyank Patel
Review of a first-time or early-stage contributor's pull request, where the technical bar stays fixed but the sequencing, batching, and supplied context change.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
docs-review
Priyank Patel
Review of documentation correctness in an open-source pull request — treating docs as unexecuted code and verifying them by running them.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
performance-review
Priyank Patel
Performance and resource-efficiency review of an open-source pull request or diff.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
pr-review
Priyank Patel
High-signal, maintainer-grade review of an open-source pull request.
SkillBFreshness: B★ 1Claude Code +9 - 0.552score
security-review
Priyank Patel
Security-focused review of an open-source pull request or diff.
SkillBFreshness: B★ 1Claude Code +9
Cite this page
dependency-review skill. Agent Mart. https://agentmart.dev/skills/priyank766-dependency-review (last updated 2026-10-24)