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.
- License 许可
- MIT
- 最近更新
- 2026-06-24
- Stars
- ★ 66
- Forks
- 24
01 前言 Front Matter
- name
- config_file_recognition
- description
- 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.
03 SKILL.md 正文
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:
glob_search(pattern="**/.env*")— environment filesglob_search(pattern="**/*.json", path="config/")— JSON configglob_search(pattern="**/Dockerfile*")— container configglob_search(pattern="**/*.yaml")or**/*.yml— YAML configglob_search(pattern="**/requirements*.txt")— Python dependenciesglob_search(pattern="**/package.json")— Node.js dependencies
Step 2: Read Safe Config Files First
Read in this priority order:
.env.example— safe to read, shows what variables the app expectsconfig/directory files — JSON/YAML config for services, servers, etc.requirements.txt/package.json— dependencies reveal what services are usedDockerfile/docker-compose.yml— runtime environment, ports, services
Never read .env files — they may contain real secrets.
Step 3: Grep for Configuration Patterns in Code
Use grep_search to understand how config is consumed:
grep_search(query="os.getenv|os.environ|dotenv")— find env var usage in Pythongrep_search(query="process.env")— find env var usage in JavaScript/Nodegrep_search(query="localhost|127.0.0.1")— find hardcoded local URLsgrep_search(query="port|PORT")— find port configurationgrep_search(query="SECRET|KEY|TOKEN|PASSWORD")— check for sensitive values in code
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
.env.exampleandgetenvcalls) - 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
.env.example— if code uses env vars but no example file documents them - Inconsistent ports — frontend configured to call one port, backend listening on another
- Hardcoded URLs —
localhostor IP addresses that won't work in production - Unpinned dependencies —
requirements.txtwithout version pins
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
.envfiles — they contain real secrets - 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
requirements.txt(dependencies) withconfig.yaml(runtime settings)