Skip to main content
ClaudeWave
Skill860 repo starsupdated today

environment-discovery

The environment-discovery skill provides a structured four-step methodology for systematically examining unfamiliar workspaces before beginning development work. It guides users through inspecting file structures and contents, examining data formats, verifying available tools and libraries, and reviewing existing code, with emphasis on avoiding assumptions about file types, tool availability, and data sizes that could lead to errors.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/vstorm-co/pydantic-deepagents /tmp/environment-discovery && cp -r /tmp/environment-discovery/pydantic_deep/bundled_skills/environment-discovery ~/.claude/skills/environment-discovery
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Environment Discovery

When dropped into an unfamiliar environment, ALWAYS explore before acting.

## Step 1: Understand the workspace

```
ls -la /app/          # or the working directory
find . -type f | head -50
```

- What files exist? What are their sizes?
- Are there READMEs, Makefiles, config files?
- What languages/frameworks are involved?

## Step 2: Inspect data files

Before writing any code that reads data, understand the format:

- `file <filename>` — detect file type (binary, text, encoding)
- `head -20 <file>` — first lines of text files
- `xxd <file> | head -20` — hex dump for binary files
- `wc -l <file>` — line count for text files
- `stat <file>` — exact file size in bytes
- `python3 -c "import struct; ..."` — parse binary headers

## Step 3: Check available tools

```
which python3 gcc g++ make cmake node npm cargo rustc java go
pip list 2>/dev/null | head -20
```

- What compilers/interpreters are installed?
- What libraries are available?
- What package managers can you use?

## Step 4: Read existing code

If there are existing source files:
- Read them FULLY before modifying
- Understand the build system (Makefile, CMakeLists.txt, pyproject.toml)
- Check for existing tests

## Key Principles

- NEVER assume file formats — always inspect first
- NEVER assume tools are installed — always check
- A 500MB file is NOT a "small file" — plan for it
- Binary files need byte-level inspection, not `cat`
- Spend 30 seconds exploring to save 5 minutes debugging