why

why is a skill for Claude Code, Codex from DevInder1/supply-chain-scanner-public. It costs 73 tokens per session (546 once invoked), scanned A, original, MIT.

A workflow for explaining why a particular package has a security vulnerability. It checks how the package entered the project and which known security issues affect its version.

In plain words
What is it for?
Use it to investigate a named package, trace its dependency chain, review CVE and exploit-risk information, and find the recommended upgrade command.
Why use it?
It turns a vulnerability warning into an actionable explanation, including whether the package was added directly or by another dependency and how to fix it.

Skill for Claude CodeCodex

Part of the tridentchain-security plugin — 7 skills shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/devinder1/supply-chain-scanner-public/why
Any agent
npx skills add DevInder1/supply-chain-scanner-public --skill why
Clone the repo
git clone --depth 1 https://github.com/DevInder1/supply-chain-scanner-public

Made for: Claude Code, Codex.

Or install tridentchain-security, the plugin that ships this one along with the rest of its 7 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for why

README.md
[![agentmods](https://agentmods.dev/badge/skills/devinder1/supply-chain-scanner-public/why.svg)](https://agentmods.dev/skills/devinder1/supply-chain-scanner-public/why)
Your own site
<a href="https://agentmods.dev/skills/devinder1/supply-chain-scanner-public/why"><img src="https://agentmods.dev/badge/skills/devinder1/supply-chain-scanner-public/why.svg" alt="Measured on agentmods" height="20"></a>
Per session 73 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 546 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00073 $0.00546
Opus 5 $0.00036 $0.00273
Sonnet 5 $0.00015 $0.00109
Haiku 4.5 $0.00007 $0.00055

Measured 4d ago against content hash 31f3996ec5c3, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

why scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/tridentchain-security/skills/why/SKILL.md · 33 lines

What it actually says

Why is this package vulnerable

When the user asks about a single specific package — "why is [email protected] flagged?", "where does brace-expansion come from?", "is requests actually exploitable?":

  1. Call the tridentchain MCP tool scan_project with the workspace path (or use the most recent .tridentchain-out/scan-report.json if available).
  2. From raw_summary.affected_components, find the entry matching the package name and version.
  3. Report in this order:
    • Package + version + ecosystem (e.g., [email protected] (npm))
    • Is it a direct or transitive dependency? Walk the lockfile path (look in raw_summary.scan_coverage.by_source for the manifest, then read the lockfile to identify the parent that pulled it in). Show the dep chain: your-app → [email protected][email protected].
    • CVE IDs affecting this exact version — list every CVE/GHSA ID.
    • EPSS exploit-probability score (0–1; higher = more likely actively exploited). Anything above 0.1 deserves attention; above 0.5 is urgent.
    • CISA KEV status — if listed, flag URGENT.
    • Fix version — the lowest version that resolves all listed CVEs.
    • Recommended command — the exact shell command to upgrade (e.g., cd <project> && npm install minimatch@latest).
  4. End with one sentence: should the user fix it now, or is it low-priority?

CLI fallback

tridentchain-security --scan project --project-path . --output-dir .tridentchain-out
# Then jq into the report:
jq '.affected_components[] | select(.name == "lodash")' .tridentchain-out/scan-report.json

Don't

  • Don't auto-apply the fix command. Read it to the user; let them decide.
  • Don't recommend npm audit fix --force without explicit user consent — it can introduce breaking changes.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 33 lines · 73 tokens per session scan A 31f3996ec5c3

Subscribe to this mod's changes

why is a skill published in the GitHub repository DevInder1/supply-chain-scanner-public (0 stars, last pushed 1mo ago), licensed MIT. It adds 73 tokens to every session and 546 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.