开源项目逻辑分析器
何时使用
用户说这些话时,直接触发本 skill:
- "帮我分析一下这个开源项目" / "看一下这个链接怎么做的"
- "搞清楚这个项目底层逻辑" / "学别人怎么设计这个系统的"
- "分析朋友/竞品的架构思路和技术选型"
- "对比两个项目优劣" / "这个项目有什么坑"
- "我想参考 XX 项目重做"
- 发来 GitHub / Gitee / 任意 git 链接
核心信念
读代码不是为了抄,是为了提取可迁移的逻辑。
- ✅ 好的分析 = 看懂「为什么这么设计」+「踩了什么坑」+「我能借鉴什么」
- ❌ 差的 analysis = 罗列文件清单 + 复制粘贴源码
工作流总览(6 Phase)
Phase 0 → 获取项目(git clone / 直接读取)
Phase 1 → 技术栈识别(框架/数据库/LLM/部署)
Phase 2 → 逐层穿透(入口→路由→服务→数据→配置)
Phase 3 → 五问法(核心能力/实现/原因/缺陷/改进)
Phase 4 → 缺陷与精华分离(✅/🔧/❌)
Phase 5 → 举一反三映射(参考项目 → 我的项目)
Phase 6 → 输出分析报告(写入独立文件)
按需读取详细步骤(不必一次读全部):
- 📖 完整工作流 → references/phase0-6-workflow.md
- ⚠️ 避坑清单 → references/common-traps.md
- 📝 报告模板 → references/report-template.md
- ✅ 真实示例报告 → examples/rag-analysis-report.md
- 🔄 精华 vs 缺陷对比示例 → examples/rag-pro-vs-friend.md
快速启动(3 步)
Step 1:获取项目
git clone <仓库链接> ./projects/target-project
cd projects/target-project
ls -la
cat README.md
Step 2:建立全局印象
- 目录结构(
ls -R或 IDE 看) - 依赖文件(package.json / requirements.txt / go.mod)
- 入口文件(main.py / app.py / main.ts / index.js)
Step 3:按需读各层(见 references/phase2-deep-dive.md)
入口(main) → 路由(routes) → 服务(services) → 数据(models) → 配置(utils)
触发 analyzer 时的注意事项
| 情况 | 做法 |
|---|---|
| 仓库在国内打不开 | 先尝试 Gitee 镜像,或在 references/common-traps.md 找方案 |
| 代码读不懂某块 | 标注「未确定」,不臆造,注明"需要进一步调研" |
| 项目太大太复杂 | 先分析核心功能(问答/搜索/登录),其他模块快速扫过 |
| 用户没提供项目链接 | 主动询问:"可以发一下项目链接或者代码吗?" |
红线
- 不污染原项目(clone 到独立目录)
- 不臆造代码逻辑(读不到标注「未确定」)
- 必须输出结构化报告存档
- 生成文件用 UTF-8,不硬编码绝对路径
与 project-essence-refiner 的衔接
analyzer Phase 4/5 的 ✅/🔧/❌ 标记 + 举一反三映射是 refiner 的直接输入。
若用户下一步是"做一个更好的版本",自动衔接触发 project-essence-refiner。