| name | code-analysis |
| description | Techniques for quickly understanding unfamiliar codebases. Use this when exploring a new codebase, finding definitions, or understanding project architecture. |
Code Analysis Skill
This skill provides techniques for quickly understanding unfamiliar code.
Quick Analysis
Project Structure
ls -la
find src -name "*.ts" -o -name "*.py" -o -name "*.js" | head -20
find src -name "*.ts" | xargs wc -l | tail -1
Entry Points
grep -rn "main\|entry\|index" --include="*.json" .
cat package.json | grep -A5 '"main"'
cat package.json | grep -A5 '"scripts"'
Dependencies
cat package.json | grep -A50 '"dependencies"'
cat requirements.txt
cat go.mod
Code Navigation
Find Definitions
grep -rn "function functionName\|def functionName\|func functionName"
grep -rn "class ClassName"
grep -rn "interface TypeName\|type TypeName"
Find Usages
grep -rn "functionName" src/
grep -rn "import.*functionName\|from.*import.*functionName"
Trace Execution
grep -rn "main\|start\|run" src/
grep -rn "app.get\|app.post\|@app.route" src/
grep -rn "addEventListener\|on\(" src/
Architecture Patterns
Identify Patterns
- MVC: Look for models/, views/, controllers/
- Clean Architecture: Look for domain/, use-cases/, adapters/
- Feature-based: Look for features/ or modules/
Common Folder Structures
src/ or lib/ - Main source code
tests/ or __tests__/ - Test files
config/ - Configuration files
docs/ - Documentation
scripts/ - Build/utility scripts