.local/skills/package-management/SKILL.md
Install and manage language packages, system dependencies, and programming language runtimes.
npx skillsauth add akhil151/dtpapp package-managementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage project dependencies and programming language runtimes. Use this skill instead of running shell commands like npm install, pip install, or apt install.
Use this skill when you need to:
"Modules" is a Replit-specific term for language toolchains that can be installed into the NixOS environment. Use listAvailableModules() to see what's available.
Installation priority order:
installSystemDependencies()installLanguagePackages()If confused about package installation in Nix or language package managers, use web search.
After installing a module:
.gitignore with the language's standard ignore patterns.gitignoreAfter removing a module:
List available language toolchains that can be installed.
Parameters:
langName (str, optional): Language name to filter by (e.g., "python", "nodejs", "rust"). If not provided, returns all available modules.Returns: Dict with success, message, langName, and modules list
Each module contains: id, name, version, description
Example:
// List all available modules
const modules = await listAvailableModules();
// Returns: {modules: [{id: "python-3.11", ...}, {id: "nodejs-20", ...}, ...]}
// Find available Python versions
const pythonModules = await listAvailableModules({ langName: "python" });
// Returns: {modules: [{id: "python-3.11", name: "Python", version: "3.11", ...}, ...]}
// Find available Node.js versions
const nodeModules = await listAvailableModules({ langName: "nodejs" });
Install a programming language runtime and its package manager.
Parameters:
language (str, required): Language identifier like "python-3.11", "nodejs-20"Returns: Dict with success, message, language, and installedModuleId keys
Example:
// First, check available versions
const modules = await listAvailableModules({ langName: "python" });
console.log(modules); // See available Python versions
// Install specific version
const result = await installProgrammingLanguage({ language: "python-3.11" });
// Install Node.js 20
const result2 = await installProgrammingLanguage({ language: "nodejs-20" });
Remove an installed programming language runtime.
Parameters:
moduleId (str, required): Module ID from listAvailableModulesReturns: Dict with success, message, moduleId, and wasInstalled
Example:
// Remove Python 3.10
const result = await uninstallProgrammingLanguage({ moduleId: "python-3.10" });
Install language-specific packages like npm, pip, or cargo packages.
Parameters:
language (str, required): Programming language: "nodejs", "python", "bun", "go", "rust"packages (list[str], required): List of packages to installReturns: Dict with success, message, packages, and output keys
Example:
// Install npm packages
const result = await installLanguagePackages({
language: "nodejs",
packages: ["express", "lodash"]
});
console.log(result.message);
// Install pip packages
const result2 = await installLanguagePackages({
language: "python",
packages: ["requests", "flask"]
});
IMPORTANT — required parameter rules:
language is required — you must always include it"nodejs", "python", "bun", "go", "rust"
"nodejs" for JavaScript/TypeScript projects — NEVER use "js", "node", or "javascript""python" for Python projects — NEVER use "py" or "pip"packages must be an array of strings — NEVER a single string, NEVER an array of objects
packages: ["express"]packages: "express"packages: [{name: "express"}]Remove language-specific packages.
Parameters:
language (str, required): Programming languagepackages (list[str], required): List of packages to uninstallReturns: Dict with success, message, and packages keys
Example:
const result = await uninstallLanguagePackages({
language: "nodejs",
packages: ["lodash"]
});
Install system-level dependencies via Nix.
Parameters:
packages (list[str], required): Nixpkgs attribute paths (NOT apt package names)Returns: Dict with success, message, and packages keys
Important: Use Nix package names, not apt/debian names:
xorg.libxcb, xorg.libX11ca-certificates is cacert in Nixlibxcb is xorg.libxcb in NixExample:
// Install system dependencies
const result = await installSystemDependencies({
packages: ["jq", "ffmpeg", "imagemagick"]
});
// Install X11 libraries (note the xorg. prefix)
const result2 = await installSystemDependencies({
packages: ["xorg.libxcb", "xorg.libX11"]
});
Remove system-level dependencies.
Parameters:
packages (list[str], required): Nixpkgs attribute paths to uninstallReturns: Dict with success, message, and packages keys
Example:
const result = await uninstallSystemDependencies({ packages: ["jq"] });
python or node commands fail, install the runtime firstlistAvailableModules before installProgrammingLanguage// Check available Python versions
const modules = await listAvailableModules({ langName: "python" });
console.log(modules);
// Set up a Python Flask project
await installProgrammingLanguage({ language: "python-3.11" });
await installLanguagePackages({
language: "python",
packages: ["flask", "gunicorn", "sqlalchemy"]
});
// Set up a Node.js project with native dependencies
await installProgrammingLanguage({ language: "nodejs-20" });
await installLanguagePackages({
language: "nodejs",
packages: ["sharp", "canvas"]
});
await installSystemDependencies({
packages: ["pkg-config", "cairo", "pango", "libjpeg"]
});
// Clean up old language version
await uninstallProgrammingLanguage({ moduleId: "python-3.10" });
tools
Manage application workflows including configuration, restart, and removal.
development
Search the web and fetch content from URLs. Use for real-time information, API documentation, and current events.
testing
Run automated UI tests against your application using a Playwright-based testing subagent. Use after implementing features to verify they work correctly.
data-ai
Create reusable skills that extend agent capabilities. Use when the user asks to create a skill, teach you something reusable, or save instructions for future tasks.