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.sh to 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.sh to 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.sh to 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.sh to 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.sh to 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
1---2name: environment-setup3description: 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.4---5
6# Environment Setup
7
8**CRITICAL: The description field above controls when Claude auto-loads this skill.**
9
10## Overview
11
12Provides comprehensive environment verification, tool installation checking, version validation, PATH configuration, and environment variable management for development workflows.
13
14## Instructions
15
16### Environment Verification
17
181. Use `scripts/check-environment.sh` to verify all required tools are installed
192. Check versions of languages, package managers, and build tools
203. Validate PATH configuration and tool accessibility
214. Verify environment variables are properly configured
225. Generate comprehensive environment report
23
24### Tool Installation Verification
25
261. Use `scripts/check-tools.sh` to verify specific tools (node, python, go, rust, etc.)
272. Check if tools are in PATH and accessible
283. Verify tool versions meet minimum requirements
294. Provide installation instructions for missing tools
305. Detect version managers (nvm, pyenv, rbenv, rustup)
31
32### Version Validation
33
341. Use `scripts/validate-versions.sh` to check language and tool versions
352. Compare against project requirements (package.json, .tool-versions, etc.)
363. Identify version mismatches and compatibility issues
374. Suggest version upgrades or downgrades
385. Check for deprecated versions
39
40### PATH Configuration
41
421. Use `scripts/validate-path.sh` to verify PATH is correctly configured
432. Check for tool binaries in expected locations
443. Detect PATH issues (missing entries, duplicate entries, ordering problems)
454. Suggest PATH fixes for shell configuration files
465. Validate system paths vs user paths
47
48### Environment Variable Management
49
501. Use `scripts/check-env-vars.sh` to validate required environment variables
512. Check for missing, empty, or misconfigured variables
523. Validate API keys and credentials (without exposing values)
534. Suggest environment variable configuration
545. Detect conflicts between .env files and system environment
55
56## Available Scripts
57
58- **check-environment.sh**: Comprehensive environment verification across all tools
59- **check-tools.sh**: Verify specific tools are installed and accessible
60- **validate-versions.sh**: Check tool versions against requirements
61- **validate-path.sh**: Verify PATH configuration and detect issues
62- **check-env-vars.sh**: Validate environment variables and configuration
63
64## Templates
65
66- **environment-report.template**: Comprehensive environment status report
67- **tool-requirements.md**: Project tool requirements documentation
68- **path-config.sh.template**: Shell configuration for PATH setup
69- **env-template.template**: Environment variable template file
70- **version-requirements.json**: Tool version requirements specification
71- **installation-guide.md.template**: Tool installation instructions
72
73## Examples
74
75See `examples/` directory for:
76- **basic-usage.md**: Simple environment checks
77- **advanced-usage.md**: Complex multi-tool verification
78- **common-patterns.md**: Typical environment setup patterns
79- **error-handling.md**: Handling missing tools and version issues
80- **integration.md**: Using with other skills and workflows
81
82## Requirements
83
84- Support major languages: Node.js, Python, Go, Rust, Ruby, Java, PHP, .NET
85- Support package managers: npm, yarn, pnpm, pip, poetry, cargo, gem, maven, composer
86- Support build tools: make, cmake, gradle, webpack, vite, rollup
87- Support version managers: nvm, pyenv, rbenv, rustup, jenv, phpbrew
88- Detect operating system differences (Linux, macOS, Windows/WSL)
89- Provide actionable error messages with installation instructions
90- Generate reports in multiple formats (text, JSON, markdown)
91
92## Best Practices
93
94- **Never assume tools are installed** - Always verify before proceeding
95- **Check versions before operations** - Prevent version-related failures
96- **Provide clear error messages** - Include installation instructions
97- **Support multiple OSes** - Handle Linux, macOS, Windows/WSL differences
98- **Detect version managers** - Use nvm, pyenv, etc. when available
99- **Cache verification results** - Avoid redundant checks within same session
100- **Report all issues** - Don't fail on first error, collect all problems
101
102## Output Format
103
104All scripts output structured results:
105```json
106{
107 "status": "success|warning|error",
108 "tools": {
109 "node": {"installed": true, "version": "20.11.0", "required": ">=18.0.0", "status": "ok"},
110 "python": {"installed": true, "version": "3.11.5", "required": ">=3.9.0", "status": "ok"},
111 "go": {"installed": false, "status": "missing"}
112 },
113 "path": {"valid": true, "issues": []},
114 "env_vars": {"valid": true, "missing": []},
115 "recommendations": []
116}
117```
118
119---
120
121**Purpose**: Comprehensive environment verification and configuration management
122**Used by**: All agents requiring tool verification, project setup, and environment validation