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.md
source 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:

  • 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