Project Analysis Skill
This skill analyzes project source code and configuration files to systematically gather information needed to generate or update README.md.
When to Use This Skill
- Gathering information before creating README.md for a new project
- Understanding changes needed when updating an existing README.md
- Understanding project tech stack and architecture
Prerequisites
- Access to the target project's source code
Step-by-Step Workflows
Workflow 1: Full Project Analysis
Understand directory structure
- Use
#codebaseto inspect full file/directory layout - Check key files in the root directory
- Use
Analyze package manager and config files
- Search/read the following files:
package.json/package-lock.json/yarn.lock/pnpm-lock.yamlpyproject.toml/setup.py/requirements.txt/Pipfilego.mod/Cargo.toml/pom.xml/build.gradleGemfile/composer.json/.csproj
- Extract project name, version, description, and dependencies
- Search/read the following files:
Identify tech stack
- Languages (extension-based + config-based)
- Frameworks (React, Next.js, Express, Django, FastAPI, etc.)
- Test frameworks (Jest, Pytest, Vitest, Playwright, etc.)
- Build tools (Webpack, Vite, esbuild, tsc, etc.)
- Linters/formatters (ESLint, Prettier, Ruff, Black, etc.)
Identify entry points
- Parse
mainfield /scriptssection - Search common patterns like
src/index.*,src/main.*,app.* - Identify CLI commands / API endpoints / UI entry points
- Parse
Check CI/CD and deployment setup
.github/workflows/- GitHub Actions.gitlab-ci.yml- GitLab CIDockerfile/docker-compose.yml- Dockervercel.json/netlify.toml- deployment configs
Check existing documentation
README.md- existing READMECONTRIBUTING.md- contribution guideCHANGELOG.md- change historyLICENSE- licensedocs/directory - additional docs
Check environment variables and settings
.env.example/.env.sample- Collect environment variable list and descriptions
Workflow 2: Diff-Based Analysis (for updates)
- Check git diffs with
#changes - Determine whether changes affect README:
- Added/removed dependencies
- Script command changes
- Directory structure changes
- New features / APIs
- Configuration changes
- Identify impacted README sections
Output Format
Output analysis results as structured data:
## Project Analysis Results
### Basic Information
- **Project Name**: [name]
- **Version**: [version]
- **Description**: [description]
- **License**: [license]
- **Repository**: [repository URL]
### Tech Stack
| Category | Technologies |
|----------|--------------|
| Languages | [languages] |
| Frameworks | [frameworks] |
| Testing | [testing tools] |
| Build | [build tools] |
| CI/CD | [CI/CD tools] |
### Directory Structure
[tree structure]
### Scripts / Commands
| Command | Description |
|---------|-------------|
| `npm run dev` | Start dev server |
| ... | ... |
### Environment Variables
| Variable | Description | Required |
|----------|-------------|:--------:|
| `API_KEY` | API key | ✅ |
| ... | ... | ... |
### Impacted README Sections (updates only)
- [ ] Installation
- [ ] Usage
- [ ] API reference
- [ ] Environment variables
Troubleshooting
| Problem | Solution |
|---|---|
| Unknown package manager | Infer from lock files (yarn.lock -> Yarn, etc.) |
| Monorepo layout | Check workspaces / packages/ and analyze each package |
| Missing config files | Infer dependencies from import/require usage in source code |
| Mixed languages | Determine primary language by file count and LoC |
Converted and distributed by TomeVault — claim your Tome and manage your conversions.