/environment-discovery
Systematic exploration of unknown environments before starting work
$ npx -y skills add vstorm-co/pydantic-deepagents --skill environment-discovery --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/environment-discovery
Context preview
The summary Claude sees to decide when to auto-load this skill.
Systematic exploration of unknown environments before starting work
SKILL.md
environment-discovery.SKILL.mdname: environment-discovery
description: "Systematic exploration of unknown environments before starting work"
tags: [exploration, setup, benchmark]
version: "1.0.0"
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
Read more
name: environment-discovery description: "Systematic exploration of unknown environments before starting work" tags: [exploration, setup, benchmark] version: "1.0.0"
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
Open-source, self-hosted Claude Code - a terminal AI assistant and the Python framework behind it. Tool-calling, sandboxed execution, multi-agent teams, skills, checkpoints, unlimited context - on Pydantic AI, any model.
Repo: vstorm-co/pydantic-deepagents
Other skills on pydantic-deepagents.
- /build-and-compile
Building, compiling, and resolving dependency issues across languages
Open skill - /code-review
Systematic code review for bugs, security, style, and performance
Open skill - /data-formats
Working with diverse data formats: binary, text, structured, and custom
Open skill - /git-workflow
Git operations: commits, branches, PRs, and conflict resolution
Open skill - /performant-code
Writing efficient code that handles large data and tight constraints
Open skill - /refactor
Refactor code to improve structure and maintainability
Open skill

