home / skills / grishaangelovgh / gemini-cli-agent-skills / project-analyzer

project-analyzer skill

/project-analyzer

This skill analyzes a project's codebase to generate a comprehensive PROJECT_SUMMARY.md detailing tech stack, architecture, and REST endpoints.

npx playbooks add skill grishaangelovgh/gemini-cli-agent-skills --skill project-analyzer

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
3.3 KB
---
name: project-analyzer
description: Analyzes a project's codebase to generate a comprehensive summary including tech stack, features, and REST services, outputting the result to PROJECT_SUMMARY.md. This skill has assets directory that MUST be used for every analysis.
---

# Project Analyzer and Summarizer

You are an expert project analyst and architect. Your goal is to provide a comprehensive, high-level overview of a project, its architecture, tech stack, and core functionalities.

## Objectives

1.  **Project Description**: Provide a clear and concise description of what the project is and its primary purpose.
2.  **Tech Stack**: Identify and list all major technologies, frameworks, libraries, and languages used in the project.
3.  **Core Features**: Summarize the high-level features and business logic of the application.
4.  **REST Services**: Enumerate all RESTful API endpoints, including their methods and a brief description of their purpose.
5.  **Architecture & Structure**: Describe the project's directory structure and architectural patterns (e.g., MVC, Microservices, Layered).
6.  **Data Architecture & Models**: Identify main entities, database schemas, and data flow.
7.  **External Integrations**: List third-party services and APIs the project depends on.
8.  **CI/CD & DevOps**: Summarize build, test, and deployment pipelines.
9.  **Testing Strategy**: Describe the types of tests (Unit, Integration, E2E) and tools used.
10. **Relevant Metadata**: Include information about build tools, deployment configurations, and any other relevant artifacts.
11. **Report Generation**: Compile all findings into a structured Markdown file named `PROJECT_SUMMARY.md`.

## Workflow

### 1. Initial Exploration
- Use `list_directory` and `glob` to understand the high-level folder structure.
- Identify key configuration files (e.g., `package.json`, `requirements.txt`, `build.gradle`, `go.mod`, `Cargo.toml`).

### 2. Deep Dive (using `codebase_investigator`)
- Delegate to `codebase_investigator` to map the system architecture and identify core components.
- Use the following objective for delegation:
    > "Analyze the project to understand its architecture, core features, and tech stack. Identify all REST endpoints and key services."

### 3. Feature Identification
- Search for route definitions, controller classes, or service layers to identify core features.
- Look for business logic implementation in directories like `src/services`, `src/features`, `app/`, etc.

### 4. REST API Discovery
- Search for common API patterns (e.g., Express routes, FastAPI decorators, Spring controllers).

### 5. Infrastructure & Data Analysis
- Examine database models (e.g., `models/`, `schema.prisma`, `entities/`).
- Identify external service integrations (e.g., Stripe, AWS SDK, SendGrid).
- Check for CI/CD configurations (e.g., `.github/workflows`, `Jenkinsfile`, `docker-compose.yml`).

### 6. Testing Analysis
- Look for test directories (`tests/`, `__tests__/`, `*.spec.ts`) and configuration.

### 7. Summary Generation
- Use the template provided in the `assets/report-template.md` file (relative to the skill directory) to create `PROJECT_SUMMARY.md` in the project root.
- Ensure the descriptions are technical yet accessible.

## Assets
- `report-template.md`: A standard template for the project summary.

Overview

This skill analyzes a project's codebase to produce a comprehensive, developer-focused summary and writes the output to PROJECT_SUMMARY.md. It inspects architecture, tech stack, core features, REST services, data models, integrations, CI/CD, and tests. The assets directory (including the report template) is required and used for every analysis to ensure consistent output.

How this skill works

The skill scans the repository structure to locate configuration and entry points, then delegates deep inspection to a codebase investigator to map components and routes. It extracts tech stack details from manifest files, discovers REST endpoints by locating route definitions or controller decorators, and identifies data models and external integrations. Finally, it fills the provided assets/report-template.md and writes the compiled PROJECT_SUMMARY.md at the project root.

When to use it

  • Onboarding new engineers to quickly understand an unfamiliar codebase.
  • Preparing a technical audit, architecture review, or migration planning.
  • Generating documentation for release notes or handoff to operations.
  • Prior to adding features to ensure awareness of existing APIs and data models.
  • As part of CI checks to keep an up-to-date project summary for stakeholders.

Best practices

  • Ensure the assets directory and report-template.md are present before running the analyzer.
  • Run the skill from the repository root so it can find config files and typical folders (src, app, models, tests).
  • Commit generated PROJECT_SUMMARY.md to a docs or root folder and keep it updated after major changes.
  • Provide access to environment and CI config files for accurate CI/CD and secrets-related analysis.
  • Review generated REST endpoint descriptions and refine any ambiguous auto-detections manually.

Example use cases

  • Create a project overview for a legacy service being migrated to microservices.
  • Produce a feature and API inventory ahead of refactoring large modules.
  • Document external dependencies and CI pipelines for a security review.
  • Summarize data models and flows when planning database normalization or schema changes.

FAQ

Is the assets directory required?

Yes. The assets directory (including the report template) must be present and is used to generate PROJECT_SUMMARY.md.

Which files does the analyzer look for to detect the tech stack?

It scans common manifest and config files such as package.json, requirements.txt, build configs, and module manifests to identify languages and frameworks.

Can it discover REST endpoints automatically?

Yes, it searches for common routing patterns and controller definitions (Express, FastAPI, Spring, etc.) and summarizes endpoints with methods and intents; manual review is recommended for edge cases.