Project Discovery
Guide for systematically analyzing codebases to identify technology stack, development tools, dependencies, and recommend relevant integrations like MCPs.
When to Use This Skill
Activate when:
- Analyzing a new codebase to understand its structure
- Identifying technology stack and frameworks
- Discovering development tools and configuration
- Recommending MCPs or integrations based on project needs
- Understanding project dependencies and their purposes
- Planning project onboarding or documentation
Discovery Process
Phase 1: Project Structure Analysis
- Examine root directory files (README, package.json, Cargo.toml, mix.exs, etc.)
- Identify primary language(s) and frameworks
- Map directory structure and conventions
- Detect configuration files and their purposes
Phase 2: Dependency Analysis
- Parse package/dependency files
- Categorize dependencies (runtime, dev, testing, build)
- Identify version constraints and compatibility requirements
- Flag potential security or maintenance concerns
Phase 3: Tool Detection
- Scan for configuration files of common tools
- Examine scripts in package.json, Makefile, etc.
- Identify CI/CD configurations
- Detect database schemas and migration files
Phase 4: MCP Recommendations
Based on discoveries, recommend MCPs such as:
- Database MCPs: postgres, mysql, sqlite, mongodb
- Cloud MCPs: aws, gcp, azure for deployment
- Development MCPs: docker, kubernetes for containerization
- API MCPs: github, gitlab for repository management
Tool Identification Categories
Package Managers
- npm, yarn, pnpm (JavaScript/TypeScript)
- pip, poetry, pipenv (Python)
- cargo (Rust)
- mix/hex (Elixir)
- go mod (Go)
- bundler (Ruby)
Build Systems
- webpack, vite, esbuild (JavaScript)
- gradle, maven (Java)
- make, cmake (C/C++)
- mix (Elixir)
Testing Frameworks
- jest, mocha, vitest (JavaScript)
- pytest, unittest (Python)
- cargo test (Rust)
- ExUnit (Elixir)
Linting and Formatting
- eslint, prettier (JavaScript)
- black, ruff, flake8 (Python)
- clippy, rustfmt (Rust)
- credo, mix format (Elixir)
Elixir-Specific Discovery
AGENTS.md Processing
When discovering Elixir projects:
- Search for
AGENTS.md in project root (community standard)
- Check for
usage-rules.md as alternative
- Scan
deps/*/ for library-specific AGENTS.md files
- Extract AI-specific guidance and conventions
Framework Detection
- Phoenix: config/, lib/, priv/ structure with Phoenix dependencies
- LiveView: Phoenix.LiveView dependencies and live view modules
- OTP: Application modules and supervision trees
- Ecto: Database schemas, migrations, repository patterns
Analysis Report Structure
# Project Discovery Report
## Project Overview
- **Name**: [Project Name]
- **Primary Language(s)**: [Languages]
- **Framework(s)**: [Frameworks]
- **Project Type**: [web app, CLI tool, library, etc.]
## Technology Stack
### Frontend
- [Framework/Library and version]
- [Build tools]
### Backend
- [Runtime/Framework]
- [Database(s)]
### Development Tools
- **Package Manager**: [npm, yarn, pip, etc.]
- **Build System**: [webpack, vite, etc.]
- **Testing**: [jest, pytest, etc.]
- **Linting**: [eslint, prettier, etc.]
## Recommended MCPs
Based on analysis, consider:
1. **[MCP Name]**: For [specific use case]
2. **[MCP Name]**: For [specific use case]
## Setup Instructions
[Quick start commands]
Key Principles
- Systematic Exploration: Start with root files, then explore directories
- Prioritize Important Discoveries: Lead with most significant findings
- Actionable Recommendations: Provide specific MCP recommendations with installation commands
- Flag Issues: Identify potential problems or missing configurations
- Context-Aware: Tailor recommendations to project type and stack
1---2name: project-discovery3description: Activate when analyzing codebases to understand project structure, technology stack, dependencies, and development workflows4license: MIT5---6
7# Project Discovery
8
9Guide for systematically analyzing codebases to identify technology stack, development tools, dependencies, and recommend relevant integrations like MCPs.
10
11## When to Use This Skill
12
13Activate when:
14- Analyzing a new codebase to understand its structure
15- Identifying technology stack and frameworks
16- Discovering development tools and configuration
17- Recommending MCPs or integrations based on project needs
18- Understanding project dependencies and their purposes
19- Planning project onboarding or documentation
20
21## Discovery Process
22
23### Phase 1: Project Structure Analysis
241. Examine root directory files (README, package.json, Cargo.toml, mix.exs, etc.)
252. Identify primary language(s) and frameworks
263. Map directory structure and conventions
274. Detect configuration files and their purposes
28
29### Phase 2: Dependency Analysis
301. Parse package/dependency files
312. Categorize dependencies (runtime, dev, testing, build)
323. Identify version constraints and compatibility requirements
334. Flag potential security or maintenance concerns
34
35### Phase 3: Tool Detection
361. Scan for configuration files of common tools
372. Examine scripts in package.json, Makefile, etc.
383. Identify CI/CD configurations
394. Detect database schemas and migration files
40
41### Phase 4: MCP Recommendations
42Based on discoveries, recommend MCPs such as:
43- **Database MCPs**: postgres, mysql, sqlite, mongodb
44- **Cloud MCPs**: aws, gcp, azure for deployment
45- **Development MCPs**: docker, kubernetes for containerization
46- **API MCPs**: github, gitlab for repository management
47
48## Tool Identification Categories
49
50### Package Managers
51- npm, yarn, pnpm (JavaScript/TypeScript)
52- pip, poetry, pipenv (Python)
53- cargo (Rust)
54- mix/hex (Elixir)
55- go mod (Go)
56- bundler (Ruby)
57
58### Build Systems
59- webpack, vite, esbuild (JavaScript)
60- gradle, maven (Java)
61- make, cmake (C/C++)
62- mix (Elixir)
63
64### Testing Frameworks
65- jest, mocha, vitest (JavaScript)
66- pytest, unittest (Python)
67- cargo test (Rust)
68- ExUnit (Elixir)
69
70### Linting and Formatting
71- eslint, prettier (JavaScript)
72- black, ruff, flake8 (Python)
73- clippy, rustfmt (Rust)
74- credo, mix format (Elixir)
75
76## Elixir-Specific Discovery
77
78### AGENTS.md Processing
79When discovering Elixir projects:
801. Search for `AGENTS.md` in project root (community standard)
812. Check for `usage-rules.md` as alternative
823. Scan `deps/*/` for library-specific AGENTS.md files
834. Extract AI-specific guidance and conventions
84
85### Framework Detection
86- **Phoenix**: config/, lib/, priv/ structure with Phoenix dependencies
87- **LiveView**: Phoenix.LiveView dependencies and live view modules
88- **OTP**: Application modules and supervision trees
89- **Ecto**: Database schemas, migrations, repository patterns
90
91## Analysis Report Structure
92
93```markdown
94# Project Discovery Report
95
96## Project Overview
97- **Name**: [Project Name]
98- **Primary Language(s)**: [Languages]
99- **Framework(s)**: [Frameworks]
100- **Project Type**: [web app, CLI tool, library, etc.]
101
102## Technology Stack
103### Frontend
104- [Framework/Library and version]
105- [Build tools]
106
107### Backend
108- [Runtime/Framework]
109- [Database(s)]
110
111### Development Tools
112- **Package Manager**: [npm, yarn, pip, etc.]
113- **Build System**: [webpack, vite, etc.]
114- **Testing**: [jest, pytest, etc.]
115- **Linting**: [eslint, prettier, etc.]
116
117## Recommended MCPs
118Based on analysis, consider:
1191. **[MCP Name]**: For [specific use case]
1202. **[MCP Name]**: For [specific use case]
121
122## Setup Instructions
123[Quick start commands]
124```
125
126## Key Principles
127
128- **Systematic Exploration**: Start with root files, then explore directories
129- **Prioritize Important Discoveries**: Lead with most significant findings
130- **Actionable Recommendations**: Provide specific MCP recommendations with installation commands
131- **Flag Issues**: Identify potential problems or missing configurations
132- **Context-Aware**: Tailor recommendations to project type and stack