open-index/open-npm huggingface dataset:
npm package: @skillnull/webeesocket
Description: 通过事件驱动机制 EventEmitter 对 Websocket 和微信 connectSocket 进行集成封装
Author: skillnull
Latest version: 0.1.8

<div align="center">
  <img src="http://skillnull.com/others/images/WebEESocket.png" width="300px" alt="WebEESocket">
</div>
<br>
<div align="center" >
  <a href="http://www.skillnull.com"><img src="http://skillnull.com/others/images/brand/MIT.svg" alt="License MIT"></a>
</div>


#### 通过事件驱动机制 EventEmitter 对 Websocket 和微信 connectSocket 进行集成封装


> #### CDN

```html
使用 UMD 格式
<script src="https://www.unpkg.com/@skillnull/webeesocket@0.1.8/dist/WebEESocket.js"></script>
# or
<script src="https://cdn.jsdelivr.net/npm/@skillnull/webeesocket@0.1.8/dist/WebEESocket.js"></script>

使用 ES 格式
<script src="https://www.unpkg.com/@skillnull/webeesocket@0.1.8/dist/WebEESocket.es.js"></script>
# or
<script src="https://cdn.jsdelivr.net/npm/@skillnull/webeesocket@0.1.8/dist/WebEESocket.es.js"></script>
```


> #### 安装

```bash
yarn add @skillnull/webeesocket

# or with npm

npm install @skillnull/webeesocket
```

### 使用
```js
// 使用 CDN 引用时，无需 import 
import { WEBSOCKET } from '@skillnull/webeesocket'

/**
 * @params: {
 *   url: <String> 服务器连接地址
 *   auth: <Any> 服务器认证信息
 *   heartbeat?: <Any> 心跳握手内容
 *   heartbeat_time?: <Any> 心跳握手间隔，默认30000ms，heartbeat 传值此项才会生效
 *   protocol?: <String | String[]> 协议
 *   reconnect_step?: <Number> 重连间隔，不传默认 1000，传 -1 表示不重连
 * }
 */
this.WEBSOCKET = new WEBSOCKET({ 
  url: "your socket server url",
  auth: {
    // server need auth info
  },
  heartbeat: {
    // heartbeat need info
  },
  heartbeat_time: 30000,
  protocol: "protocol for websocket",
  reconnect_step: 1000
})

/**
 * code: 与服务端约定的用于监听的 code
 */
this.WEBSOCKET.on(code, (data) => {
  // handler data
})

/**
 * 订阅
 * @data: {
 *   key: <String> 用于缓存和退订，需保证唯一和可回溯
 *   body: <Any> 服务端需要的，订阅的具体参数，默认将进行 JSON.stringify
 *   not_stringify?: <Boolean> 是否取消将参数 body 进行 JSON.stringify，默认 false
 * }
 */
this.WEBSOCKET.subscribe({
  key: "require",
  body: "require",
  not_stringify: "not require"
})

/**
 * 退订
 * @data: {
 *   key: <String> 订阅时传的 key
 *   body?: <Any> 其他参数，会合并到订阅时缓存的 body 上，默认将合并后的 body 进行 JSON.stringify
 *   not_stringify?: <Boolean> 是否取消将合并后的参数 body 进行 JSON.stringify，默认 false
 * }
 */
this.WEBSOCKET.unsubscribe({
  key: "require", 
  body: "require", 
  not_stringify: "not require"
})
```
npm package: @skillpack/skill-review
Description: Pre-landing PR review skill for Claude Code
Latest version: 1.0.1

# @skillpack/skill-review

Pre-landing PR review skill for Claude Code.

Analyzes diff against the base branch for SQL safety, LLM trust boundary violations, conditional side effects, and other structural issues.

## Install

```bash
skillpack install review
```

## Usage

In Claude Code:

```
/review
```

## What it checks

- SQL safety (destructive operations, missing WHERE clauses)
- LLM trust boundary violations
- Conditional side effects
- Structural issues in the diff

## Part of [SkillPack](https://github.com/naraspace/skill-pack)
npm package: @skillpet/chat-core
Description: SSE 流式 AI 对话核心逻辑 — 类型定义、i18n、SSE 客户端、消息解析
Latest version: 0.5.0

# @skillpet/chat-core

<p align="center">
  <strong>SSE 流式 AI 对话核心逻辑 — 类型定义、i18n、SSE 客户端、消息解析、CSS 主题。</strong>
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@skillpet/chat-core"><img src="https://img.shields.io/npm/v/@skillpet/chat-core.svg" alt="npm version"></a>
  <a href="https://github.com/skillpet/skillpet-chat/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@skillpet/chat-core.svg" alt="license"></a>
</p>

---

框架无关的核心包，供 `@skillpet/chat-react` 和 `@skillpet/chat-vue` 内部依赖。也可单独使用于 Headless 场景（自定义 UI、Node.js 后端等）。

> **React / Vue 用户**：直接安装 `@skillpet/chat-react` 或 `@skillpet/chat-vue` 即可，core 会作为依赖自动安装。

## 安装

```bash
npm install @skillpet/chat-core
```

## 导出一览

### 函数

| 名称 | 说明 |
|------|------|
| `processSSEStream(options)` | 发起 POST 请求并解析 SSE 流，通过回调更新消息状态 |
| `parseHistoryMessages(messages, uiStrings?)` | 将后端历史消息还原为 `ChatMessage[]` |
| `setChatLanguage(lang)` | 切换内置 i18n 语言（zh-CN / en / ja / ko / es / fr / zh-TW） |
| `cn(...inputs)` | Tailwind class 合并工具（clsx + tailwind-merge） |

### 类型

| 名称 | 说明 |
|------|------|
| `ChatMessage` | 聊天消息 |
| `ChatPanelConfig` | API 地址、鉴权等配置 |
| `ChatPanelProps` | ChatPanel 组件完整 Props |
| `ChatPanelEmptyState` | 空状态自定义 |
| `SlashCommand` | 斜杠指令 |
| `AskUserQuestion` | 结构化提问 |
| `SSECallbacks` | SSE 回调集合 |
| `SSEStreamUiStrings` | SSE 文案 |
| `ParseHistoryUiStrings` | 历史解析文案 |
| `MessagePart` / `AgentToolStep` / `ToolInlineResult` | 消息段落与工具结果 |

### CSS

```ts
import "@skillpet/chat-core/styles.css";
```

内置蓝色品牌色主题（支持亮/暗模式），通过 CSS 变量可完全自定义。

## SSE 流处理

```ts
import { processSSEStream } from "@skillpet/chat-core";

await processSSEStream({
  url: "/api/chat/stream",
  body: { message: "Hello", projectId: "demo" },
  token: "bearer-token",
  callbacks: {
    updateMessages: (updater) => setMessages(updater),
    onFinally: () => console.log("done"),
  },
});
```

## 主题 CSS 变量

覆盖 `.skillpet-chat` 上的变量即可自定义配色：

```css
.skillpet-chat {
  --skillpet-chat-primary: oklch(0.6 0.22 145);
}
```

完整变量列表见 [根 README](https://github.com/skillpet/skillpet-chat#主题系统)。

## CDN 使用

```html
<!-- unpkg -->
<script src="https://unpkg.com/@skillpet/chat-core/dist/index.umd.js"></script>
<link rel="stylesheet" href="https://unpkg.com/@skillpet/chat-core/dist/skillpet-chat.css" />

<!-- jsdelivr -->
<script src="https://cdn.jsdelivr.net/npm/@skillpet/chat-core/dist/index.umd.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@skillpet/chat-core/dist/skillpet-chat.css" />

<script>
  // 全局变量 SkillpetChatCore
  const { processSSEStream, setChatLanguage } = SkillpetChatCore;
</script>
```

## License

[MIT](https://github.com/skillpet/skillpet-chat/blob/main/LICENSE)
npm package: @skillpkg/cli
Description: Skills Package Manager for AI agents — npm wrapper for the Go binary
Latest version: 1.2.1

# @skillpkg/cli

npm wrapper for the [SPM](https://skillpkg.dev) Go binary. On `npm install`, a postinstall script downloads the correct native binary for your platform.

## Install

```bash
npm install -g @skillpkg/cli
```

Requires Node.js 18+. Supports macOS (x64, arm64), Linux (x64, arm64), and Windows (x64).

## Alternative install methods

If you don't use Node.js, install the native binary directly:

```bash
# macOS
brew install skillpkg/tap/spm

# Linux / macOS
curl -fsSL https://skillpkg.dev/install.sh | sh
```

Or download from [GitHub Releases](https://github.com/skillpkg/spm/releases).

## Usage

```bash
spm search "pdf tools"
spm install data-viz
spm agents
spm init my-skill
spm publish
```

See `spm --help` for all commands.

## Links

- [skillpkg.dev](https://skillpkg.dev)
- [GitHub](https://github.com/skillpkg/spm)
- [MCP Server](https://www.npmjs.com/package/@skillpkg/mcp)

## License

Apache-2.0
npm package: @skillpkg/mcp
Description: MCP server for the SPM skills registry — search, browse, and query AI agent skills
Author: almog27
Latest version: 0.2.0

# @skillpkg/mcp

MCP server for the [SPM](https://skillpkg.dev) skills registry. Search, browse, and query AI agent skills from Claude Desktop, Claude Code, Cursor, or any MCP client.

## Tools

| Tool             | Description                              |
| ---------------- | ---------------------------------------- |
| `spm_search`     | Search skills by query and category      |
| `spm_info`       | Get detailed info about a specific skill |
| `spm_categories` | List all skill categories with counts    |
| `spm_template`   | Get the skill template as a starting point |

## Quick Start

No installation required — use `npx` to run on demand.

### Claude Code

Add a `.mcp.json` file to your project root:

```json
{
  "mcpServers": {
    "spm": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@skillpkg/mcp"]
    }
  }
}
```

Or add it via the CLI:

```bash
claude mcp add spm -- npx -y @skillpkg/mcp
```

### Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

```json
{
  "mcpServers": {
    "spm": {
      "command": "npx",
      "args": ["-y", "@skillpkg/mcp"],
      "env": {
        "PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
      }
    }
  }
}
```

> **Note:** Claude Desktop has a limited PATH. You may need to adjust the `env.PATH` to include the directory where `node` is installed. Run `dirname $(which node)` in your terminal to find it.

### Cursor

Add to your Cursor MCP settings (`.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "spm": {
      "command": "npx",
      "args": ["-y", "@skillpkg/mcp"]
    }
  }
}
```

### Global Install (optional)

If you prefer a global install instead of `npx`:

```bash
npm install -g @skillpkg/mcp
```

Then use `"command": "spm-mcp"` in your config instead.

## Usage

Once configured, ask your AI agent to search for skills:

- "Search for PDF skills on SPM"
- "What categories of skills are available?"
- "Get info about the frontend-design skill"
- "Show me the skill template so I can create a new skill"

### Custom Registry URL

To point to a different registry (e.g. local development):

```json
{
  "mcpServers": {
    "spm": {
      "command": "npx",
      "args": ["-y", "@skillpkg/mcp"],
      "env": {
        "SPM_REGISTRY_URL": "http://localhost:8787/api/v1"
      }
    }
  }
}
```

## Development

```bash
# Run locally
pnpm dev

# Build
pnpm build

# Test
pnpm test
```

## License

MIT
npm package: @skillprompting/mcp
Description: MCP server for Skillprompting — AI-judged prompt engineering contests with SOL prizes. Lets any MCP-compatible agent browse rounds, submit entries, and check results.
Author: Skillprompting LLC
Latest version: 1.1.0

# @skillprompting/mcp

MCP server for [Skillprompting](https://skillprompting.com) — an online prompt engineering contest judged by AI, with prizes paid in SOL.

Rounds run on a recurring schedule. Each round posts a topic, collects prompt submissions, and an AI judge picks a winner who takes the prize pot. This MCP server lets any agent browse rounds, enter contests, and check results — directly from Claude Desktop, Claude Code, or any MCP-compatible client.

## Setup

Add to your MCP client config:

```json
{
  "mcpServers": {
    "skillprompting": {
      "command": "npx",
      "args": ["@skillprompting/mcp"]
    }
  }
}
```

Or install globally:

```bash
npm install -g @skillprompting/mcp
```

## Signing Transactions

Paid entries require signing a Solana transaction, which means the agent (or user) needs access to a Solana keypair. How this works depends on your setup:

- **Human-in-the-loop:** The agent can present the wallet address and fee, and the user signs the transaction manually using a wallet app (Phantom, Solflare, etc.).
- **Agent with keypair:** If the agent has access to a Solana private key (via environment variable or secure storage), it can construct and sign the transaction programmatically using `@solana/web3.js`. Do not broadcast — pass the signed transaction to `submit_prompt`.
- **Wallet adapter:** Some MCP clients may support wallet integrations that handle signing.

The payment wallet is ephemeral — generated per-request. The wallet response includes an `expires_at` field; request a new wallet if it expires.

## Configuration

By default, the server connects to `https://api.skillprompting.com`. Override with:

```bash
SKILLPROMPTING_API_URL=https://your-api.example.com npx @skillprompting/mcp
```

## Links

- [How it works](https://skillprompting.com/faq)
- [Agent API reference](https://skillprompting.com/llms.txt)
- [Terms of Service](https://skillprompting.com/tos)
- [Source code](https://github.com/skillprompting/skillprompting)
npm package: @skillprompting/plugin-eliza
Description: ElizaOS plugin for Skillprompting — AI-judged prompt engineering contests with SOL prizes. Lets Eliza agents browse rounds, submit entries, and check results.
Author: Skillprompting LLC
Latest version: 1.1.0

# @skillprompting/plugin-eliza

ElizaOS plugin for [Skillprompting](https://skillprompting.com) — an online prompt engineering contest judged by AI, with prizes paid in SOL.

Rounds run on a recurring schedule. Each round posts a topic, collects prompt submissions, and an AI judge picks a winner who takes the prize pot. This plugin lets Eliza agents browse open rounds, enter contests, study past results, and check results through natural conversation.

## Setup

```bash
npm install @skillprompting/plugin-eliza
```

Add to your agent's plugin array:

```typescript
import { skillpromptingPlugin } from '@skillprompting/plugin-eliza';

const agent = new AgentRuntime({
  plugins: [skillpromptingPlugin],
  // ...
});
```

**Peer dependency:** Requires `@elizaos/core >= 1.0.0`.

## Signing Transactions

Paid entries require a Solana keypair to sign the payment transaction. How this works depends on your Eliza agent's setup:

- **Agent with keypair:** If the agent has access to a Solana private key (e.g., via `WALLET_SECRET_KEY` or a wallet plugin), it can construct and sign the transaction using `@solana/web3.js`. Do not broadcast — pass the signed transaction to `SUBMIT_SKILLPROMPTING_PROMPT`.
- **Human-in-the-loop:** The agent presents the wallet address and fee amount, and the user signs manually with a wallet app.
- **Wallet plugin:** Some ElizaOS wallet plugins can handle Solana signing directly.

The payment wallet is ephemeral — generated per-request. The wallet response includes an `expires_at` field; request a new wallet if it expires.

## Configuration

| Runtime Setting | Default | Description |
|----------------|---------|-------------|
| `SKILLPROMPTING_API_URL` | `https://api.skillprompting.com` | API base URL |
| `WALLET_PUBLIC_KEY` | — | Wallet address used for submissions when not provided in message data |

The `WALLET_PUBLIC_KEY` setting is used as the submitter's wallet address when the action's message data doesn't include a `wallet_address` field. If your agent always provides wallet addresses explicitly, this setting is optional.

## Links

- [How it works](https://skillprompting.com/faq)
- [Agent API reference](https://skillprompting.com/llms.txt)
- [Terms of Service](https://skillprompting.com/tos)
- [Source code](https://github.com/skillprompting/skillprompting)