| name | environment-observer |
| description | Perform heuristic environment discovery beyond basic directory listing. Check installed packages, analyze folder structure, inspect running processes, and assess system state. Use proactively when starting new tasks or when environment context is unclear. |
| allowed-tools | Execute, Read, Grep, Glob |
Environment Observer
Apex2's heuristic environment observation phase implemented as a Claude Code skill. Goes far beyond simple ls to provide meaningful system context.
Instructions
When invoked, perform comprehensive environment discovery to understand the current state:
1. Package and Dependency Discovery
Identify what's available in the current environment:
pip list | head -20
python -m pip list 2>/dev/null | head -20
npm list --depth=0 2>/dev/null
yarn list --depth=0 2>/dev/null
dpkg -l | grep -E "(python|node|npm|git)" 2>/dev/null
rpm -qa | grep -E "(python|node|npm|git)" 2>/dev/null || brew list | grep -E "(python|node|npm|git)" 2>/dev/null
2. Folder and File Structure Analysis
Understand the project organization:
find . -regex ".*\.\(json\|yaml\|yml\|conf\|ini\|toml\|cfg\)" -type f | head -10
find . -name "*.py" -o -name "*.js" -o -name "*.ts" -o -name "*.java" -o -name "*.cpp" -o -name "*.go" -o -name "*.rb" -o -name "*.php" 2>/dev/null | head -20
find . -name "README*" -o -name "CHANGELOG*" -o -name "LICENSE*" -o -name "Makefile" -o -name "*.md" 2>/dev/null | head -10
find . -name "*test*" -o -name "*spec*" -type f | head -10
3. Running Processes and Services
Check what's currently active:
ps aux | grep python | grep -v grep
ps aux | grep node | grep -v grep
ps aux | grep npm | grep -v grep
lsof -i :3000 -i :8000 -i :5000 -i :8080 2>/dev/null
ps aux | grep -E "(postgres|mysql|mongo|redis)" | grep -v grep
systemctl list-units --type=service --state=running 2>/dev/null | head -10
4. System State and Resources
Assess available resources and constraints:
df -h
free -h
nproc 2>/dev/null
cat /proc/cpuinfo | grep processor | wc -l 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null
ping -c 1 google.com 2>/dev/null | head -2
ls -la
5. Development Environment Context
Check for development tools and configurations:
git status 2>/dev/null
git branch --show-current 2>/dev/null
docker ps -a 2>/dev/null | head -5
podman ps -a 2>/dev/null | head -5
printenv | grep -E "(PYTHON|NODE|JAVA|VIRTUAL)" | head -10
echo $SHELL
echo $TERM
6. Key File Content Discovery
Read selected critical files to understand project setup:
package.json, requirements.txt, Cargo.toml (dependency info)
.env.example, config/settings.py (configuration structure)
README.md, CONTRIBUTING.md (project documentation)
.gitignore (what's excluded from version control)
Analysis Process
- Use Execute to run discovery commands safely
- Use Read to examine critical files discovered
- Use Grep to search for specific patterns in configuration files
- Use Glob to find related files by pattern
- Synthesize findings into comprehensive environment report
Output Format
Provide structured environment analysis:
Environment Context:
Development Stack:
Primary Languages: [detected languages]
Package Managers: [npm/pip/cargo/etc]
Frameworks: [react/django/flask/etc]
Testing Tools: [jest/pytest/cucumber/etc]
System Resources:
CPU: [cores/info]
Memory: [available/total]
Disk: [free space on key partitions]
Network: [connectivity status]
Active Services:
Running: [list important services]
Ports in use: [important port numbers]
Processes: [development processes running]
Project Structure:
Configuration files: [key config files found]
Test organization: [test structure]
Documentation: [available docs]
Build tools: [make/webpack/etc]
Development Environment:
Shell: [shell type]
Containers: [docker/podman status]
Version Control: [git status and branch]
Environment Setup: [virtual env, nvm, etc.]
Key Findings:
- [important observation 1]
- [important observation 2]
- [potential issue 1]
- [recommendation 1]
Next Steps:
- [action 1]
- [action 2]
Discovery Categories
Python Projects
Look for: requirements.txt, pyproject.toml, setup.py, .venv/ or venv/
Check: Virtual environment activation, package versions, test framework
Node.js Projects
Look for: package.json, node_modules/, .nvmrc
Check: Node version, npm vs yarn, development vs production deps
Containerized Projects
Look for: Dockerfile, docker-compose.yml, .dockerignore
Check: Container status, image availability, port mappings
Multi-language Projects
Identify polyglot setups and integration points between different language components
When to Use
This observer is valuable when:
- Starting work in a new project
- Encountering unexpected behavior
- Debugging environment-related issues
- Planning deployment or testing
- Needing to understand project capabilities
- Setting up new开发 environment
The goal is to go beyond surface-level file listing to provide meaningful insights about what's actually available, running, and configured in the environment.