npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@brianlovin/notion-skills

v0.17.2

Published

Sync agent skills from a Notion database to Claude Code, Codex, OpenCode, Cursor, Gemini CLI.

Readme

notion-skills

A skill store for your AI coding agents. Create and collaborate on skills in Notion, then install them on your computer.

npm

Why

AI coding agents (Claude Code, Codex, OpenCode, Cursor, Gemini) all read skills — small SKILL.md files that tell an agent what to do and when. The format is shared, but each agent reads from its own folder, and authoring usually means tending markdown files in git to keep them synced across machines and teammates.

notion-skills puts your skills in a Notion database. You browse a shared store, install only what you want on each machine, and edit skills the way you edit any other Notion page.

  • 🏪 Browse a shared store. Pick the skills that fit your workflow instead of syncing everything.
  • ✏️ Edit in Notion. Use the rich editor; collaborate live; no IDE, no git, no PR review.
  • 👥 Built for teams. One store, shared with everyone; each person installs what's relevant to them.
  • 🤖 Generate with your agent. gen hands an idea off to your coding agent and writes you a draft.
  • 🎯 Install once, every agent reads it. The same skill works in Claude, Codex, Cursor, and the rest.

Get started

brew install ntn               # the Notion CLI we shell out to
ntn login

npm install -g @brianlovin/notion-skills
notion-skills init             # interactive setup: pick a database + agents

Then:

notion-skills list                    # browse the store
notion-skills install <slug>          # install one skill
notion-skills install --tag featured  # install everything tagged "featured"
notion-skills sync                    # pull updates for installed skills
notion-skills publish <slug>          # share a local skill with the team

Type /skill-name in any agent CLI to invoke an installed skill.

Requires macOS or Linux and Node.js 18+.

Commands

| Command | What it does | |---|---| | init | First-time setup: create or link a Notion skill store. Re-run to add another source. | | list | See what's in the store(s). Filter with --installed, --available, --outdated, --drafts, --tag, --source. Sort with --sort name\|popular\|new. | | install <slug> | Pull a skill onto your machine. Refs are bare (deploy) or qualified (team/deploy). Bulk: --tag, --all (source-scoped). | | uninstall <slug> | Remove from your machine. The Notion page stays. | | sync | Pull updates for installed skills across every source. | | gen <input> | Generate a new skill from a URL, file, or prompt. Local-only until you publish. | | add <owner/repo> | Pull a public skill from a GitHub repo (mirrors skills.sh syntax). Lands as a local draft; --publish chains straight to a Notion source. | | feed | What's new across your stores: newly published skills + updates to skills you have installed. Defaults to the last 7 days; --since 30d, --since 2w, --since 12h for other windows. | | feedback <slug> [message...] | Read or post Notion comments on a skill. Bare reads existing comments newest-first; with a message, posts one. Maintainers see threads where they already live. | | audit [slugs...] | Quality checks (description, body, test markers, agent-routing keywords). Like npm audit. | | publish <slug> | Push a local skill (or edits) to the store. Bulk: --all. Source picker fires for new drafts when 2+ sources exist; --source skips. | | unpublish <slug> | Archive a skill in the store. | | open <slug> | Open the skill in Notion. Use --local to open the file in your editor. | | source | Manage Notion sources: add, list, remove, default, rename. | | doctor | Diagnose problems across every source. --fix repairs safe issues. |

Run any command with --help for the full list of options.

Drafts

A skill is ready or a draft. Drafts aren't yet ready for the team — they live on your machine without a Notion row, or in Notion with the Published checkbox off. Drafts are skipped by default in install flows; pass --drafts to see them or install one by name. Run publish to mark a draft ready.

Multiple sources

A "source" is one Notion database. Most users have one (the team store) and never think about it. Larger workflows want more — engineering store, personal store, a department-specific store. Run notion-skills source add to link or create another database; bare commands target the default source (the first one you set up). Use a qualified ref (team/deploy) or --source <key> when you want to be explicit. Tags are source-scoped (each Notion DB has its own tag set), so --tag always operates on a single source.

When you install two skills with the same slug from different sources, the second one auto-namespaces (personal-deploy) so both can coexist. Override with --as <name>.

What's in a skill?

A directory with a SKILL.md file. You can ship extra files alongside it. The Agent Skills spec defines three optional category directories:

  • scripts/ — executable code the agent runs
  • references/ — documentation the agent loads on demand
  • assets/ — static resources (templates, schemas, etc.)

Files in spec dirs round-trip through Notion as nested sub-pages of a same-named wrapper. Files outside spec dirs become flat root-level child pages.

Supported agents

Claude, Codex, OpenCode, Cursor, Gemini, plus a generic ~/.agents/skills/ catch-all. Skills land as symlinks from one central directory, so every agent on your machine sees the same set.

Troubleshooting

notion-skills doctor is the first stop. Common fixes:

  • Auth expiredntn logout && ntn login
  • Schema out of datenotion-skills upgrade
  • Reset everythingrm -rf ~/.notion-skills && notion-skills init (your Notion store is untouched)

License

MIT