# Existing Project Assessor

> 对已有项目进行评估，分析代码结构、技术栈、风险点，确定AI介入级别和保护机制。当用户提到"项目评估"、"评估项目"、"分析现有项目"、"接手老项目"时触发。

- Skill: `gszyboy/existing-project-assessor` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gszyboy/existing-project-assessor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gszyboy/existing-project-assessor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gszyboy (https://skillmd.com/u/gszyboy)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/gszyboy/existing-project-assessor

---


# 已有项目评估技能

## 评估流程

### 1. 结构扫描

使用 glob 和 read 工具收集项目信息：

```bash
# 扫描项目结构
glob **/*.py          # Python 项目
glob **/*.js **/*.ts  # JS/TS 项目
glob **/*.vue         # Vue 项目
glob composer.json    # PHP 项目
glob requirements.txt package.json # 依赖文件

# 读取关键文件
read 项目根目录结构
read 依赖配置文件
```

### 2. 技术栈识别

根据文件特征判断：

| 特征 | 技术栈 | 说明 |
|------|--------|------|
| main.py + FastAPI | Python FastAPI | 后端API |
| app.py + Flask | Python Flask | 轻量后端 |
| models.py + SQLAlchemy | Python + ORM | 有数据库 |
| router/ + schema/ | FastAPI 标准结构 | 规范化 |
| src/components/ | Vue 3 | 前端 |
| think | ThinkPHP | PHP框架 |
| composer.json | PHP | 看框架 |

### 3. 风险评估矩阵

```
技术债务评估：
- 无测试覆盖 → 高风险
- 单一巨大文件 → 高风险  
- 硬编码配置 → 中风险
- 缺少文档 → 中风险

代码质量评估：
- 函数过长(>100行) → 需注意
- 命名不规范 → 需注意
- 循环依赖 → 高风险
```

### 4. 核心业务识别

**改动红线（绝对不改）**：
1. 数据库结构/迁移文件
2. 认证/鉴权逻辑
3. 支付/财务相关
4. 核心业务算法

**高风险区域**：
- models/ - ORM模型
- auth/ - 认证模块
- payment/ - 支付模块

**可改区域**：
- utils/ - 工具函数
- views/ - 页面展示
- api/ - 接口适配

## 输出格式

生成项目评估报告：

```markdown
# 项目评估报告

## 基本信息
- 项目类型：[自研/二次开发/开源改造]
- 技术栈：[列出]
- 代码规模：[行数估算]
- 项目结构：[描述]

## 风险评估
| 区域 | 风险等级 | 说明 |
|------|----------|------|
| 目录/文件 | 高/中/低 | 说明 |

## 推荐介入级别
[L1-L5级别]

## 改动红线清单
1. [具体文件/目录]
2. ...

## 可改区域清单
1. [具体文件/目录]
2. ...

## 技术债务优先级
| 优先级 | 问题 | 影响 |
|--------|------|------|
| P0 | ... | ... |

## 下一步建议
[具体建议]
```

## 评估原则

1. **保守优先**：宁可多问，不可乱改
2. **用户确认**：每个高风险操作都要确认
3. **小步试探**：先用只读模式了解，再决定介入程度
4. **红线必守**：红线文件坚决不碰，除非用户明确授权

## 介入级别判断

```
L1 只读：刚接手、不确定风险
  → AI: 只回答问题，不改代码

L2 诊断：需要定位问题、分析原因
  → AI: 分析并输出报告，用户决策

L3 小改：改一个函数/一行配置
  → AI: ≤10行改动，逐次确认

L4 增量：修复bug、加小功能
  → AI: ≤50行改动，任务完成review

L5 重构：较大改动
  → AI: 分阶段授权，明确边界
```

## 50行平衡模式规则

- 每次改动 ≤ 50行
- 修改文件数 ≤ 3
- 不引入新依赖
- 不修改红线文件
- 改动前必须说明范围
- 改动后必须说明验证方法

