github/sandbox-npm-install

Installez des packages npm dans un environnement sandbox Docker. Utilisez cette compétence chaque fois que vous devez installer, réinstaller ou mettre à jour node_modules à l'intérieur d'un conteneur où l'espace de travail est monté via virtiofs. Les binaires natifs (esbuild, lightningcss, rollup) plantent sur virtiofs, donc les packages doivent être installés sur le système de fichiers local ext4 et liés symboliquement en retour.

Qu'est-ce que sandbox-npm-install ?

Cette compétence permet d'installer des packages npm de manière fiable dans un environnement Docker sandbox, en contournant les limitations connues du système de fichiers virtiofs. Les binaires natifs comme esbuild, lightningcss et rollup ne fonctionnent pas correctement lorsqu'ils sont exécutés depuis un volume monté via virtiofs, ce qui entraîne des plantages. Pour résoudre ce problème, la compétence crée un répertoire temporaire sur le système de fichiers local ext4 du conteneur, y installe les packages, puis crée des liens symboliques vers le répertoire node_modules dans l'espace de travail monté. Elle est compatible avec les plateformes d'agents IA comme Claude Code, Cursor, et Codex, et s'intègre de manière transparente dans les workflows de développement conteneurisés. La compétence gère également la détection des plantages de processus, l'attente de redémarrage du démon Docker, et offre une option de réinstallation forcée avec `--force-reinstall`. Cette approche garantit une installation stable et rapide, sans nécessiter de modifications de l'infrastructure sous-jacente.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/github/awesome-copilot/tree/main/skills/sandbox-npm-install

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait sandbox-npm-install ?

Installez des packages npm dans un environnement sandbox Docker. Utilisez cette compétence chaque fois que vous devez installer, réinstaller ou mettre à jour node_modules à l'intérieur d'un conteneur où l'espace de travail est monté via virtiofs. Les binaires natifs (esbuild, lightningcss, rollup) plantent sur virtiofs, donc les packages doivent être installés sur le système de fichiers local ext4 et liés symboliquement en retour.

Problème

Lorsque vous travaillez dans un conteneur où l'espace de travail est monté via virtiofs, les binaires natifs (par exemple, esbuild, lightningcss, rollup) peuvent planter avec une erreur de segmentation ou Illegal instruction. Cela se produit car virtiofs ne supporte pas pleinement les appels système nécessaires à ces binaires.

L'installation de packages node_modules directement dans l'espace de travail monté échouera ou plantera au moment de l'exécution pour tout package contenant des binaires natifs.

Solution

Cette compétence déplace l'installation de npm install vers un répertoire temporaire sur le système de fichiers local ext4 du conteneur. Ensuite, elle crée un lien symbolique entre ce répertoire local et le dossier node_modules dans l'espace de travail monté.

Cela permet à tous les packages npm de fonctionner correctement, y compris ceux avec des binaires natifs, sans modifier votre infrastructure ou votre code.

Fonctionnalités

  • Installation automatique : Installe automatiquement les packages dans un répertoire local et les relie symboliquement.
  • Détection intelligente : Détecte automatiquement si une installation échoue en raison de problèmes de virtiofs et applique la solution.
  • Réinstallation forcée : Utilisez --force-reinstall pour forcer une nouvelle installation, même si les packages existent déjà.
  • Gestion des processus : Tue les processus zombies et les relance si nécessaire.
  • Cache de registre : Possibilité de spécifier un registre npm personnalisé avec --registry [URL].

Utilisation

# Utilisation standard (installation, réinstallation ou mise à jour)
npm install <packages>

# Réinstallation forcée
npm install --force-reinstall <packages>

# Installation avec un registre personnalisé
npm install --registry https://registry.npmjs.org <packages>

Prérequis

  • Docker doit être en cours d'exécution.
  • Le répertoire de l'espace de travail doit être monté via virtiofs.
  • Node.js et npm doivent être installés dans le conteneur.

Comment cela fonctionne

  1. La compétence vérifie si node_modules existe et est un lien symbolique. Si c'est le cas, elle vérifie si la cible est valide. Sinon, elle supprime le lien et crée un nouveau répertoire local.
  2. Elle crée un répertoire temporaire (par exemple, /tmp/sandbox-npm-install-XXXXXX).
  3. Elle exécute npm install dans ce répertoire temporaire.
  4. Si l'installation échoue, elle tue les processus zombies et attend 5 secondes, puis réessaie une fois.
  5. Si l'installation réussit, elle supprime node_modules dans l'espace de travail monté.
  6. Elle crée un lien symbolique depuis node_modules de l'espace de travail vers le répertoire local installé.

Exemples

# Installer une dépendance de production
npm install express

# Installer une dépendance de développement
npm install --save-dev vitest

# Forcer la réinstallation de tous les packages
npm install --force-reinstall

# Installer depuis un registre distinct
npm install --registry https://npm.internal.company.com my-private-package

Compatibilité

  • Fonctionne avec Claude Code, Cursor, Codex et d'autres agents IA avec accès à Docker.
  • Fonctionne avec n'importe quel package npm (binaires natifs, dépendances, etc.).
  • Fonctionne dans n'importe quel gestionnaire de packages compatible avec npm (par exemple, yarn, pnpm) mais utilise npm par défaut.

Dépannage

Problème : L'installation de packages échoue avec "Illegal instruction" ou une erreur de segmentation. Solution : L'espace de travail est probablement monté via virtiofs. Utilisez cette compétence pour déplacer l'installation vers le système de fichiers local.

Problème : node_modules est un lien symbolique cassé. Solution : Supprimez node_modules et réexécutez la commande npm install. Cette compétence créera un nouveau répertoire local et un lien symbolique.

Problème : Les packages semblent être installés mais ne sont pas trouvés. Solution : Assurez-vous que le répertoire temporaire existe toujours. Si le conteneur a été redémarré, vous devrez peut-être réinstaller.

Sécurité

  • Aucune donnée externe n'est transmise ; tout reste dans l'environnement du conteneur.
  • Aucune modification permanente de l'infrastructure n'est effectuée.
  • Le répertoire temporaire est nettoyé après l'installation (sauf si --keep est spécifié).

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

github/acquire-codebase-knowledge

Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document this architecture", "onboard me to this repo", or "create codebase docs". Do not trigger for routine feature implementation, bug fixes, or narrow code edits unless the user asks for repository-level discovery.

github/add-educational-comments

Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.

github/agent-governance

Patterns and techniques for adding governance, safety, and trust controls to AI agent systems. Use this skill when: - Building AI agents that call external tools (APIs, databases, file systems) - Implementing policy-based access controls for agent tool usage - Adding semantic intent classification to detect dangerous prompts - Creating trust scoring systems for multi-agent workflows - Building audit trails for agent actions and decisions - Enforcing rate limits, content filters, or tool restrictions on agents - Working with any agent framework (PydanticAI, CrewAI, OpenAI Agents, LangChain, AutoGen)

github/agentic-eval

Patterns and techniques for evaluating and improving AI agent outputs. Use this skill when: - Implementing self-critique and reflection loops - Building evaluator-optimizer pipelines for quality-critical generation - Creating test-driven code refinement workflows - Designing rubric-based or LLM-as-judge evaluation systems - Adding iterative improvement to agent outputs (code, reports, analysis) - Measuring and improving agent response quality

github/agent-owasp-compliance

Check any AI agent codebase against the OWASP Agentic Security Initiative (ASI) Top 10 risks. Use this skill when: - Evaluating an agent system's security posture before production deployment - Running a compliance check against OWASP ASI 2026 standards - Mapping existing security controls to the 10 agentic risks - Generating a compliance report for security review or audit - Comparing agent framework security features against the standard - Any request like "is my agent OWASP compliant?", "check ASI compliance", or "agentic security audit"

github/ai-prompt-engineering-safety-review

Comprehensive AI prompt engineering safety review and improvement prompt. Analyzes prompts for safety, bias, security vulnerabilities, and effectiveness while providing detailed improvement recommendations with extensive frameworks, testing methodologies, and educational content.

github/appinsights-instrumentation

Instrument a webapp to send useful telemetry data to Azure App Insights

github/apple-appstore-reviewer

Serves as a reviewer of the codebase with instructions on looking for Apple App Store optimizations or rejection reasons.

github/architecture-blueprint-generator

Comprehensive project architecture blueprint generator that analyzes codebases to create detailed architectural documentation. Automatically detects technology stacks and architectural patterns, generates visual diagrams, documents implementation patterns, and provides extensible blueprints for maintaining architectural consistency and guiding new development.

github/arch-linux-triage

Triage and resolve Arch Linux issues with pacman, systemd, and rolling-release best practices.

github/arize-ai-provider-integration

Creates, reads, updates, and deletes Arize AI integrations that store LLM provider credentials used by evaluators and other Arize features. Supports any LLM provider (e.g. OpenAI, Anthropic, Azure OpenAI, AWS Bedrock, Vertex AI, Gemini, NVIDIA NIM). Use when the user mentions AI integration, LLM provider credentials, create integration, list integrations, update credentials, delete integration, or connecting an LLM provider to Arize.

github/arize-annotation

Creates and manages annotation configs (categorical, continuous, freeform label schemas) and annotation queues (human review workflows) on Arize. Applies human annotations to project spans via the Python SDK. Use when the user mentions annotation config, annotation queue, label schema, human feedback, bulk annotate spans, update_annotations, labeling queue, annotate record, or human review.

github/arize-dataset

Creates, manages, and queries Arize datasets and examples. Covers dataset CRUD, appending examples, exporting data, and file-based dataset creation using the ax CLI. Use when the user needs test data, evaluation examples, or mentions create dataset, list datasets, export dataset, append examples, dataset version, golden dataset, or test set.

github/arize-evaluator

Handles LLM-as-judge evaluation workflows on Arize including creating/updating evaluators, running evaluations on spans or experiments, managing tasks, trigger-run operations, column mapping, and continuous monitoring. Use when the user mentions create evaluator, LLM judge, hallucination, faithfulness, correctness, relevance, run eval, score spans, score experiment, trigger-run, column mapping, continuous monitoring, or improve evaluator prompt.

github/arize-experiment

Creates, runs, and analyzes Arize experiments for evaluating and comparing model performance. Covers experiment CRUD, exporting runs, comparing results, and evaluation workflows using the ax CLI. Use when the user mentions create experiment, run experiment, compare models, model performance, evaluate AI, experiment results, benchmark, A/B test models, or measure accuracy.

github/arize-instrumentation

Adds Arize AX tracing to an LLM application for the first time. Follows a two-phase agent-assisted flow to analyze the codebase then implement instrumentation after user confirmation. Use when the user wants to instrument their app, add tracing from scratch, set up LLM observability, integrate OpenTelemetry or openinference, or get started with Arize tracing.

github/arize-link

Generates deep links to the Arize UI for traces, spans, sessions, datasets, labeling queues, evaluators, and annotation configs. Produces clickable URLs for sharing Arize resources with team members. Use when the user wants to link to or open a trace, span, session, dataset, evaluator, or annotation config in the Arize UI.

github/arize-prompt-optimization

Optimizes, improves, and debugs LLM prompts using production trace data, evaluations, and annotations. Extracts prompts from spans, gathers performance signal, and runs a data-driven optimization loop using the ax CLI. Use when the user mentions optimize prompt, improve prompt, make AI respond better, improve output quality, prompt engineering, prompt tuning, or system prompt improvement.

github/arize-trace

Downloads, exports, and inspects existing Arize traces and spans to understand what an LLM app is doing or debug runtime issues. Covers exporting traces by ID, spans by ID, sessions by ID, and root-cause investigation using the ax CLI. Use when the user wants to look at existing trace data, see what their LLM app is doing, export traces, download spans, investigate errors, or analyze behavior regressions.

github/aspire

Aspire skill covering the Aspire CLI, AppHost orchestration, service discovery, integrations, MCP server, VS Code extension, Dev Containers, GitHub Codespaces, templates, dashboard, and deployment. Use when the user asks to create, run, debug, configure, deploy, or troubleshoot an Aspire distributed application.

Skills associés