Agent skill

Run Rasengan Server

by rasengan-dev in rasengan-dev/rasenganjs

Build, run, and drive @rasenganjs/server and its ecosystem sub-packages (@rasenganjs/ws, @rasenganjs/queue, @rasenganjs/validators).

MITAuto-check passedBackend & APIs

Install Run Rasengan Server

skills CLI
$ npx skills add rasengan-dev/rasenganjs --skill run-rasengan-server -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rasengan-dev/rasenganjs run-rasengan-server --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rasengan-dev/rasenganjs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/framework/rasengan-server/.claude/skills/run-rasengan-server .claude/skills/run-rasengan-server && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
run-rasengan-server
GitHub stars
124
Token cost
~2.8k tokens
SKILL.md length
992 words
Files
2
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

Build, run, and drive @rasenganjs/server and its ecosystem sub-packages (@rasenganjs/ws, @rasenganjs/queue, @rasenganjs/validators).

  • Asked to start the server
  • SKILL.md covers Prerequisites, Build, Run (agent path) and Run (human path), plus 4 more sections
  • Runs Shell scripts from its folder; calls pnpm, curl and tsx
  • Run/curl its HTTP routes

What it does

Run Rasengan Server is an agent skill from rasengan-dev/rasenganjs. Build, run, and drive @rasenganjs/server and its ecosystem sub-packages (@rasenganjs/ws, @rasenganjs/queue, @rasenganjs/validators). Use when asked to start the server, run/curl its HTTP routes, validate request bodies, open a WebSocket / Gateway connection, trigger or watch a background queue job, or otherwise confirm a change to server/ws/queue/validators actually works end to end.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `driver.sh`).

It sits in Backend & APIs, covering Realtime and WebSockets. It works with pnpm. The repository describes itself as: Rasengan.js is a full-stack meta-framework for React — SSR, SSG, and a built-in backend, running anywhere from Node.js to the edge, without compromising on performance. The licence is MIT.

When your agent uses it

  • Asked to start the server
  • Run/curl its HTTP routes
  • Validate request bodies
  • Open a WebSocket / Gateway connection

Example prompts

  • “/run-rasengan-server”

Requirements

  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit 3fb89eb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • pnpm
    • curl
    • tsx
    • node
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm, curl and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Run Rasengan Server loads about 2.8k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 992 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~102
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rasengan-dev/rasenganjs at commit 3fb89eb, republished under its MIT licence (© rasengan-dev). 992 words, ~2,793 tokens.

Download SKILL.mdSave it as .claude/skills/run-rasengan-server/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
run-rasengan-server
description
Build, run, and drive @rasenganjs/server and its ecosystem sub-packages (@rasenganjs/ws, @rasenganjs/queue, @rasenganjs/validators). Use when asked to start the server, run/curl its HTTP routes, validate request bodies, open a WebSocket / Gateway connection, trigger or watch a background queue job, or otherwise confirm a change to server/ws/queue/validators actually works end to end.

Drives apps/playground/rasengan-server-demo, a real controller-based app that exercises all four packages at once (DI-based controllers, Zod validation, a raw app.websocket() echo route plus a @rasenganjs/ws Gateway with rooms, and a @rasenganjs/queue job both route-triggered and self-repeating). Launch it and drive it via .claude/skills/run-rasengan-server/driver.sh.

Cross-directory note: this skill lives under packages/framework/rasengan-server/ (the unit for @rasenganjs/server), and all paths below are relative to that directory except where explicitly marked as relative to the demo app. The demo app it drives — and the only place the four packages are wired together — is apps/playground/rasengan-server-demo/ (../../../apps/playground/rasengan-server-demo from here, or $(git rev-parse --show-toplevel)/apps/playground/rasengan-server-demo). The driver script resolves this itself; you generally don't need to.

Prerequisites

Node >=22.12 and pnpm 10.9.0 (already satisfied in this environment — verify with node -v && pnpm -v). No system packages needed. Redis is NOT required — @rasenganjs/queue's createQueuePlugin() defaults to an in-memory adapter when no adapter option is passed, which is what the demo app uses.

Build

Six packages feed the demo app; rebuild them after any source change before trusting a run reflects current code:

bash
cd <repo-root>
pnpm --filter "@rasenganjs/runtime" --filter "@rasenganjs/futon" \
     --filter "@rasenganjs/server" --filter "@rasenganjs/ws" \
     --filter "@rasenganjs/queue" --filter "@rasenganjs/validators" run build

If the demo app's node_modules/@rasenganjs/queue doesn't exist yet (first time only — it's a workspace dependency added for this skill), link it:

bash
cd <repo-root>
pnpm install --filter "rasengan-server-demo..."

The driver script below does both of these automatically ("if needed").

Run (agent path)

bash
./.claude/skills/run-rasengan-server/driver.sh          # skip build if dist/ already present
./.claude/skills/run-rasengan-server/driver.sh --build  # force-rebuild all 6 packages first

What it does: rebuilds (if needed) → links the demo's node_modules (if needed) → kills anything already on port 3006 → launches pnpm dev in the demo app in the background (setsid, logged to /tmp/rasengan-server-demo.log) → polls GET /ping for readiness → runs all four capability checks below with PASS/FAIL output → prints a summary → kills the server and any orphaned watch process on exit (via trap ... EXIT), whether it passed or failed. Exit code is 0 iff every check passed.

Real output from the last run (11/11 passing):

== Capability: HTTP & DI ==
  PASS - GET /ping -> {"ok":true}
  PASS - GET /users -> [{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}]
  PASS - POST /users -> {"id":3,"name":"driver-user"}
  PASS - GET /users/1 -> {"id":1,"name":"Alice"}

== Capability: Validation (Zod) ==
  PASS - GET /users/abc -> HTTP 400, {"errors":[{"path":["id"],"message":"must be number","code":"invalid_type"}]}

== Capability: Upload (futon fileUpload) ==
  PASS - POST /upload/avatar -> {"ok":true,"file":{...}}

== Capability: WebSocket / Gateway ==
  PASS - scripts/ws-client.mjs (/chat echo round trip)
  PASS - scripts/ws-rooms-client.mjs (/rooms Gateway, rooms + broadcast)

== Capability: Queue (in-memory adapter) ==
  PASS - POST /jobs/hello -> queued {"queued":true,"jobId":"..."}
  PASS - queue log shows job ... processed (route-triggered)
  PASS - queue log shows repeating 'tick' job firing (1x so far)

==================================
  RESULT: 11 passed, 0 failed
==================================

Server logs land at /tmp/rasengan-server-demo.log and are kept after the driver exits (even on failure) for inspection.

Run: HTTP & DI

Proves controller routing + constructor DI (UserController(private userService: UserService), deps: [UserService, 'CONFIG']).

bash
curl -s http://127.0.0.1:3006/ping                                             # {"ok":true}
curl -s http://127.0.0.1:3006/users                                            # [{"id":1,"name":"Alice"},...]
curl -s -X POST http://127.0.0.1:3006/users -H 'content-type: application/json' -d '{"name":"dilane"}'
curl -s http://127.0.0.1:3006/users/1                                          # {"id":1,"name":"Alice"}
Run: Validation

Proves @rasenganjs/validators' zodAdapter, wired via app.configureValidation({ adapter: zodAdapter }) in src/main.ts (demo app) and UserController.schemas.findOne.params coercing id to a number:

bash
curl -s -w '\nHTTP_STATUS:%{http_code}\n' http://127.0.0.1:3006/users/abc
# {"errors":[{"path":["id"],"message":"must be number","code":"invalid_type"}]}
# HTTP_STATUS:400

File upload (@rasenganjs/futon's fileUpload() + diskStorage(), see src/upload.controller.ts):

bash
curl -s -F "avatar=@/path/to/any/small/file" http://127.0.0.1:3006/upload/avatar
Run: WebSocket / Gateway

Two independent paths, both registered in the demo app — a raw app.websocket() echo route, and a @rasenganjs/ws Gateway with rooms/broadcasting:

bash
cd <repo-root>/apps/playground/rasengan-server-demo
node scripts/ws-client.mjs        # talks to /chat (raw app.websocket()), expects an echo
node scripts/ws-rooms-client.mjs  # talks to /rooms (ChatRoomGateway), exercises join/broadcast/switch-room

ws-rooms-client.mjs prints its own PASS/FAIL assertions and exits non-zero on any failure — treat it as a self-contained smoke test, not just a log to eyeball.

Run: Queue

Proves @rasenganjs/queue's createQueuePlugin() (in-memory adapter, no Redis) end to end — both a route-triggered one-shot job and a self-repeating job registered in Queue.onInit():

bash
curl -s -X POST http://127.0.0.1:3006/jobs/hello -H 'content-type: application/json' -d '{"name":"dilane"}'
# {"queued":true,"jobId":"<uuid>"}

# then, in the server log (/tmp/rasengan-server-demo.log when run via the driver):
grep 'hello-queue' /tmp/rasengan-server-demo.log
# [hello-queue] tick 2026-07-24T13:46:26.373Z          <- repeating job (src/hello.queue.ts, onInit())
# [hello-queue] greeted dilane (job <uuid>)             <- the job you just triggered

Run (human path)

bash
cd apps/playground/rasengan-server-demo
pnpm dev   # blocks in foreground; Ctrl+C to stop (dev.ts owns SIGINT and forwards it to the tsx child's process group)

Then hit http://localhost:3006/... with a browser, curl, or a WebSocket client by hand, same endpoints as above.

Direct-invocation note

For a PR that only touches one internal function inside a single package (no cross-package wiring), running that package's own unit tests is faster than the full driver:

bash
pnpm test   # from packages/framework/rasengan-server/ (this dir) — vitest, currently 118 tests / 14 files

Same pattern for the sibling packages: cd ../../../packages/ecosystem/ws && pnpm test (44 tests), .../queue && pnpm test (73 tests + 1 todo), .../validators && pnpm test (15 tests). All four suites were confirmed green before this skill's demo changes were added.

Test

bash
pnpm test   # from this directory (packages/framework/rasengan-server/)

Expect all suites to pass (14 passed, 118 passed). For an integration-level check that spans all four packages together, use the driver script above instead — that's what it's for.


Show full SKILL.md (453 more words)Show less

Gotchas

  • rasengan.server.js sets preset: 'workerd', but pnpm dev ignores it. preset only selects the target adapter for the production build/start commands (src/cli/start.ts, src/cli/build.ts). The dev command (src/cli/dev.ts) always spawns tsx watch <entry> on plain Node regardless of preset, and selectAdapter() in dev mode auto-detects Bun vs Node from process.versions.bun — it never even reads preset outside production mode. So this container (no Bun/workerd runtime active) runs the demo fine on pnpm dev unmodified; no config change was needed or made.
  • Killing the port's listener does not kill the whole pnpm dev tree. rasengan-server dev spawns tsx watch with Node's spawn({ detached: true }), which puts it in a new session (not just a new process group) — a plain lsof -ti:3006 | xargs kill frees the port but leaves tsx watch (and its own respawned child) running as an orphan on the next reload cycle. The driver's cleanup does both: kill the port's listener, then pkill -f "<absolute demo app path>" (safe — scoped to a unique absolute path, won't match the agent's own shell).
  • The repeating "tick" job does not fire exactly every 1000ms. HelloQueue.onInit() registers it with { repeat: { every: 1_000 } }, and the very first tick fires immediately at boot — but subsequent ticks are gated by createQueuePlugin()'s sweeper, which promotes due repeat jobs on a fixed sweepInterval (default 5000ms), not on each job's own every. Don't wait only ~1-2s expecting multiple ticks; the driver waits up to 6s and only asserts "fired at least once."
  • @rasenganjs/queue is not a pre-existing dependency of the demo app. It was added for this skill (package.json + pnpm install --filter "rasengan-server-demo...") along with src/hello.queue.ts, src/queue.controller.ts, src/queue.module.ts, and the createQueuePlugin() registration in src/main.ts — there was no queue example here before. See the driver's Build step, which links it automatically if missing.

Troubleshooting

  • curl: (7) Failed to connect ... port 3006: server isn't up yet (or crashed). Check /tmp/rasengan-server-demo.log for a stack trace — a common cause is stale dist/ in one of the six packages after a source edit; rerun the driver with --build.
  • Error: Cannot find module '@rasenganjs/queue' when the server boots: the demo app's node_modules predates the queue package being added as a dependency. Run pnpm install --filter "rasengan-server-demo..." from the repo root (the driver does this automatically when node_modules/@rasenganjs/queue is missing).
  • Driver reports queue log missing repeating 'tick' job on an otherwise-healthy server: timing — the sweeper only promotes repeat jobs every 5s (see Gotchas above). Re-run, or check /tmp/rasengan-server-demo.log directly a few seconds later; a single missed check here doesn't mean the queue plugin is broken.
  • Address already in use on 3006 when launching manually (outside the driver): a previous pnpm dev run's tsx watch orphan is still alive. lsof -ti:3006 -sTCP:LISTEN | xargs -r kill then, if it recurs, pkill -f "apps/playground/rasengan-server-demo".

© rasengan-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in packages/framework/rasengan-server/.claude/skills/run-rasengan-server of rasengan-dev/rasenganjs.

  • SKILL.md
  • driver.sh

Open the folder on GitHubat commit 3fb89eb

Compare with similar skills

Run Rasengan Server next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Run Rasengan Server compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Run Rasengan Server this skillrasengan-dev/rasenganjs124—~2.8kAutomated safety check: PassMIT
Supabase Development and Debuggingsupabase/agent-skills2.7k3 repos~3.6kAutomated safety check: PassMIT
Use Yaakmountain-loop/yaak19k—~1.9kAutomated safety check: PassMIT
Gemini Live API Devgoogle-gemini/gemini-skills4.3k—~4.6kAutomated safety check: PassApache-2.0
Broker Integrationmarketcalls/openalgo2.8k—~4.7kAutomated safety check: NotesAGPL-3.0
Trigger.dev Realtimepapermark/papermark9.2k—~1.7kAutomated safety check: PassCustom licence

Similar skills

  • Official

    General Supabase skill for database, auth, Edge Functions, Realtime and storage work, plus client libraries, migrations, security audits, debugging and reading logs.

    2.7k GitHub starsUsed in 3 repos~3.6k tokens
    Backend & APIsAuto-check passed
  • Use Yaak

    mountain-loop/yaak

    A skill your agent uses when the user mentions Yaak, a Yaak workspace, or the yaak command, or asks to call, hit, or smoke test HTTP/REST endpoints, save or organize API requests for reuse or manual…

    19k GitHub stars~1.9k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Gemini Live API Dev

    google-gemini/gemini-skills

    Official

    A skill your agent uses when building real-time, bidirectional streaming applications with the Gemini Live API, or migrating legacy Live models (2.0/2.5/3.1) to Gemini 3.8 Live.

    4.3k GitHub stars~4.6k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Broker Integration

    marketcalls/openalgo

    Integrate a new Indian broker into OpenAlgo, or modify an existing broker plugin.

    2.8k GitHub stars~4.7k tokensUpdated today
    Backend & APIsAuto-check: notes
  • Trigger.dev Realtime

    papermark/papermark

    Shows how to subscribe to Trigger.dev task runs from the backend and from React for progress indicators, live dashboards, AI response streams and approval waits.

    9.2k GitHub stars~1.7k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Spider King

    aoyunyang/spider-king-skill

    Pure-web protocol reverse skill: turn hostile browser clients into browser-free Python collectors.

    509 GitHub stars~7.3k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed

More from rasengan-dev/rasenganjs

All 13 skills in this repo
  • Code Review Excellence

    rasengan-dev/rasenganjs

    Master effective code review practices to provide constructive feedback, catch bugs early, and foster knowledge sharing while maintaining team morale.

    124 GitHub starsUsed in 18 repos~3.3k tokens
    Auto-check passed
  • Rasengan Config

    rasengan-dev/rasenganjs

    Project configuration and rendering mode patterns for Rasengan.js.

    124 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Rasengan Data Fetching

    rasengan-dev/rasenganjs

    Data fetching and SSG static path patterns for Rasengan.js. An agent skill from rasengan-dev/rasenganjs.

    124 GitHub stars~938 tokensUpdated yesterday
    Auto-check passed
  • Rasengan Deployment

    rasengan-dev/rasenganjs

    Deployment patterns for Rasengan.js. An agent skill from rasengan-dev/rasenganjs.

    124 GitHub stars~624 tokensUpdated yesterday
    Auto-check passed
  • Rasengan Ecosystem

    rasengan-dev/rasenganjs

    Rasengan.js ecosystem package patterns. An agent skill from rasengan-dev/rasenganjs.

    124 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Rasengan Optimizing

    rasengan-dev/rasenganjs

    Optimization patterns for Rasengan.js. An agent skill from rasengan-dev/rasenganjs.

    124 GitHub stars~980 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Run Rasengan Server

What does Run Rasengan Server do?

Build, run, and drive @rasenganjs/server and its ecosystem sub-packages (@rasenganjs/ws, @rasenganjs/queue, @rasenganjs/validators). Run Rasengan Server is an agent skill from rasengan-dev/rasenganjs. Build, run, and drive @rasenganjs/server and its ecosystem sub-packages (@rasenganjs/ws, @rasenganjs/queue, @rasenganjs/validators).

When should I use Run Rasengan Server?

Run Rasengan Server fits situations like: asked to start the server; run/curl its HTTP routes; validate request bodies; open a WebSocket / Gateway connection.

How do I install Run Rasengan Server in Claude Code?

Run `npx skills add rasengan-dev/rasenganjs --skill run-rasengan-server -a claude-code`. Or copy the skill folder (packages/framework/rasengan-server/.claude/skills/run-rasengan-server in rasengan-dev/rasenganjs) into .claude/skills/run-rasengan-server in your project. Claude Code loads it when a task matches its description.

How do I install Run Rasengan Server in Codex?

Run `npx skills add rasengan-dev/rasenganjs --skill run-rasengan-server -a codex`. Or copy the skill folder (packages/framework/rasengan-server/.claude/skills/run-rasengan-server in rasengan-dev/rasenganjs) into .agents/skills/run-rasengan-server in your project. Codex loads it when a task matches its description.

Can I use Run Rasengan Server in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rasengan-dev/rasenganjs --skill run-rasengan-server -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/run-rasengan-server, .gemini/skills/run-rasengan-server, .github/skills/run-rasengan-server and .opencode/skills/run-rasengan-server in your project.

What does Run Rasengan Server need to run?

Going by SKILL.md and its folder, Run Rasengan Server needs a shell for the scripts in its folder and the command-line tools its instructions call (pnpm, curl, tsx, node and git). Our summary lists: A Bash shell.

Does Run Rasengan Server access the network?

SKILL.md contains no URLs. Its commands use curl and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Run Rasengan Server safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Run Rasengan Server use?

Run Rasengan Server is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Run Rasengan Server use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Run Rasengan Server?

Skills that share tags, products or a category with Run Rasengan Server: Supabase Development and Debugging (supabase/agent-skills, 2.7k stars), Use Yaak (mountain-loop/yaak, 19k stars), Gemini Live API Dev (google-gemini/gemini-skills, 4.3k stars) and Broker Integration (marketcalls/openalgo, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Run Rasengan Server?

rasengan-dev (a GitHub organization) maintains it in rasengan-dev/rasenganjs, which has 124 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.

Source: rasengan-dev/rasenganjs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.