evaluate-dependency

A guide for deciding whether a software library is suitable before adding it, or for reviewing a library already added to a project. A dependency is outside code that the project relies on.

In plain words
What is it for?
Use it when choosing a library, comparing alternatives, reviewing dependency changes in project manifests, or assessing a Go dependency before installation.
Why use it?
It helps compare options and catch issues such as the wrong package name, ecosystem-specific versioning, maintenance concerns, or security risks. For Go projects, it includes checks involving module paths and vulnerability information.

Skill for Claude CodeCodex

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/paultyng/skill-issue/evaluate-dependency
Any agent
npx skills add paultyng/skill-issue --skill evaluate-dependency
Clone the repo
git clone --depth 1 https://github.com/paultyng/skill-issue

Made for: Claude Code, Codex.

Per session 149 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,081 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 $0.00149 $0.03081
Opus 5 $0.00075 $0.01541
Sonnet 5 $0.00030 $0.00616
Haiku 4.5 $0.00015 $0.00308

Measured 2d ago against content hash 387bcdca675e, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

evaluate-dependency 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 2d 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.

skills/evaluate-dependency/SKILL.md · 121 lines

How it starts

The opening of the file, as written. The whole thing — 121 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Evaluate Dependency

Dual-purpose: upfront selection when adding a new dep, and review when a PR adds or bumps one. Same evaluation criteria either way, with per-language addenda for ecosystem-specific quirks.

When to use

Mode Triggers
Selection Considering adding a dep, asks "should I use X", compares alternatives, before go get / npm install / pip install / cargo add
Review PR diff touches a manifest, or review-security / review-code sees a new dep in scope

Language-specific quirks (read first)

The canonical package coordinate usually has ecosystem-specific gotchas that override the general criteria. The wrong coordinate is the wrong dep, no matter how good the package is.

  • Go: references/go.md. Semantic import versioning (/v2, /v3 paths), +incompatible smell, pkg.go.dev / vuln.go.dev, govulncheck.
  • Other ecosystems: not yet covered here. Run the general checklist and flag uncertainty about the canonical coordinate with unsure: (per terse-output) rather than guessing.

Future addenda: npm (scoped vs unscoped, deprecated packages, ESM/CJS), Python (package vs distribution name, wheel/sdist, ABI compatibility), Rust (pre-1.0 churn, crate renames), Ruby (transitive native-extension hazards). Add when a real evaluation surfaces the need.

Evaluation criteria

Run through these. Cite specific data: no hand-waving, no I think.

  1. License. Detect via the ecosystem's registry or the repo's LICENSE / LICENSE.md / COPYING. Permissive (MIT, BSD, Apache-2.0, ISC, MPL-2.0) is generally fine. Copyleft (GPL, AGPL, LGPL) needs an explicit compatibility check against the user's project license. No license = no use. Note relicense history; relicenses are a red flag.

  2. Internal precedent. Before weighing external popularity, check whether the candidate (or an equivalent) is already used or wrapped internally. Sources, in order:

    1. Project-local hints: CLAUDE.md, REVIEW.md, .claude/rules/, and the manifests of sibling services if mounted locally.
    2. Internal code search if available: Sourcegraph (mcp__sourcegraph__keyword_search / mcp__sourcegraph__list_repos), gh search code scoped to the user's orgs.
    3. Internal package registry / module index if the project documents one.

Read the full file on GitHub · 121 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 2d ago First seen · 121 lines · 149 tokens per session scan A 387bcdca675e

Subscribe to this mod's changes

evaluate-dependency is a skill published in the GitHub repository paultyng/skill-issue (9 stars, last pushed 22d ago), licensed MIT. It adds 149 tokens to every session and 3,081 once invoked, about $0.0007 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.

Related

Other skills, from other repositories

promptscript

PromptScript language expert for reading, writing, modifying, and troubleshooting .prs files. Use when working with PromptScript syntax, creating or editing .prs files, adding blocks like @identity, @standards, @restrictions, @shortcuts, @skills, or @agents, configuring promptscript.yaml, resolving compilation errors…

mrwogu/promptscript · 135 tokens

thesis-control

Use when AI-assisted thesis edits risk claim drift, scope creep, loss of author control, or repeated revisions that fail to converge; provides spine cards, edit contracts, drift audits, revision escalation, and human gates.

yha9806/academic-writing-toolkit · 47 tokens

helius-jupiter

Skill "helius-jupiter" from helius-labs/core-ai, covering helius x jupiter — build defi apps on solana, mcp router surface, prerequisites, 1. helius mcp server and 2. jupiter api key.

helius-labs/core-ai · 0 tokens

argument-governance

Build and audit the manuscript argument system: intent, gap-contribution alignment, hierarchical claims, evidence balance, limitations, and reviewer attack surfaces. Use when a paper, thesis chapter, review article, or rebuttal needs explicit intent registers, contribution chains, claim hierarchy, argument maps…

yha9806/academic-writing-toolkit · 81 tokens

verify

Fact-check claims encountered during reading — dates, names, events, citations. Use when encountering historical facts or disputed claims.

yha9806/academic-writing-toolkit · 26 tokens

map

Show or update the mapping between literature and thesis chapters — which sources support which arguments. Use for tracking coverage.

yha9806/academic-writing-toolkit · 24 tokens