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

joyskills-cli

v0.2.10

Published

Team-level skill governance compatible with open skill / Claude Skills

Readme

joySkills - 新一代团队 Skill 治理平台

在协议层兼容 open skill / Claude Skills,在能力层扩展企业级治理能力

npm version License: MIT

🔗 Links: npm Package | Git Repository

💡 为什么需要 joySkills?

在 AI 原生开发时代,Skill(技能)成为了比 function 更友好的能力抽象单元。然而当团队规模扩大,单纯的本地 skill 管理会遇到:

  • 版本混乱:不同项目使用不同版本的 skill,难以统一升级
  • 安全风险:无法及时发现和处理已废弃或有风险的 skill 版本
  • 缺乏治理:谁在用什么 skill?如何审批新版本?
  • 协作困难:团队成员各自维护 skill,无法共享和复用

joySkills 提供了一套完整的团队级 Skill 治理方案,同时保持与现有生态的 100% 兼容。

✨ 核心特性

📦 统一 Skill 源(Registry)

  • 团队/组织级 Skill 仓库
  • 基于 Git 的版本管理
  • 支持私有部署和权限控制

🔒 版本锁定(joySkills.lock)

  • 项目级版本锁定,确保环境一致
  • 自动记录安装历史
  • 支持 semver 版本策略

✅ 发布审批流程

  • draftpending_reviewapproveddeprecatedarchived
  • 完整的状态机管理
  • CI/CD 友好

🔐 权限与可见性

  • public / restricted / internal 三级可见性
  • 基于角色的访问控制(RBAC)
  • 与 Git 权限无缝集成

📊 使用追踪与审计

  • 实时监控 skill 使用情况
  • 安全风险预警
  • 自动生成升级建议

🤝 100% 兼容现有生态

  • 兼容 Claude Code / Cursor / Windsurf / Aider
  • 不改变 skills/ 目录结构
  • 不改变 SKILL.md 文件格式

🚀 快速开始

安装

joySkills 支持全局安装项目级安装两种方式:

# 全局安装
npm install -g joyskills-cli
joySkills --version

# 或:项目级安装
npm install joyskills-cli
npx joySkills --version

5 分钟上手

# 1. 进入你的项目目录
cd your-project

# 2. 安装一个 skill
joySkills install web-search
# 或使用 npx(如果是项目级安装)
npx joySkills install web-search

# 3. 查看已安装的 skills
joySkills list

# 4. 检查状态
joySkills status

# 5. 审计安全性
joySkills audit

完成!你的 Claude Code / Cursor 等编辑器会自动识别 skills/ 目录中的技能。

📋 完整命令参考

joySkills list

列出可用的 skills

选项:

  • -a, --all-versions - 显示所有版本
  • -c, --category <category> - 按分类过滤
  • -s, --search <query> - 搜索 skill 名称或描述
  • -i, --installed - 只显示已安装的 skills
  • -l, --local - 只显示本地 skills
  • -r, --registry <name> - 显示指定 registry 的 skills

joySkills install <skill>

安装一个 skill

# 安装最新版本
joySkills install web-search

# 安装指定版本
joySkills install [email protected]

# 从指定 registry 安装
joySkills install web-search --registry my-team

joySkills remove <skill>

删除已安装的 skill

joySkills remove web-search

joySkills team <subcommand>

管理团队 registry

# 添加团队 registry
joySkills team add my-team /path/to/registry

# 列出所有 registries
joySkills team list

# 删除 registry
joySkills team remove my-team

joySkills status

显示当前项目的 skills 状态

joySkills status

joySkills audit

审计已安装 skills 的安全性和弃用状态

joySkills audit

📖 核心概念

Skill Registry(技能注册表)

Registry 是团队统一管理的 Skill 仓库,通常是一个 Git 仓库 + registry.yaml 索引文件:

registryVersion: 1
registryId: team://your-team
skills:
  - id: web-search
    name: "Web 搜索"
    visibility: public
    versions:
      - version: 1.2.0
        state: approved
        recommended: true

joySkills.lock(锁文件)

项目级锁文件,记录实际使用的 skill 版本:

lockVersion: 1
projectId: "your-project"
skills:
  web-search:
    version: 1.2.0
    registry: team://your-team
    installedAt: 2026-02-02T10:00:00Z

版本状态机

draft → pending_review → approved → deprecated → archived
  ↓         ↓              ↓           ↓           ↓
开发中    待审核         可用        不推荐      归档

🏗️ 项目结构

joySkills/
├── src/
│   ├── index.js              # CLI 入口点
│   ├── types.js              # 类型定义
│   ├── registry.js           # Registry 管理
│   ├── lockfile.js           # 锁文件操作
│   ├── local.js              # 本地 skill 管理
│   └── commands/             # CLI 命令
│       ├── list.js           # 列出 skills
│       ├── install.js        # 安装 skill
│       ├── remove.js         # 删除 skill
│       ├── team.js           # Registry 管理
│       ├── status.js         # 状态检查
│       └── audit.js          # 安全审计
├── spec/                     # 规范文档
│   ├── cli-spec.md           # CLI 规范
│   ├── registry-spec.md      # Registry 规范
│   └── lockfile-spec.md      # 锁文件规范
├── test/                     # 测试文件
├── .joyskill/                # 示例 registry
├── package.json
├── INSTALL.md
└── README.md

🤝 贡献指南

开发环境搭建

# 克隆仓库
git clone https://coding.jd.com/rc-ai/joyskill.git
cd joyskill

# 安装依赖
npm install

# 本地开发链接
npm link

# 测试命令
joySkills --version
joySkills list

运行测试

# 运行 registry 测试
node test/test-registry.js

# 测试 CLI 命令
joySkills list --search "test"
joySkills list --category "utility"

📝 License

MIT © joySkills Team