package-health

GitHub

通过 npm/PyPI API 检查包健康度,分析发布频率、下载量等信号,评估维护状态并给出采纳建议。

skills/package-health/SKILL.md mohitagw15856/pm-claude-skills

触发场景

评估第三方库是否维护良好 对比多个依赖包的健康状况 决定在项目中引入新依赖前进行尽职调查

安装

npx skills add mohitagw15856/pm-claude-skills --skill package-health -g -y
更多选项

不安装直接使用

npx skills use mohitagw15856/pm-claude-skills@package-health

指定 Agent (Claude Code)

npx skills add mohitagw15856/pm-claude-skills --skill package-health -a claude-code -g -y

安装 repo 全部 skill

npx skills add mohitagw15856/pm-claude-skills --all -g -y

预览 repo 内 skill

npx skills add mohitagw15856/pm-claude-skills --list

SKILL.md

Frontmatter
{
    "name": "package-health",
    "description": "Check a package's health before you depend on it — npm and PyPI registry APIs via keyless curl: downloads, release recency, maintenance signals, and the dependency-decision read. Use when asked is this npm package maintained, check this PyPI library before we adopt it, compare these two packages, or is this dependency abandoned. Produces the health read with the signals interpreted (not just listed), the numbers with their commands, and the adopt\/avoid\/vendor recommendation framing."
}

Package Health Skill

Adding a dependency is hiring code you'll never interview — and the registries publish the résumé keylessly: last release date, download trajectory, version cadence, maintainer count. This skill pulls the signals for npm and PyPI over plain curl and does the part the raw numbers don't: interpretation. A package with no release in three years is abandoned or finished — and which one it is depends on what the package does. The output is a read, not a dashboard.

What This Skill Produces

  • The health read — maintained / stable-and-done / drifting / abandoned — with the reasoning
  • The signals table — latest version + date, download scale, release cadence, deprecation flags
  • The comparison — for adoption decisions between candidates, same signals side by side
  • The commands — every number's curl, rerunnable

Required Inputs

Ask for these if not provided:

  • The package(s) and ecosystem — npm or PyPI; exact names (typosquats are a real hazard — the exact-name check is part of the job, and a near-miss name is a 🔴 finding, not a typo to auto-correct)
  • The role it would play — a core dependency, a dev tool, a one-function utility: the stakes calibrate the read ("finished" is fine for a slugify; concerning for a crypto library)
  • The runtime context — versions/platforms that matter for compatibility checking

Framework: The Signals and the Reads

  1. npm calls: latest: curl -s "https://registry.npmjs.org/express/latest" (version, dependencies, deprecation notices) · full metadata: curl -s "https://registry.npmjs.org/express" (time object = the whole release history — cadence lives here; maintainers) · downloads: curl -s "https://api.npmjs.org/downloads/point/last-month/express".
  2. PyPI calls: curl -s "https://pypi.org/pypi/requests/json"info (version, requires_python, project_urls, yanked flags), releases (the dated history). Downloads for PyPI live at https://pypistats.org/api/packages/<name>/recent (keyless).
  3. Interpret age against purpose: no-release-in-3-years = abandoned for an API client (upstream APIs moved), plausibly finished for a pure algorithm. The read must say which and why — this rule is the skill's whole value over a stats page.
  4. The signal cluster beats any single number: healthy = recent releases + steady cadence + real downloads + active repo (chain to github-repo-vitals via the metadata's repository URL). Warning shapes: downloads huge but releases stopped (the ecosystem is riding a corpse — someone will fork; watch which), single maintainer + critical role (bus-factor flag, not a disqualifier), deprecation notice in the registry (the maintainer's own verdict — believe them).
  5. The decision framing, not the decision: adopt / adopt-and-monitor / vendor-the-function (for one-function utilities, fifty lines beats a dependency) / avoid — recommended with reasoning, stakes-calibrated; security auditing is its own discipline and gets named as out of scope rather than faked.

Output Format

Package Health: [name] ([ecosystem])

The read: [maintained / stable-and-done / drifting / abandoned] — [two sentences of reasoning].

Signal Value Read
[Version + date · release cadence · downloads/month · maintainers · deprecation/yank flags]

[Comparison mode: candidates × signals, same table, verdict per role]

Recommendation frame: [adopt / monitor / vendor / avoid — with the stakes reasoning] Source: [registry] APIs · as of [date] · rerun: [the curls] Registry signals, not a security audit — that's a separate discipline.

Quality Checks

  • The exact package name was verified — near-miss names flagged, never auto-corrected
  • The read interprets age against the package's purpose, not against a universal freshness bar
  • Warning shapes (riding-a-corpse, bus-factor, registry deprecation) are checked
  • The repo-vitals chain is offered when the registry signals are ambiguous
  • Security audit is scoped out explicitly, not implied

Anti-Patterns

  • Do not present a stats dump as a health check — the read is the product
  • Do not treat "old" as "dead" without the purpose test — finished software exists
  • Do not auto-correct package names — typosquats are the attack this check can catch
  • Do not extrapolate download counts into quality — popularity is a signal about forks and eyes, not correctness
  • Do not answer from memory — versions and deprecations are live facts; fetch or hand over the commands

版本历史

  • 54fad50 当前 2026-07-19 13:35

同 Skill 集合

exports/openclaw/360-feedback-template/SKILL.md
exports/openclaw/401k-plan-decoder/SKILL.md
exports/openclaw/ab-test-planner/SKILL.md
exports/openclaw/ab-test-readout/SKILL.md
exports/openclaw/accessibility-audit/SKILL.md
exports/openclaw/account-plan/SKILL.md
exports/openclaw/acquirer-red-team/SKILL.md
exports/openclaw/ad-copy/SKILL.md
exports/openclaw/aeo-optimizer/SKILL.md
exports/openclaw/agenda-or-cancel/SKILL.md
exports/openclaw/agent-design-review/SKILL.md
exports/openclaw/agent-hiring-panel/SKILL.md
exports/openclaw/agent-observability-spec/SKILL.md
exports/openclaw/agent-severance/SKILL.md
exports/openclaw/agent-spec/SKILL.md
exports/openclaw/agm-in-a-box/SKILL.md
exports/openclaw/ai-ethics-review/SKILL.md
exports/openclaw/ai-eval-plan/SKILL.md
exports/openclaw/ai-feature-prd/SKILL.md
exports/openclaw/ai-product-canvas/SKILL.md
exports/openclaw/air-quality/SKILL.md
exports/openclaw/altitude-shifter/SKILL.md
exports/openclaw/ambiguity-resolver/SKILL.md
exports/openclaw/analyst-relations-brief/SKILL.md
exports/openclaw/announcement-card/SKILL.md
exports/openclaw/api-docs-writer/SKILL.md
exports/openclaw/api-test-plan/SKILL.md
exports/openclaw/api-versioning-strategy/SKILL.md
exports/openclaw/apology-letter/SKILL.md
exports/openclaw/architecture-decision-record/SKILL.md
exports/openclaw/architecture-diagram/SKILL.md
exports/openclaw/archive-strategy/SKILL.md
exports/openclaw/assumption-bounty/SKILL.md
exports/openclaw/assumption-mapper/SKILL.md
exports/openclaw/async-update-format/SKILL.md
exports/openclaw/auto-repair-estimate-decoder/SKILL.md
exports/openclaw/autopilot-charter/SKILL.md
exports/openclaw/awkward-message-helper/SKILL.md
exports/openclaw/behavior-intervention-plan/SKILL.md
exports/openclaw/benefits-decoder/SKILL.md
exports/openclaw/bennett-time-audit/SKILL.md
exports/openclaw/bid-tender-review/SKILL.md
exports/openclaw/board-deck-narrative/SKILL.md
exports/openclaw/board-game-designer/SKILL.md
exports/openclaw/board-game-night-planner/SKILL.md
exports/openclaw/board-minutes/SKILL.md
exports/openclaw/board-pre-read/SKILL.md
exports/openclaw/bom-cost-review/SKILL.md
exports/openclaw/bookkeeping-categorization/SKILL.md
exports/openclaw/boolean-search-builder/SKILL.md

元信息

文件数
0
版本
c3bc7df
Hash
c9abbbb0
收录时间
2026-07-19 13:35

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-10 02:16
浙ICP备14020137号-1 $访客地图$