Monstermq Broker Config
vogler75/monster-mq
Guide for configuring, deploying, and operating the MonsterMQ broker.
Node.js backend runtime and process-lifecycle rules that Claude reliably gets wrong.
$ npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install TheDecipherist/claude-code-mastery-project-starter-kit nodejs --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/nodejs .claude/skills/nodejs && rm -rf skills-srcUse ~/.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/
Install the "nodejs" agent skill from https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit/tree/main/.claude/skills/nodejs into .claude/skills/nodejs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodejs", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit/tree/main/.claude/skills/nodejsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install TheDecipherist/claude-code-mastery-project-starter-kit nodejs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/nodejs .agents/skills/nodejs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nodejs" agent skill from https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit/tree/main/.claude/skills/nodejs into .agents/skills/nodejs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodejs", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install TheDecipherist/claude-code-mastery-project-starter-kit nodejs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/nodejs .cursor/skills/nodejs && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "nodejs" agent skill from https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit/tree/main/.claude/skills/nodejs into .cursor/skills/nodejs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodejs", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit.git --path .claude/skills/nodejs--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install TheDecipherist/claude-code-mastery-project-starter-kit nodejs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/nodejs .gemini/skills/nodejs && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "nodejs" agent skill from https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit/tree/main/.claude/skills/nodejs into .gemini/skills/nodejs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodejs", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install TheDecipherist/claude-code-mastery-project-starter-kit nodejsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/nodejs .github/skills/nodejs && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "nodejs" agent skill from https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit/tree/main/.claude/skills/nodejs into .github/skills/nodejs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodejs", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install TheDecipherist/claude-code-mastery-project-starter-kit nodejs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/nodejs .opencode/skills/nodejs && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "nodejs" agent skill from https://github.com/TheDecipherist/claude-code-mastery-project-starter-kit/tree/main/.claude/skills/nodejs into .opencode/skills/nodejs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodejs", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
nodejsNode.js backend runtime and process-lifecycle rules that Claude reliably gets wrong.
Nodejs is an agent skill from TheDecipherist/claude-code-mastery-project-starter-kit. Node.js backend runtime and process-lifecycle rules that Claude reliably gets wrong. Use when writing a Node server or long-running script, an Express app, worker threads, or process signal handling, and when choosing packages. Covers correct graceful shutdown, crash-on-fault instead of swallowing errors, not blocking the event loop, loading instrumentation first, securing the session cookie, and replacing deprecated packages with built-ins. Defers MongoDB to mongodb-rules, schema/validation to…
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in DevOps & Cloud, covering Async programming, NoSQL databases and Containers. It works with Node.js, Docker and MongoDB. The repository describes itself as: The definitive starting point for Claude Code projects. Based on Claude Code Mastery Guides V1-V5. The licence is MIT.
Read from SKILL.md and the folder at commit 61fbb99. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
dockerFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use docker, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Nodejs loads about 1.7k tokens when it runs. Until then it costs about 144 tokens; SKILL.md has 649 words of instructions outside code blocks.
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.
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.
The full file from TheDecipherist/claude-code-mastery-project-starter-kit at commit 61fbb99, republished under its MIT licence (© TheDecipherist). 649 words, ~1,734 tokens.
.claude/skills/nodejs/SKILL.md (or your agent's skills folder).Claude writes Node services that work in a demo and fall over in production, almost always around the process lifecycle. These are the parts to get right.
A server must shut down cleanly on SIGTERM (what docker stop, Swarm, and Kubernetes send) and SIGINT (Ctrl-C). Claude usually omits this entirely, so the orchestrator waits the grace period and then SIGKILLs, dropping in-flight requests. The correct sequence is: stop accepting new connections, drain in-flight ones, close dependencies, exit 0, with a hard timeout so a stuck connection can't block shutdown forever.
const server = app.listen(port);
let shuttingDown = false;
async function shutdown(signal) {
if (shuttingDown) return; // ignore repeat signals
shuttingDown = true;
logger.info("shutting down", { signal });
const force = setTimeout(() => { // drain hung? force it
logger.error("shutdown timed out, forcing exit");
process.exit(1);
}, 10_000);
force.unref();
try {
await new Promise((r) => server.close(r)); // stop new conns, let in-flight finish
await db.close(); // then close DB, redis, change streams
clearTimeout(force);
process.exit(0);
} catch (err) {
logger.error("error during shutdown", { err });
process.exit(1);
}
}
process.on("SIGTERM", () => shutdown("SIGTERM"));
process.on("SIGINT", () => shutdown("SIGINT"));Two things that look fine but are bugs: do not put async cleanup in a process.on("exit", ...) handler, the event loop is already stopped so nothing async runs, exit is for synchronous work only. And do not trap SIGUSR1, Node uses it for the debugger. This only works if the process actually receives the signal, which means an exec-form ENTRYPOINT so Node is PID 1 (see the docker skill) and init: true so signals are forwarded (see docker-swarm).
On uncaughtException or unhandledRejection the process is in an unknown, possibly corrupt state. Log it and exit non-zero, let the orchestrator restart a clean process. Do not catch-and-continue. Modern Node already terminates on an unhandled rejection by default, so code that relies on swallowing one is both wrong and fragile.
process.on("uncaughtException", (err) => {
logger.error("uncaught exception", { err });
process.exit(1); // exit non-zero so restart_policy: on-failure restarts
});
process.on("unhandledRejection", (reason) => {
logger.error("unhandled rejection", { reason });
process.exit(1);
});The non-zero exit is what makes Swarm/K8s self-healing fire, an exit(0) on a crash reads as success and the dead service is never restarted (see docker-swarm). You can route these through shutdown() to drain first, but never let the process keep serving after one.
Node runs your JavaScript on a single thread. A CPU-bound stretch, parsing a huge payload, hashing, image work, a tight loop over a large array, freezes every concurrent request until it finishes. I/O is already async and is not the problem. For real CPU work, offload to worker_threads, not child_process (for in-process JS) and not "just make it async" (await doesn't yield during a synchronous loop).
const { Worker } = require("node:worker_threads");
new Worker("./workers/process.js", {
workerData,
resourceLimits: { maxOldGenerationSizeMb: 512 }, // cap so one worker can't OOM the host
});APM and tracing libraries (dd-trace, the OpenTelemetry SDK) work by monkey-patching http, express, and your DB driver. They can only patch modules loaded after them, so the init call must be the very first thing in the entry file, before any require("express"). Required late, it silently instruments nothing.
// server.js, line 1
require("dd-trace").init({ /* ... */ });
const express = require("express"); // now tracedWhen Claude sets up sessions it usually sets httpOnly and stops. Set all three: httpOnly (no JS access), secure in production (HTTPS only), and sameSite (CSRF defense), which is the one that gets missed.
cookie: { httpOnly: true, secure: isProd, sameSite: "lax", maxAge: 86_400_000 }Related CORS gotcha: credentials: true cannot be combined with origin: "*", the browser rejects it. Echo a specific allowed origin instead.
Claude's training pulls in libraries that are now deprecated or unnecessary. Prefer the platform:
crypto.randomUUID() over the uuid package for a v4 id, and uuid over node-uuidfetch (Node 18+) or axios over request (unmaintained since 2020)node:test + node:assert for simple suites, structuredClone() over a deep-clone depdate-fns/Temporal over moment (in maintenance mode)@aws-sdk/client-* v3 (modular) over the monolithic aws-sdk v2sass (dart-sass) over the deprecated node-sassUse the node: prefix on built-in imports (require("node:fs")) so there's no ambiguity with a same-named package.
console.log in a hot path. stdout because the container's logging driver collects it (see docker).init: true, don't stack two process managers that both try to own restarts.This skill is built to grow. Add a rule when a real Node production failure has a stable, defensible fix.
© TheDecipherist, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/nodejs of TheDecipherist/claude-code-mastery-project-starter-kit.
Open the folder on GitHubat commit 61fbb99
Nodejs 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Nodejs this skillTheDecipherist/claude-code-mastery-project-starter-kit | 338 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Monstermq Broker Configvogler75/monster-mq | 142 | — | ~2.2k | Automated safety check: Pass | GPL-3.0 | |
| Full Stack Developertheneoai/awesome-skills | 183 | — | ~2.2k | Automated safety check: Pass | MIT | |
| Foundationdb AspireSnowBankSDK/foundationdb-dotnet-client | 158 | — | ~3.4k | Automated safety check: Pass | BSD-3-Clause | |
| Use Sealoshashgraph-online/awesome-codex-plugins | 1.2k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Reflexo ReleaseMyriad-Dreamin/typst.ts | 1.2k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 |
vogler75/monster-mq
Guide for configuring, deploying, and operating the MonsterMQ broker.
theneoai/awesome-skills
Elite Full-Stack Developer skill with mastery of modern frontend frameworks (React, Vue, TypeScript), backend systems (Node.js, Python, Go), databases (PostgreSQL, MongoDB, Redis), and DevOps…
SnowBankSDK/foundationdb-dotnet-client
How to run a FoundationDB cluster and connect to it from .NET — getting the IFdbDatabaseProvider that the keys/transactions/layers skills assume you already have.
hashgraph-online/awesome-codex-plugins
Deploy and operate apps on Sealos Cloud: sign in to a Sealos account, deploy any project or self-hosted app (from the template store, an official Docker image, or project source code), provision…
Myriad-Dreamin/typst.ts
Guide Reflexo/typst.ts release preparation and operator handoffs.
FNOSP/FlyNarwhal
A skill your agent uses when the user wants to create, generate, or set up a GitHub Actions workflow.
TheDecipherist/claude-code-mastery-project-starter-kit
Scaffold a new microservice that follows the project's server/handlers/adapters architecture.
TheDecipherist/claude-code-mastery-project-starter-kit
Where CSS should live. An agent skill from TheDecipherist/claude-code-mastery-project-starter-kit.
TheDecipherist/claude-code-mastery-project-starter-kit
Production Docker best practices for writing Dockerfiles, Compose files, and Swarm stacks.
TheDecipherist/claude-code-mastery-project-starter-kit
Production Docker Swarm deployment rules: what changes when a compose file goes from a single node to a multi-node Swarm.
TheDecipherist/claude-code-mastery-project-starter-kit
Production MongoDB backup and restore practices that the documentation gets wrong.
TheDecipherist/claude-code-mastery-project-starter-kit
Production MongoDB replica-set operation: topology, durability, host tuning, and the container-specific gotchas Claude gets wrong.
Categories
Node.js backend runtime and process-lifecycle rules that Claude reliably gets wrong. Nodejs is an agent skill from TheDecipherist/claude-code-mastery-project-starter-kit.js backend runtime and process-lifecycle rules that Claude reliably gets wrong.
Nodejs fits situations like: writing a Node server; long-running script; process signal handling; when choosing packages.
Run `npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a claude-code`. Or copy the skill folder (.claude/skills/nodejs in TheDecipherist/claude-code-mastery-project-starter-kit) into .claude/skills/nodejs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a codex`. Or copy the skill folder (.claude/skills/nodejs in TheDecipherist/claude-code-mastery-project-starter-kit) into .agents/skills/nodejs in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add TheDecipherist/claude-code-mastery-project-starter-kit --skill nodejs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nodejs, .gemini/skills/nodejs, .github/skills/nodejs and .opencode/skills/nodejs in your project.
Going by SKILL.md and its folder, Nodejs needs the command-line tools its instructions call (docker). Our summary lists: Node.js; Docker.
SKILL.md contains no URLs. Its commands use docker, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Nodejs is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Nodejs: Monstermq Broker Config (vogler75/monster-mq, 142 stars), Full Stack Developer (theneoai/awesome-skills, 183 stars), Foundationdb Aspire (SnowBankSDK/foundationdb-dotnet-client, 158 stars) and Use Sealos (hashgraph-online/awesome-codex-plugins, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
TheDecipherist (a GitHub user) maintains it in TheDecipherist/claude-code-mastery-project-starter-kit, which has 338 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on June 29, 2026.
Source: TheDecipherist/claude-code-mastery-project-starter-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.