Skillshub config_file_recognition
How to find, read, and audit configuration files — includes concrete investigation steps like grepping for env vars, checking for hardcoded secrets, and mapping external service dependencies.
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/esurovtsev/langchain-lab/config_file_recognition" ~/.claude/skills/comeonoliver-skillshub-config-file-recognition-d1eca0 && rm -rf "$T"
manifest:
skills/esurovtsev/langchain-lab/config_file_recognition/SKILL.mdsource content
Config File Recognition
When to Use This Skill
When you need to understand how a project is configured, what external services it depends on, what environment variables it requires, or whether there are configuration issues (hardcoded secrets, missing defaults, inconsistent settings).
Step-by-Step Investigation
Step 1: Find All Config Files
Use
glob_search to locate config files across the project:
— environment filesglob_search(pattern="**/.env*")
— JSON configglob_search(pattern="**/*.json", path="config/")
— container configglob_search(pattern="**/Dockerfile*")
orglob_search(pattern="**/*.yaml")
— YAML config**/*.yml
— Python dependenciesglob_search(pattern="**/requirements*.txt")
— Node.js dependenciesglob_search(pattern="**/package.json")
Step 2: Read Safe Config Files First
Read in this priority order:
— safe to read, shows what variables the app expects.env.example
directory files — JSON/YAML config for services, servers, etc.config/
/requirements.txt
— dependencies reveal what services are usedpackage.json
/Dockerfile
— runtime environment, ports, servicesdocker-compose.yml
Never read
files — they may contain real secrets..env
Step 3: Grep for Configuration Patterns in Code
Use
grep_search to understand how config is consumed:
— find env var usage in Pythongrep_search(query="os.getenv|os.environ|dotenv")
— find env var usage in JavaScript/Nodegrep_search(query="process.env")
— find hardcoded local URLsgrep_search(query="localhost|127.0.0.1")
— find port configurationgrep_search(query="port|PORT")
— check for sensitive values in codegrep_search(query="SECRET|KEY|TOKEN|PASSWORD")
Step 4: Map External Dependencies
From the config files and grep results, build a picture of:
- Required environment variables — list each with its purpose (from
and.env.example
calls)getenv - External services — databases, APIs, caches (from connection strings and config)
- Ports — what ports the app listens on and connects to
- API keys / credentials needed — which services require authentication
Step 5: Check for Issues
Look for common configuration problems:
- Hardcoded secrets — API keys, passwords, or tokens directly in source code (not in env vars)
- Missing
— if code uses env vars but no example file documents them.env.example - Inconsistent ports — frontend configured to call one port, backend listening on another
- Hardcoded URLs —
or IP addresses that won't work in productionlocalhost - Unpinned dependencies —
without version pinsrequirements.txt
Report Format
Structure your findings as:
- Config Files Found — list with brief purpose of each
- Environment Variables — table of variable name, purpose, where it's used
- External Services — what the app connects to and how
- Ports & URLs — network configuration summary
- Issues Found — any problems discovered (hardcoded secrets, missing config, etc.)
Things to Avoid
- Never read
files — they contain real secrets.env - Never display actual secret values even if found in code — just note their location
- Don't assume config values are current — they might be defaults overridden at runtime
- Don't confuse
(dependencies) withrequirements.txt
(runtime settings)config.yaml