Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Install agent skills from npm
| Date | Stars |
|---|---|
| 2026-08-05 | 500 |
| 2026-08-06 | 500 |
| 2026-08-14 | 502 |
| 2026-08-18 | 503 |
| 2026-08-20 | 505 |
| 2026-08-22 | 506 |
| 2026-08-25 | 507 |
| 2026-08-26 | 509 |
| 2026-08-29 | 510 |
| 2026-09-01 | 511 |
| 2026-09-02 | 512 |
| 2026-09-03 | 512 |
| 2026-09-05 | 512 |
| 2026-09-07 | 513 |
| 2026-09-08 | 513 |
| 2026-09-10 | 514 |
| 2026-09-11 | 515 |
| 2026-09-12 | 516 |
| 2026-09-17 | 518 |
| 2026-09-18 | 520 |
| 2026-09-20 | 521 |
| 2026-09-21 | 520 |
| 2026-09-24 | 522 |
| 2026-09-25 | 526 |
| 2026-09-26 | 525 |
| 2026-09-29 | 529 |
| 2026-10-01 | 531 |
| 2026-10-04 | 532 |
| 2026-10-06 | 533 |
| 2026-10-08 | 535 |
| 2026-10-09 | 548 |
| 2026-10-10 | 565 |
| 2026-10-12 | 566 |
| 2026-10-13 | 567 |
| 2026-10-14 | 568 |
| 2026-10-15 | 569 |
| 2026-10-19 | 571 |
| 2026-10-21 | 572 |
| 2026-10-28 | 574 |
| 2026-10-30 | 575 |
| 2026-10-31 | 576 |
| 2026-11-02 | 577 |
| 2026-11-03 | 578 |
| 2026-11-04 | 577 |
Today
-1 stars today
This week
+3 stars this week
This month
+45 stars this month
Momentum
38.0
growth rate 0.52%/day
# skills-npm
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![JSDocs][jsdocs-src]][jsdocs-href]
[![License][license-src]][license-href]
> [!NOTE]
> This package is merging with the [`skills`](https://github.com/vercel-labs/skills) CLI. [Read more](https://github.com/vercel-labs/skills/issues/2323).
>
> You can run it with `npx skills experimental_sync` to replace `npx skills-npm`.
>
> `skills-npm` will eventually be deprecated after the functionality is fully integrated into the `skills` CLI.
>
> Run `npx skills-npm migrate` to switch a project over. See [Migrating to `skills experimental_sync`](#migrating-to-skills-experimental_sync).
A CLI that installs [agent skills](https://agentskills.io) through npm: it symlinks skills shipped inside your installed packages, and fetches the remote skills your packages declare in a `skills` field via the [`skills`](https://github.com/vercel-labs/skills) CLI.
## Why?
Cloning skills from git repos one by one (e.g. `npx skills add`) has friction:
- **Version mismatch** - Skills and tools update separately, causing compatibility issues
- **Manual management** - Each project repeats the same `add` commands
- **Sharing overhead** - Teams must commit cloned files or repeat setup on each machine
This project proposes two conventions that let npm do the distribution:
- **Ship skills inside npm packages** under a `skills/` directory. When you `npm install` a tool, its skills come bundled and are symlinked for your agent.
- **Curate skills in a `skills` field** of `package.json`. A package can list skills hosted elsewhere; installing the package installs the list. A package that is nothing but this field is a **skills pack**.
**Read the full proposal: [PROPOSAL.md](./PROPOSAL.md)** and the field spec: **[SPEC.md](./SPEC.md)**
> [!NOTE]
> Requires Node.js 22.20 or later (the floor of the `skills` CLI it drives).
## Usage
Install as a dev dependency and run `setup` once:
```bash
npm i -D skills-npm
npx skills-npm setup
```
`skills-npm setup` wires the tool into your `package.json` `prepare` script and runs the first sync. After that, skills are re-symlinked for your agent automatically whenever you install dependencies.
`setup` merges into any existing `prepare` script (it appends with `&&` and is a no-op if already wired), resulting in:
```json
{
"private": true,
"scripts": {
"prepare": "skills-npm"
}
}
```
`skills-npm` symlinks each skill from `node_modules` into your agent's skills directory under the skill's own name (the `SKILL.md` frontmatter `name`, sanitized the same way the [`skills`](https://github.com/vercel-labs/skills) CLI sanitizes install names). The symlinks are relative and point into `node_modules`, so you can commit them: they are restored on every fresh clone as soon as `npm install` runs. No `.gitignore` changes are made.
> [!NOTE]
> Keep `skills-npm` as a `devDependency`. The `prepare` script runs on `install` (and before `publish`/`pack`), but never for people who install your published package, so it is safe to commit.
## Remote skills and skills packs
Besides the `skills/` directory, skills-npm reads a `skills` field from your own `package.json` and from the packages it scans (your direct dependencies by default). Each entry is a git-hosted source in the same syntax the `skills` CLI accepts, or `npm:<package>` to pull in skills shipped by another npm package:
```json
{
"skills": [
"vercel-labs/agent-skills@web-design-guidelines",
"owner/repo#v1.2.0",
{ "source": "owner/repo", "skills": ["a", "b"], "ref": "v2.0.0" },
"npm:@vueuse/skills"
]
}
```
Publish a package with only this field and you have a shareable, versioned **skills pack**: `npm i -D @acme/frontend-skills` installs the whole list for everyone on the team. The full syntax and semantics are in [SPEC.md](./SPEC.md).
How remote entries are handled:
- **The `skills` CLExcerpt of 17,951 characters
Read on GitHubAnthony Fu · @vercel team @nuxt
30
10
Hiroki Osame · @vercel · Japan
3
2
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b1d5d9d6ca14bed8, llm:Repository description: 'Install agent skills from npm' (antfu/skills-npm). TypeScript project to install agent skills from npm packages.
matched fp:b1d5d9d6ca14bed8, llm:Repository description: 'Install agent skills from npm' (antfu/skills-npm). TypeScript project to install agent skills from npm packages.