environment-setup
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.
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.
| name | Environment Setup |
|---|---|
| description | 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. |
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
- Use
scripts/check-environment.shto verify all required tools are installed - Check versions of languages, package managers, and build tools
- Validate PATH configuration and tool accessibility
- Verify environment variables are properly configured
- Generate comprehensive environment report
Tool Installation Verification
- Use
scripts/check-tools.shto verify specific tools (node, python, go, rust, etc.) - Check if tools are in PATH and accessible
- Verify tool versions meet minimum requirements
- Provide installation instructions for missing tools
- Detect version managers (nvm, pyenv, rbenv, rustup)
Version Validation
- Use
scripts/validate-versions.shto check language and tool versions - Compare against project requirements (package.json, .tool-versions, etc.)
- Identify version mismatches and compatibility issues
- Suggest version upgrades or downgrades
- Check for deprecated versions
PATH Configuration
- Use
scripts/validate-path.shto verify PATH is correctly configured - Check for tool binaries in expected locations
- Detect PATH issues (missing entries, duplicate entries, ordering problems)
- Suggest PATH fixes for shell configuration files
- Validate system paths vs user paths
Environment Variable Management
- Use
scripts/check-env-vars.shto validate required environment variables - Check for missing, empty, or misconfigured variables
- Validate API keys and credentials (without exposing values)
- Suggest environment variable configuration
- 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