Synthèse automatique
Skill spécialisé pour construire, optimiser et déboguer des applications Node.js côté serveur (API, CLI, microservices) en gardant la boucle d'événements et les ressources bornées comme contraintes directrices.
Points forts
- Impose de lire les conventions et la configuration existantes avant d'introduire un second idiome dans un codebase cohérent
- Cible les risques concrets du runtime : opérations CPU synchrones, regex catastrophiques, chaînes `.pipe()` qui fuient les descripteurs
- Traite explicitement le cycle de vie du process (arrêt gracieux sur SIGTERM, sortie après exception non capturée)
- Exige un rapport structuré : risques bloquants, comportement streams/backpressure, chemin d'arrêt, provenance de la configuration
Limites
- Skill purement prescriptif : aucun script, linter ni outil de vérification n'est fourni pour faire respecter ces règles
- Ne détaille pas les frameworks (Nest, Fastify) ni les chaînes de build TypeScript
- Suppose un process supervisé de longue durée ; peu pertinent pour du serverless ou des fonctions éphémères
À mobiliser dès qu'une tâche touche du code Node.js côté serveur : nouvel endpoint, CLI, microservice, incident de production ou revue de performance.
À éviter pour du code front-end, du scripting navigateur ou un projet Node où l'on veut seulement ajouter une dépendance sans toucher au comportement du runtime.
Analyse de sécurité
SûrThe skill is purely advisory guidance for Node.js development. It includes Bash/Write/Edit in allowed-tools, but the content contains no destructive commands, no network exfiltration, no obfuscated payloads, and no instructions to disable safety controls. The self-evolve journal write is a benign local file operation.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Add a CSV export endpoint to our Express API. Some tenants have millions of rows — make sure it streams instead of buffering the whole result in memory, and handle errors without leaking connections.Every deploy drops in-flight requests on this Node service. Implement graceful shutdown on SIGTERM (stop accepting, drain, close the pg pool) and audit the request path for anything blocking the event loop.Review how this Node service loads and validates configuration at startup, and check whether we're pulling in packages that `node:` already covers — report the blocking risks and the dependency footprint.name: node-specialist description: Use when you need to build, optimize, or debug Node.js backend applications, APIs, CLIs, or microservices requiring deep ecosystem knowledge and server-side JavaScript expertise. codex-short-description: "Build, optimize, and debug Node.js APIs, CLIs, and microservices" allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep related-skills:
- codebase-explain
- codebase-plan-refactor loop-eligible: false compatibility: claude-code codex opencode
Node Specialist
You build server-side JavaScript. Node's single-threaded event loop is the constraint that shapes every decision.
Match the codebase first
Read the existing configuration, conventions, and dependency choices before applying anything below. Introducing a second idiom into a consistent codebase costs more than it returns; where the existing approach genuinely blocks the work, raise it as its own change rather than resolving it inside an unrelated ticket.
Never block the event loop
One CPU-bound operation stalls every concurrent request on that process. Synchronous filesystem calls, large JSON parses, crypto in a request path, and unbounded regexes are the usual causes. Move CPU work to worker threads or a separate process. A regex over user input that backtracks exponentially is a denial-of-service vector, not a performance nit.
Streams for anything that could be large
Reading a file or a request body fully into memory works until someone sends a large one, then
it takes down the process. Pipe with pipeline so errors and cleanup propagate — manual
.pipe() chains leak file descriptors on error.
Handle process lifecycle deliberately
Graceful shutdown on SIGTERM: stop accepting connections, finish in-flight requests, close pool connections, then exit. Without it, every deploy drops requests. Do not keep running after an uncaught exception — the process is in an unknown state; log and exit, and let the supervisor restart.
Backpressure and bounded resources
Unbounded queues, unbounded connection pools, and unbounded caches all become memory leaks under load. Every buffer needs a limit and a defined behavior when it is reached.
Dependencies are attack surface and startup cost
Node projects accumulate transitive dependencies fast. Audit them, pin them with a committed
lockfile, and prefer the standard library where it is adequate. Check what you actually need
before adding a package for something node: already provides.
Configuration and secrets from the environment
Never in the repository, never in the image. Validate required configuration at startup and fail loudly — a service that boots with a missing variable and fails on first request is worse than one that refuses to start.
Reporting
State the blocking risks, the stream and backpressure behavior, the shutdown path, and where configuration comes from.
<!-- self-evolve:start -->Host portability: tool names in this skill follow Claude Code conventions; on other hosts (Codex, opencode) map them by intent — see PORTABILITY.md.
Self-Evolve Loop
Journal: ~/.ink-and-agency/learnings/node-specialist.md (workspace-local
.ink-and-agency/learnings/node-specialist.md where the sandbox confines writes). Read it
first, append what the run taught last — SELF-EVOLVE.md.
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/node-js-specialist-ms71b4c9/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/node-js-specialist-ms71b4c9' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/node-js-specialist-ms71b4c9/download' --output '.skill-downloads/node-js-specialist-ms71b4c9/SKILL.md.part' && mv '.skill-downloads/node-js-specialist-ms71b4c9/SKILL.md.part' '.skill-downloads/node-js-specialist-ms71b4c9/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Environnement déclaré par l’auteur : claude-code codex opencode
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/node-js-specialist-ms71b4c9/SKILL.md' && test -s '.skill-downloads/node-js-specialist-ms71b4c9/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/node-specialist' && cp -R '.skill-downloads/node-js-specialist-ms71b4c9' '.claude/skills/node-specialist'Codex
test -f '.skill-downloads/node-js-specialist-ms71b4c9/SKILL.md' && test -s '.skill-downloads/node-js-specialist-ms71b4c9/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/node-specialist' && cp -R '.skill-downloads/node-js-specialist-ms71b4c9' '.agents/skills/node-specialist'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/node-js-specialist-ms71b4c9'openskills read 'node-js-specialist-ms71b4c9'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/node-js-specialist-ms71b4c9/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Bonnes pratiques React Hook Form
Developpement
Maîtrisez React Hook Form : évitez les anti-patterns, gérez les abonnements, et traitez correctement reset, dirty state et entrées contrôlées.
Migration Emotion vers Mantine
Developpement
Migrer les styled-components Emotion vers des composants Mantine avec style props et modules CSS. Pour convertir .styled.tsx ou supprimer les imports @emotion.
Détecteur de dérive de périmètre
Developpement
Analyse les diffs git par rapport à une intention pour détecter la dérive de périmètre, fichiers non liés et PR trop larges, puis suggère de garder, diviser ou justifier.