Project Analyzer Skill
This skill enables comprehensive analysis of software projects to understand their structure, patterns, and conventions before making changes.
When to Use This Skill
- Starting work on a new task in an existing project
- Creating a task breakdown for a feature
- Understanding project conventions before coding
- Reviewing code for consistency
- Setting up a new project with best practices
Analysis Framework
1. Project Structure Analysis
Directory Layout
- Identify the project type (monorepo, single app, library, etc.)
- Map the directory structure
- Understand the organization pattern (by feature, by layer, etc.)
Key Directories to Look For
src/ # Source code
lib/ # Library code
app/ # Application code
tests/ # Test files
docs/ # Documentation
config/ # Configuration
scripts/ # Build/utility scripts
public/ # Static assets
dist/ # Build output
2. Technology Stack Detection
Package Managers & Dependencies
| File |
Technology |
package.json |
Node.js/JavaScript |
composer.json |
PHP |
requirements.txt, pyproject.toml |
Python |
Gemfile |
Ruby |
Cargo.toml |
Rust |
go.mod |
Go |
pom.xml, build.gradle |
Java |
Frameworks
- Check dependencies for framework indicators
- Look for framework-specific config files
- Identify framework version
Build Tools
- Webpack, Vite, esbuild (JavaScript)
- Make, CMake (C/C++)
- Maven, Gradle (Java)
- Cargo (Rust)
3. Code Patterns & Conventions
Coding Style
- Check for
.editorconfig
- Look for linter configs (
.eslintrc, .prettierrc, phpcs.xml)
- Analyze existing code for patterns:
- Naming conventions (camelCase, snake_case, PascalCase)
- Indentation style
- Quote style
- Semicolon usage
Architecture Patterns
- MVC (Model-View-Controller)
- Clean Architecture / Hexagonal
- Repository Pattern
- Service Layer
- Domain-Driven Design
Design Patterns in Use
- Factory
- Singleton
- Observer
- Strategy
- Decorator
- Dependency Injection
4. Testing Strategy
Test Framework Detection
| Framework |
Language |
| Jest, Mocha, Vitest |
JavaScript |
| PHPUnit, Pest |
PHP |
| pytest, unittest |
Python |
| RSpec, Minitest |
Ruby |
| JUnit |
Java |
Test Organization
- Unit tests location
- Integration tests location
- Test naming conventions
- Mocking patterns
5. Documentation Standards
README Structure
- Project description
- Installation instructions
- Usage examples
- Contributing guidelines
Code Documentation
- JSDoc, PHPDoc, docstrings
- Inline comments style
- API documentation
Analysis Output Template
When analyzing a project, report findings in this format:
## Project Analysis Report
### Overview
- **Type**: [Web App / API / Library / CLI / etc.]
- **Primary Language**: [Language + version]
- **Framework**: [Framework + version]
### Structure
[Description of directory organization]
### Dependencies
- **Runtime**: [key dependencies]
- **Development**: [key dev dependencies]
### Patterns & Conventions
#### Coding Style
- Naming: [convention]
- Formatting: [tool/standard]
- Linting: [tool/rules]
#### Architecture
- Pattern: [architecture pattern]
- Key abstractions: [list]
#### Testing
- Framework: [test framework]
- Coverage: [if measurable]
- Organization: [how tests are organized]
### Recommendations
[Recommendations for maintaining consistency]
Empty Project Guidance
When project is new/empty, recommend:
JavaScript/TypeScript
- TypeScript for type safety
- ESLint + Prettier for formatting
- Jest or Vitest for testing
- Clear src/ structure
Python
- Type hints throughout
- Black + isort for formatting
- pytest for testing
- src layout or flat layout
PHP
- PSR-4 autoloading
- PHP-CS-Fixer or PHP_CodeSniffer
- PHPUnit for testing
- Proper namespace organization
General Best Practices
- README with setup instructions
- .editorconfig for consistency
- .gitignore appropriate for stack
- CI/CD configuration
- Environment variable handling
Integration with Development
After analysis, use findings to:
- Match existing code style in new code
- Follow established patterns
- Use same testing approaches
- Maintain documentation standards
- Respect architectural boundaries
See references/patterns.md for detailed pattern examples.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: project-analyzer3description: Analyzes project structure, technology stack, patterns, and conventions. Use when starting development tasks, reviewing code, or understanding an existing codebase.4---56# Project Analyzer Skill78This skill enables comprehensive analysis of software projects to understand their structure, patterns, and conventions before making changes.910## When to Use This Skill1112- Starting work on a new task in an existing project13- Creating a task breakdown for a feature14- Understanding project conventions before coding15- Reviewing code for consistency16- Setting up a new project with best practices1718## Analysis Framework1920### 1. Project Structure Analysis2122**Directory Layout**23- Identify the project type (monorepo, single app, library, etc.)24- Map the directory structure25- Understand the organization pattern (by feature, by layer, etc.)2627**Key Directories to Look For**28```29src/ # Source code30lib/ # Library code31app/ # Application code32tests/ # Test files33docs/ # Documentation34config/ # Configuration35scripts/ # Build/utility scripts36public/ # Static assets37dist/ # Build output38```3940### 2. Technology Stack Detection4142**Package Managers & Dependencies**43| File | Technology |44|------|------------|45| `package.json` | Node.js/JavaScript |46| `composer.json` | PHP |47| `requirements.txt`, `pyproject.toml` | Python |48| `Gemfile` | Ruby |49| `Cargo.toml` | Rust |50| `go.mod` | Go |51| `pom.xml`, `build.gradle` | Java |5253**Frameworks**54- Check dependencies for framework indicators55- Look for framework-specific config files56- Identify framework version5758**Build Tools**59- Webpack, Vite, esbuild (JavaScript)60- Make, CMake (C/C++)61- Maven, Gradle (Java)62- Cargo (Rust)6364### 3. Code Patterns & Conventions6566**Coding Style**67- Check for `.editorconfig`68- Look for linter configs (`.eslintrc`, `.prettierrc`, `phpcs.xml`)69- Analyze existing code for patterns:70 - Naming conventions (camelCase, snake_case, PascalCase)71 - Indentation style72 - Quote style73 - Semicolon usage7475**Architecture Patterns**76- MVC (Model-View-Controller)77- Clean Architecture / Hexagonal78- Repository Pattern79- Service Layer80- Domain-Driven Design8182**Design Patterns in Use**83- Factory84- Singleton85- Observer86- Strategy87- Decorator88- Dependency Injection8990### 4. Testing Strategy9192**Test Framework Detection**93| Framework | Language |94|-----------|----------|95| Jest, Mocha, Vitest | JavaScript |96| PHPUnit, Pest | PHP |97| pytest, unittest | Python |98| RSpec, Minitest | Ruby |99| JUnit | Java |100101**Test Organization**102- Unit tests location103- Integration tests location104- Test naming conventions105- Mocking patterns106107### 5. Documentation Standards108109**README Structure**110- Project description111- Installation instructions112- Usage examples113- Contributing guidelines114115**Code Documentation**116- JSDoc, PHPDoc, docstrings117- Inline comments style118- API documentation119120## Analysis Output Template121122When analyzing a project, report findings in this format:123124```markdown125## Project Analysis Report126127### Overview128- **Type**: [Web App / API / Library / CLI / etc.]129- **Primary Language**: [Language + version]130- **Framework**: [Framework + version]131132### Structure133[Description of directory organization]134135### Dependencies136- **Runtime**: [key dependencies]137- **Development**: [key dev dependencies]138139### Patterns & Conventions140141#### Coding Style142- Naming: [convention]143- Formatting: [tool/standard]144- Linting: [tool/rules]145146#### Architecture147- Pattern: [architecture pattern]148- Key abstractions: [list]149150#### Testing151- Framework: [test framework]152- Coverage: [if measurable]153- Organization: [how tests are organized]154155### Recommendations156[Recommendations for maintaining consistency]157```158159## Empty Project Guidance160161When project is new/empty, recommend:162163### JavaScript/TypeScript164- TypeScript for type safety165- ESLint + Prettier for formatting166- Jest or Vitest for testing167- Clear src/ structure168169### Python170- Type hints throughout171- Black + isort for formatting172- pytest for testing173- src layout or flat layout174175### PHP176- PSR-4 autoloading177- PHP-CS-Fixer or PHP_CodeSniffer178- PHPUnit for testing179- Proper namespace organization180181### General Best Practices182- README with setup instructions183- .editorconfig for consistency184- .gitignore appropriate for stack185- CI/CD configuration186- Environment variable handling187188## Integration with Development189190After analysis, use findings to:1911. Match existing code style in new code1922. Follow established patterns1933. Use same testing approaches1944. Maintain documentation standards1955. Respect architectural boundaries196197See [references/patterns.md](references/patterns.md) for detailed pattern examples.198199---200> Converted and distributed by [TomeVault](https://tomevault.io/claim/funkyoz) — claim your Tome and manage your conversions.201<!-- tomevault:4.0:skill_md:2026-04-13 -->