Skills › Software Development › Code quality & review
analyzing-projects
Analyzes codebases to understand structure, tech stack, patterns, and conventions. Use when onboarding to a new project, exploring unfamiliar code, or when asked "how does this work?" or "what's the architecture?"
The full skill
—
name: analyzing-projects
description: Analyzes codebases to understand structure, tech stack, patterns, and conventions. Use when onboarding to a new project, exploring unfamiliar code, or when asked "how does this work?" or "what's the architecture?"
—
# Analyzing Projects
## Project Analysis Workflow
Copy this checklist and track progress:
“`
Project Analysis Progress:
– [ ] Step 1: Quick overview (README, root files)
– [ ] Step 2: Detect tech stack
– [ ] Step 3: Map project structure
– [ ] Step 4: Identify key patterns
– [ ] Step 5: Find development workflow
– [ ] Step 6: Generate summary report
“`
## Step 1: Quick Overview
“`bash
# Check for common project markers
ls -la
cat README.md 2>/dev/null | head -50
“`
## Step 2: Tech Stack Detection
### Package Managers & Dependencies
– `package.json` â Node.js/JavaScript/TypeScript
– `requirements.txt` / `pyproject.toml` / `setup.py` â Python
– `go.mod` â Go
– `Cargo.toml` â Rust
– `pom.xml` / `build.gradle` â Java
– `Gemfile` â Ruby
### Frameworks (from dependencies)
– React, Vue, Angular, Next.js, Nuxt
– Express, FastAPI, Django, Flask, Rails
– Spring Boot, Gin, Echo
### Infrastructure
– `Dockerfile`, `docker-compose.yml` â Containerized
– `kubernetes/`, `k8s/` â Kubernetes
– `terraform/`, `.tf` files â IaC
– `serverless.yml` â Serverless Framework
– `.github/workflows/` â GitHub Actions
## Step 3: Project Structure Analysis
Present as a tree with annotations:
“`
project/
âââ src/ # Source code
â âââ components/ # UI components (React/Vue)
â âââ services/ # Business logic
â âââ models/ # Data models
â âââ utils/ # Shared utilities
âââ tests/ # Test files
âââ docs/ # Documentation
âââ config/ # Configuration
“`
## Step 4: Key Patterns Identification
Look for and report:
– **Architecture**: Monolith, Microservices, Serverless, Monorepo
– **API Style**: REST, GraphQL, gRPC, tRPC
– **State Management**: Redux, Zustand, MobX, Context
– **Database**: SQL, NoSQL, ORM used
– **Authentication**: JWT, OAuth, Sessions
– **Testing**: Jest, Pytest, Go test, etc.
## Step 5: Development Workflow
Check for:
– `.eslintrc`, `.prettierrc` â Linting/Formatting
– `.husky/` â Git hooks
– `Makefile` â Build commands
– `scripts/` in package.json â NPM scripts
## Step 6: Output Format
Generate a summary using this template:
“`markdown
# Project: [Name]
## Overview
[1-2 sentence description]
## Tech Stack
| Category | Technology |
|———-|————|
| Language | TypeScript |
| Framework | Next.js 14 |
| Database | PostgreSQL |
| … | … |
## Architecture
[Description with simple ASCII diagram if helpful]
## Key Directories
– `src/` – [purpose]
– `lib/` – [purpose]
## Entry Points
– Main: `src/index.ts`
– API: `src/api/`
– Tests: `npm test`
## Conventions
– [Naming conventions]
– [File organization patterns]
– [Code style preferences]
## Quick Commands
| Action | Command |
|——–|———|
| Install | `npm install` |
| Dev | `npm run dev` |
| Test | `npm test` |
| Build | `npm run build` |
“`
## Analysis Validation
After completing analysis, verify:
“`
Analysis Validation:
– [ ] All major directories explained
– [ ] Tech stack accurately identified
– [ ] Entry points documented
– [ ] Development commands verified working
– [ ] No assumptions made without evidence
“`
If any items cannot be verified, note them as "needs clarification" in the report.