environment-setup

vanman2024's avatarfrom vanman2024

Environment verification, tool checking, version validation, and path configuration. Use when checking system requirements, verifying tool installations, validating versions, checking PATH configuration, or when user mentions environment setup, system check, tool verification, version check, missing tools, or installation requirements.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 25, 2025

When & Why to Use This Skill

The Environment Setup skill is a comprehensive utility designed to automate system verification, tool installation checking, and configuration validation. It streamlines development workflows by ensuring that all necessary languages, package managers, and build tools are correctly installed and configured. By managing PATH variables and environment settings, it effectively eliminates environment-related friction and 'it works on my machine' issues for developers and AI agents.

Use Cases

  • Automated Project Onboarding: Quickly verify if a local or remote environment meets all technical requirements (e.g., Node.js, Python, Go) before starting a new development task.
  • Version Compatibility Validation: Compare installed tool versions against project-specific requirements (like package.json or .tool-versions) to prevent build failures and runtime bugs.
  • System Troubleshooting: Detect and resolve issues with system PATH configurations or missing environment variables that lead to 'command not found' errors.
  • Pre-flight Environment Audits: Generate detailed environment status reports to ensure CI/CD runners or developer machines are properly configured with necessary API keys and dependencies.
nameEnvironment Setup
descriptionEnvironment verification, tool checking, version validation, and path configuration. Use when checking system requirements, verifying tool installations, validating versions, checking PATH configuration, or when user mentions environment setup, system check, tool verification, version check, missing tools, or installation requirements.

Environment Setup

CRITICAL: The description field above controls when Claude auto-loads this skill.

Overview

Provides comprehensive environment verification, tool installation checking, version validation, PATH configuration, and environment variable management for development workflows.

Instructions

Environment Verification

  1. Use scripts/check-environment.sh to verify all required tools are installed
  2. Check versions of languages, package managers, and build tools
  3. Validate PATH configuration and tool accessibility
  4. Verify environment variables are properly configured
  5. Generate comprehensive environment report

Tool Installation Verification

  1. Use scripts/check-tools.sh to verify specific tools (node, python, go, rust, etc.)
  2. Check if tools are in PATH and accessible
  3. Verify tool versions meet minimum requirements
  4. Provide installation instructions for missing tools
  5. Detect version managers (nvm, pyenv, rbenv, rustup)

Version Validation

  1. Use scripts/validate-versions.sh to check language and tool versions
  2. Compare against project requirements (package.json, .tool-versions, etc.)
  3. Identify version mismatches and compatibility issues
  4. Suggest version upgrades or downgrades
  5. Check for deprecated versions

PATH Configuration

  1. Use scripts/validate-path.sh to verify PATH is correctly configured
  2. Check for tool binaries in expected locations
  3. Detect PATH issues (missing entries, duplicate entries, ordering problems)
  4. Suggest PATH fixes for shell configuration files
  5. Validate system paths vs user paths

Environment Variable Management

  1. Use scripts/check-env-vars.sh to validate required environment variables
  2. Check for missing, empty, or misconfigured variables
  3. Validate API keys and credentials (without exposing values)
  4. Suggest environment variable configuration
  5. Detect conflicts between .env files and system environment

Available Scripts

  • check-environment.sh: Comprehensive environment verification across all tools
  • check-tools.sh: Verify specific tools are installed and accessible
  • validate-versions.sh: Check tool versions against requirements
  • validate-path.sh: Verify PATH configuration and detect issues
  • check-env-vars.sh: Validate environment variables and configuration

Templates

  • environment-report.template: Comprehensive environment status report
  • tool-requirements.md: Project tool requirements documentation
  • path-config.sh.template: Shell configuration for PATH setup
  • env-template.template: Environment variable template file
  • version-requirements.json: Tool version requirements specification
  • installation-guide.md.template: Tool installation instructions

Examples

See examples/ directory for:

  • basic-usage.md: Simple environment checks
  • advanced-usage.md: Complex multi-tool verification
  • common-patterns.md: Typical environment setup patterns
  • error-handling.md: Handling missing tools and version issues
  • integration.md: Using with other skills and workflows

Requirements

  • Support major languages: Node.js, Python, Go, Rust, Ruby, Java, PHP, .NET
  • Support package managers: npm, yarn, pnpm, pip, poetry, cargo, gem, maven, composer
  • Support build tools: make, cmake, gradle, webpack, vite, rollup
  • Support version managers: nvm, pyenv, rbenv, rustup, jenv, phpbrew
  • Detect operating system differences (Linux, macOS, Windows/WSL)
  • Provide actionable error messages with installation instructions
  • Generate reports in multiple formats (text, JSON, markdown)

Best Practices

  • Never assume tools are installed - Always verify before proceeding
  • Check versions before operations - Prevent version-related failures
  • Provide clear error messages - Include installation instructions
  • Support multiple OSes - Handle Linux, macOS, Windows/WSL differences
  • Detect version managers - Use nvm, pyenv, etc. when available
  • Cache verification results - Avoid redundant checks within same session
  • Report all issues - Don't fail on first error, collect all problems

Output Format

All scripts output structured results:

{
  "status": "success|warning|error",
  "tools": {
    "node": {"installed": true, "version": "20.11.0", "required": ">=18.0.0", "status": "ok"},
    "python": {"installed": true, "version": "3.11.5", "required": ">=3.9.0", "status": "ok"},
    "go": {"installed": false, "status": "missing"}
  },
  "path": {"valid": true, "issues": []},
  "env_vars": {"valid": true, "missing": []},
  "recommendations": []
}

Purpose: Comprehensive environment verification and configuration management Used by: All agents requiring tool verification, project setup, and environment validation