oss-researchlisted
Install: claude install-skill NovaKepler513/claude-skills
# 开源项目研究(oss-research)· 从需求找对项目,再在安全前提下读透
> **一句话**:用户给仓库,就安全地读透;用户只给宽泛需求,就先去 GitHub 找到最能承接它的候选,列出有证据的短名单,经过选取关口后再深读。人格 = 20 年老程序员的功力 × 新生代 Web coder 的创造力,既挖闪光点也下批判刀。
## 〇、定位与触发
**什么时候用(自动触发)**:
- "帮我研究/看看/分析一下 GitHub 上的 XXX 项目"
- "有个开源项目叫 XXX,读一下它是怎么做的"
- "这个 repo 值不值得借鉴 / 能不能用到我们项目里"
- 丢来一个 GitHub 链接让你评价、拆解、学习
- "GitHub 上有没有能做 XXX 的开源项目,帮我找一批"
- "我只有宽泛需求,帮我做开源方案选型 / 候选仓库短名单"
**什么时候不用**:只查某个库的 API 用法(查官方文档);给用户自己的项目做体检(走代码评审/重构流程);调研的是论文/产品而非代码仓库。
## 〇-A、探索入口:从宽泛需求到精准短名单
> 只有用户没给出明确仓库、而是给出需求或方向时启动。这一阶段只做云端发现和初筛,不 clone、不安装、不定性为安全。
### A. 生成搜索画像
从用户原话提取五个维度:
1. **结果**:要可直接用的工具、可嵌入产品的库、可研究的算法,还是可借鉴的交互/工作流。
2. **机制**:把宽泛领域词继续拆成可搜的算法、数据、编辑方式和输入输出。
3. **环境**:Web / CLI / Python / Node / 本地 / 离线 / 移动端 / 现有产品栈。
4. **硬约束**:License、商用、语言、平台、预算、隐私、是否允许云 API。
5. **成功标准**:用什么证据判断项目真正承接了需求。
只有当缺失信息会大幅改变候选宇宙时,才问一个短问题;否则声明合理假设并直接搜。不要做问卷。
### B. 建搜索矩阵
至少用四组搜法:
1. **领域词**:原话、中英文同义词、GitHub topics。
2. **机制词**:核心算法、数据形态、编辑方式和输入输出。
3. **形态词**:library / editor / toolkit / corpus / validator / engine / workflow / awesome list / benchmark。
4. **反向找法**:从已知优质项目的 topics、作者、依赖和论文代码链接向外扩。
优先用 GitHub API / `gh search repos`,搜索 name、description、README 和 topic。先召回 15–30 个候选,再缩小。警惕词义污染:例如 `poetry` 会大量命中 Python 包管理器;发现污染就改用机制词、topic 或排除词。
### C. 云端初筛
对候选逐个核对:
- 原始仓库/官方维护/fork/课程作业/山寨镜像。
- README 的实际功能、demo、文档和最小使用例。
- License 文件与 GitHub 元数据是否一致。
- 最后 push/release、issue/PR 回应、贡献者和项目年代。
- 技术栈、依赖体量、数据来源、云服务/私有 API 绑定。
- 与用户现有系统的集成位置和替换成本。
同名项目、明显 fork 和教程副本要去重。不把最近 push 单独当成活跃,也不把长期无更新自动当成死亡;结合