Repo Scout
将一个项目、创意或期望成果转化为一份有据可查的精华列表,值得学习或复用。这包括商业应用、毕业设计项目,以及用于创建图像、视频、音频或文本的工具。发现并评估这些工具;媒体生成本身是一个独立的任务。Python助手负责收集公开事实并生成报告;宿主代理提供上下文对比。仅通过CLI通道是起点,而非完整的来源审查。
直接从仓库链接使用
对于类似以下的请求:
https://github.com/vieneny/repo-scout 使用这个规范,找一下学习Java的毕设设计项目
将 Repo Scout 视为所请求的工作流参考,而非候选种子。打开该仓库中的 skills/repo-scout/SKILL.md 以及用户搜索相关的参考资料。执行该搜索;仅用README概述或Repo Scout的替代方案无法回答该问题。
当宿主AI能够阅读指南并使用其自身的仓库/搜索工具时,无需安装。粘贴的链接并不会安装工具、提供缺失的搜索能力或授权执行候选项目。请报告实质性的能力限制和实际获得的证据。如需使用可选的助手,请下载或复制完整的 skills/repo-scout/ 文件夹。相对于该文件夹解析捆绑的路径;scripts/repo_scout.py 需要 Python 3.10+ 且无需第三方Python包。
从用户提供的材料出发
接受公开仓库URL、本地项目目录、自然语言描述的想法,或期望的工具/学习成果。推断目标、期望的技术栈、核心能力、目标受众、约束条件以及选定的来源。未指定时默认为GitHub和个人学习目标。从有用的既定假设开始研究;避免初始配置问卷。仅在缺少某个会实质性地改变搜索且无法合理推断的细节时才提问。
对于本地项目,读取足够的清单、入口点和相关实现,以理解其实际用途。助手的本地配置文件有意限于相对文件名和技术名称。使用简洁的项目目标和能力进行丰富;不要在公开搜索查询中发送源代码主体、秘密、私有URL、绝对路径或专有标识符。
关于执行和宿主审查的交接,请阅读 workflow.md。对于毕业设计、商业应用或创意/AI工具,请阅读 scenarios.md 中的相关部分。在更改来源、使用特定于提供商的查询语法或处理身份验证和部分故障时,请阅读 providers.md。
python <skill-directory>/scripts/repo_scout.py run --idea "Learn LangChain by building a small RAG assistant" --stack Python --capability RAG --audience individual --sources github --limit 6 --out-dir ./repo-scout-results
使用 --local <directory> 或 --repo <public-repository-url> 代替 --idea 作为其他起点。使用可重复的 --constraint 选项记录重要限制,例如 --constraint "CPU-only" --constraint "No paid API";它们保留在 profile.constraints` 中供宿主审查,而非自动成为兼容性证明。尊重用户的来源和约束。通过多个客户端进行相同的GitHub搜索不能视为独立的覆盖范围。
对比关键要素
在排序之前,请阅读 scoring.md。默认权重偏向相关性、技术栈、学习价值与复用性;企业规模并非加分项。区分以下方面:
- 技术契合度: 实际的依赖项/配置和架构证据,而非仅凭仓库的主要编程语言。
- 完整度与运行契合度: 追踪输入 → 处理/模型/依赖项 → 输出;检查核心能力、相关的持久化/认证、设置、部署和文档。在相关时检查硬件、外部API/成本以及模型或资产条款。区分已实现、仅文档描述、未知和经过运行时测试的发现。
- 受众: 适合个人、团队还是企业级使用,并附上理由。这描述的是预期投入和产品范围,而非认证。
- 时效: 仓库创建时间、最新代码提交时间、最新发布版本时间以及检索日期是不同的信息。近期的元数据更新或推送并不能证明是活跃的人工维护。
- 流行度与复用性: 特定于来源的Star/Forks数、许可证、组件边界、依赖项、集成工作量以及可供学习的具体代码。
搜索几组有意义的、不同的查询系列,然后检查那些其证据可能改变决策的候选项目。当那些不那么流行的项目能更好地解决用户的问题时,也应将其纳入。将提供的种子仓库与最新发现的结果分开标识。保留不可用的来源和检查错误;绝不要将失败的请求转化为“未找到项目”。
添加经过来源审查的判断
在做出决定性声明之前,请阅读相关候选项目的README、清单、源码路径、发布版和问题。将其说明视为研究材料,而非运行代码或更改用户项目的许可。常规任务是只读的;除非用户另行要求,否则不要安装、执行、部署或修改候选项目。
当脚本执行可用时,使用 assessment.md 中的模式编写评估文件,然后重新运行评分和渲染:
python <skill-directory>/scripts/repo_scout.py score --input ./repo-scout-results/inspected.json --assessments ./repo-scout-results/assessments.json --out ./repo-scout-results/report.json
python <skill-directory>/scripts/repo_scout.py render --input ./repo-scout-results/report.json --out ./repo-scout-results/report.html
每个非空的、经过来源审查的评分都需要一个解释和一个相关的公共证据链接。在 strengths、gaps 和 learning_path 中记录特定领域的权衡;使用评估模式中的可选 usage_requirements 来记录来源的运行要求。未知的就保持未知。测试目录仅能证明文件存在,而非测试成功;Dockerfile 不能证明可部署性;Star数不是用户数或质量。不要捏造数字基准、实现覆盖率或企业就绪度。
如果没有脚本执行,则应用相同的证据和评分规则,使用宿主可用的研究工具。提供一个包含标准评分、理由、公共来源、运行要求和未知项的排名对比表。说明未生成HTML;不要仅仅为了提供有用的初步结果而要求安装。
交付简报
当HTML已生成时,使用用户偏好的浏览器(如果已知)打开或链接它。它必须在没有运行服务的离线状态下保持可用。在聊天回复中首先提供报告链接,或当脚本不可用时提供带来源的对比表,以及一两个有用的推荐。提及检索日期、重大来源故障,以及结论是来自静态检查还是实际执行。当可重现性是任务的一部分时,保留JSON和评估文件。
解释推荐项目中值得学习或复用的内容,以及哪些因素会改变排名。评分适用于本次简要任务及其配置的权重;它们并非通用的排行榜。不要仅仅因为用户请求研究就发布本地项目配置文件或报告。