Pydantic-deepagents environment-discovery
Systematic exploration of unknown environments before starting work
install
source · Clone the upstream repo
git clone https://github.com/vstorm-co/pydantic-deepagents
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/vstorm-co/pydantic-deepagents "$T" && mkdir -p ~/.claude/skills && cp -r "$T/pydantic_deep/bundled_skills/environment-discovery" ~/.claude/skills/vstorm-co-pydantic-deepagents-environment-discovery-af3f39 && rm -rf "$T"
manifest:
pydantic_deep/bundled_skills/environment-discovery/SKILL.mdsource content
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:
— detect file type (binary, text, encoding)file <filename>
— first lines of text fileshead -20 <file>
— hex dump for binary filesxxd <file> | head -20
— line count for text fileswc -l <file>
— exact file size in bytesstat <file>
— parse binary headerspython3 -c "import struct; ..."
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