Skip to content
Back to skills

Reactive

ASecurity

Drives live avatar movement from the real pump.fun PumpPortal feed.

  • 7 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added June 7, 2026
developmentrustreactapi

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned June 7, 2026

npx -y skills add nirholas/three-ui --skill reactive --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reactive?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Reactive
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/nirholas-reactive/badge)](https://www.skillsdirectory.com/skills/nirholas-reactive)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pump-fun-reactive
version: 0.1.0
author: nirholas
description: Drives live avatar movement from the real pump.fun PumpPortal feed.
trust: any
---

# pump-fun-reactive

Connects to the real PumpPortal WebSocket feed and drives `<agent-3d>` avatar reactions
from live pump.fun events — no LLM in the loop.

## Tools

### `enable_live_reactions`

Opens a WebSocket to `wss://pumpportal.fun/api/data`, subscribes to new token launches
and migrations, and starts emitting avatar events every 2 seconds based on market activity.

- Returns `{ ok: true, started: true }` on first call.
- Returns `{ ok: true, already: true }` if already running.
- Reconnects automatically on disconnect (exponential backoff, up to 10 attempts).

**Requires** `ctx.protocol` — an `AgentProtocol` instance (or any object with an `emit(action)` method).

### `disable_live_reactions`

Closes the WebSocket and stops the aggregator. Returns `{ ok: true, stopped: true }`.

## Event logic (2-second aggregator window)

Priority order within each window:

1. **Any migration (`txType: 'migrate'`)** → `gesture: celebrate` + `emote: celebration` + `speak: "<name> graduated!"`
2. **Big initial buy** (highest-`solAmount` create event has `solAmount > 5 SOL`) → `emote: curiosity` + `speak: "<name> just opened with a X.XX SOL buy."`
3. **Count of `txType: 'create'` events:**
    - 0 → `emote: patience`
    - 1–2 → `emote: curiosity` + `look-at: user`
    - 3–9 → `gesture: wave` + `emote: curiosity`
    - 10+ → `gesture: wave` + `emote: celebration` + `speak: "Pump.fun is on fire — N new launches in 2 seconds."`

## Usage

```js
// Install the skill and call enable
await registry.install({ uri: './pump-fun-skills/reactive/' });
const skill = registry.findSkillForTool('enable_live_reactions');
await skill.invoke('enable_live_reactions', {}, { protocol });

// Stop later
await skill.invoke('disable_live_reactions', {}, {});
```

Files in this skill

  • SKILL.md1.9 KB
  • handlers.js3.5 KB
  • manifest.json375 B
  • tools.json568 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.