# NPM

> npm

- Skill: `spike-faye-lei/npm` (Agent Skill, multi-file: 10 files)
- Install (CLI): `npx skillmds@latest add spike-faye-lei/npm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/spike-faye-lei/npm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: spike-faye-lei (https://skillmd.com/u/spike-faye-lei)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/spike-faye-lei/npm

---

# npm

## Overview
JavaScript package registry at registry.npmjs.org. Public REST API for package search, metadata, versions, and download statistics.

## Workflows

### Find a package
1. `searchPackages(text)` → browse `objects[].package` → pick `name`
2. `getPackage(package=name)` → description, latest version, dependencies, license

### Check package health
1. `getPackage(package)` → latest version, maintainers, repository, timestamps
2. `getDownloads(package)` → downloads, start, end
3. `getVersions(package)` → full release history with dates

### Compare versions
1. `getVersions(package)` → all versions sorted newest-first with publish dates
2. `getPackage(package)` → latest version dependencies and dist-tags

## Operations

| Operation | Intent | Key Input | Key Output | Notes |
|-----------|--------|-----------|------------|-------|
| searchPackages | find packages by keyword | text | name, version, description, score, downloads | entry point, paginated via from/size |
| getPackage | package summary | package <- searchPackages.name | name, description, latest deps, license, maintainers | adapter-unwrapped summary |
| getVersions | version history with dates | package <- searchPackages.name | versions [{version, date}], versionCount | sorted newest-first |
| getDownloads | weekly download stats | package <- searchPackages.name | downloads, start, end | uses api.npmjs.org host |

## Quick Start

```bash
# Search for packages
openweb npm exec searchPackages '{"text": "express"}'

# Get package summary
openweb npm exec getPackage '{"package": "react"}'

# Get version history
openweb npm exec getVersions '{"package": "express"}'

# Get download stats
openweb npm exec getDownloads '{"package": "lodash"}'
```

