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

nayym

v0.1.61

Published

ENS Skills Store CLI

Downloads

8,256

Readme

nayym

Publish, discover, and install AI agent skills via ENS domains and IPFS.


Getting Started

nayym is a command-line tool that lets you publish AI agent skills to an ENS domain, discover skills others have published, and install them locally. Skills are stored on IPFS and indexed through ENS text records.

Install the CLI

npm install -g nayym
npm link

Quick start - 4 commands

  1. Set up authentication

    nayym init

    Use WalletConnect for production. Private key only for testing with a burner wallet.

  2. Publish your skills

    nayym publish neko.eth --ver 1.0.0 --type group
  3. Install skills from any ENS domain

    nayym i alice.eth -y
  4. Browse all published skills

    nayym explore

Configuration

nayym stores authentication config in ~/.nayym/config.json with 600 permissions. RPC, IPFS upload, and WalletConnect are all bundled - no extra setup needed.


What is Skills

A skill is a reusable capability for an AI agent - a self-contained directory with instructions, context, and logic that tells the agent how to perform a specific task. Skills are packaged, versioned, and distributed through ENS domains.

SKILL.md - the contract

Every skill has a SKILL.md at its root. This file is both human-readable documentation and machine-readable metadata.

---
name: git-helper
description: Explain git commands, suggest workflows, debug merge conflicts.
---

# Git Helper

## Commit messages
Suggest concise, conventional commit messages based on the diff.

## Merge conflicts
Explain what each hunk is doing and recommend a resolution.

Frontmatter

  • name - identifier used by the system
  • description - trigger text for when to load the skill

Body Standard markdown. Sections, code blocks, lists, examples - whatever the agent needs to do its job.

Group vs Single

| group | single | |-------|--------| | Publish your entire ~/.agents/skills/ directory. Multiple skills under one ENS domain. Best for a personal or team skill library. | Publish one skill folder. One ENS domain, one skill. Best for focused, shareable tools with their own identity and versioning. |

group - What gets published:

my-skills/
├── git-helper/
│   └── SKILL.md
├── docker-helper/
│   └── SKILL.md
└── shell-explainer/
    └── SKILL.md

single - What gets published:

git-helper/
└── SKILL.md

How it works

  1. Write - Create a skill folder with SKILL.md and any supporting files.
  2. Publish - nayym packages it as a tar archive, uploads to IPFS, and writes the CID to your ENS domain as a text record.
  3. Index - The Graph indexes all ENS domains with skill.cid text records. The web UI queries this index.
  4. Install - Anyone can resolve your ENS domain, download the archive from IPFS, and extract it to their local skills directory.

Commands

| Command | Description | |---------|-------------| | nayym publish | Publish skills to an ENS domain | | nayym resolve | Show skill metadata for a domain | | nayym install | Install skills from an ENS domain | | nayym explore | List all published skills | | nayym init | Configure authentication |

publish

Publish skills to an ENS domain. Uploads a tar archive to IPFS via Lighthouse and writes the CID to ENS text records. Requires authentication.

Usage:

nayym publish [domain] [options]

Arguments:

  • domain - ENS domain (e.g. neko.eth). Optional - omit to pick interactively from your domains.
  • --ver <version>* - Semver version.
  • --type <type> - group or single. Default: group.
  • --path <path> - Path to a single skill folder. Only for --type=single.
  • --description <text> - Skill description.
  • --author <name> - Skill author.
  • --rpc <url> - Ethereum RPC URL.

Example - group:

$ nayym publish neko.eth --ver 1.0.0 --type group
▓ Fetching your ENS domains...
✓ 2 domains found

Select a domain to publish to:
  1. smartagent.eth
  2. neko.eth

Enter number: 2
▓ Uploading to Lighthouse (group)...
✓ Archive uploaded
✓ CID: bafybeiczxrrbqah5qbxlqo52bc5yroq5wgwrbszbkggty56av3df7ws2ma

▓ Setting ENS text records...
✓ skill.cid     → bafybeiczxrr...df7ws2ma
✓ skill.version → 1.0.0
✓ skill.type    → group
✨ Published to neko.eth

Example - single:

$ nayym publish smartagent.eth --ver 2.0.0 --type single \
    --path ~/.agents/skills/git-helper

resolve

Read skill metadata from an ENS domain. Dry run - no files downloaded.

Usage:

nayym resolve <domain> [options]

Options:

  • --rpc <url> - Ethereum RPC URL.

Example:

$ nayym resolve neko.eth
▓ Resolving ENS records...
✓ Records resolved

Domain      neko.eth
Type        group
Version     1.0.0
Author      neko
Description Test skill publish
CID         bafybeiczxrr...df7ws2ma

Web         https://nayym.xyz/neko

install

Install skills from an ENS domain to ~/.agents/skills/. Alias: nayym i.

Usage:

nayym install <domain> [options]
nayym i <domain> [options]

Options:

  • -y, --yes - Auto-confirm without prompts. Conflicts still prompt.
  • --rpc <url> - Ethereum RPC URL.

Example - clean install:

$ nayym i neko.eth -y
▓ Resolving ENS records...
✓ Records resolved

Domain      neko.eth
Type        group
Version     1.0.0
CID         bafybeiczxrr...df7ws2ma

▓ Downloading from IPFS...
✓ Archive downloaded

✓ 24 files extracted
✓ Skill installed to ~/.agents/skills/

Example - with conflicts:

$ nayym i neko.eth
...
⚠ Conflicts detected:
  git-helper  (exists)

Override all (a), Pick individually (p), or Abort (n)? p

  1. git-helper

Enter numbers to override (comma-separated), or "all": 1

✓ 24 files extracted
✓ Skill installed to ~/.agents/skills/

explore

List all published skills indexed by The Graph.

Usage:

nayym explore [options]

Options:

  • --rpc <url> - Ethereum RPC URL.

Example:

$ nayym explore
▓ Fetching from The Graph...
✓ Skills indexed

Published skills
──────────────────────────────────
neko.eth       1.0.0    Test skill publish
smartagent.eth 1.0.0    -

2 skills indexed on Sepolia

init

Configure authentication for publishing.

Usage:

nayym init

WalletConnect (recommended for production) Terminal QR code. Scan with MetaMask, Rainbow, etc. 2-minute timeout.

Private Key - Only for testing. Use a burner wallet. Key is stored in ~/.nayym/config.json with 600 permissions.

Example:

$ nayym init

nayym authentication setup
─────────────────────────

Choose how you want to sign transactions:
  1. WalletConnect (recommended)
  2. Private key

Enter 1 or 2: 1

▓ Generating QR code...
✓ Scan the QR code with your wallet app

System Architecture

nayym connects four systems: ENS for naming and ownership, IPFS for content storage, The Graph for indexing, and the CLI for user interaction.

The flow

  1. ENS Registry - Own a .eth domain on Sepolia. The ENS resolver stores text records: skill.cid, skill.version, skill.type, skill.description, skill.author.
  2. IPFS via Lighthouse - Skills are tar archives uploaded to IPFS through Lighthouse Web3. The returned CID goes into the ENS text record.
  3. The Graph Indexer - Indexes all ENS resolvers with texts containing "skill.cid". The explore command and web UI query this subgraph.
  4. IPFS Gateways - Install fetches tar archives through multiple gateways: lighthouseweb3.xyz, ipfs.io, dweb.link, w3s.link. 120s timeout per gateway.
  5. Local Extraction - Tar archives are extracted to ~/.agents/skills/. The root CID directory is stripped. Conflicts are detected and resolved interactively.

Tech stack

Node.js 20+ TypeScript 5.x Commander.js viem 2.x WalletConnect Lighthouse Web3 The Graph esbuild

Authentication

Publishing requires a wallet that owns the ENS domain.

WalletConnect

  1. CLI generates terminal QR code
  2. User scans with mobile wallet
  3. Wallet approves connection
  4. viem signs each setText tx

Private Key - Only for testing. Use a burner wallet.

  1. Key stored in ~/.nayym/config.json
  2. viem privateKeyToAccount derives account
  3. createWalletClient signs locally
  4. Each setText sent via RPC

Error handling

| Error | Description | |-------|-------------| | No auth | Run nayym init to set up WalletConnect (recommended) or private key for testing with a burner wallet only. | | No resolver | The ENS domain has no resolver set. | | No skill.cid | The domain has no skill.cid text record. | | Invalid semver | Expected format: major.minor.patch | | Insufficient funds | Wallet needs Sepolia ETH for gas. | | Download failed | Could not download CID from any IPFS gateway. |


nayym CLI - Sepolia testnet - ENS Skill Store