agentsclimarketplace

Onboarding unknown codebase

Skill Lion-1209/Lion-Skills/skills/onboarding-unknown-codebase

需快速上手陌生代码库、理解项目结构时。From its SKILL.md

Install
npx -y skills add Lion-1209/Lion-Skills --skill onboarding-unknown-codebase

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.3 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it

Onboarding Unknown Codebase

概述

用一套分层流程把陌生代码库变成一张"项目地图",而不是一头扎进某个文件读细节。核心:先建立全局心智模型,再按需深入。

何时使用

  • clone 了新项目,不知从哪读起
  • 接手别人的代码(同事离职、新入职)
  • 要给别人讲清楚一个项目
  • 想搞清某个项目的整体架构/数据流

不该用:只想找某个具体函数/bug(直接搜);项目你已经熟了。

核心内容

先确认对象(前置)

三遍法假设你已经拿到目标代码库。但用户常只说"帮我梳理这个项目""讲讲这个代码库"却没给路径——这是高频形态。开跑前先确认对象:

  • 有明确本地路径或 git 地址 → 直接进入三遍法
  • 没给 → 先向用户要:本地路径、git 地址、或至少 README.md + 包管理清单(package.json/go.mod 等)+ 顶层目录树(tree -L 2)。拿到这三样就能完成第一遍宏观 + 第二遍结构骨架
  • 不要默认当前工作目录就是目标,更不要凭空臆造一个项目来梳理——那会跑题

三遍法

第一遍·宏观(5-10 分钟,别读代码) 读"元信息"文件,搞清"这是什么、技术栈、怎么跑"(按项目实际有的读,没有的就跳过):

  • README.md —— 项目用途、怎么跑起来
  • 包管理清单:package.json / go.mod / Cargo.toml / requirements.txt —— 技术栈、依赖
  • Dockerfile / docker-compose.yml —— 怎么部署(库/CLI 项目通常没有)
  • CI 配置:.github/workflows/ —— 怎么构建测试
  • 配置:.env.exampleconfig/ —— 运行时配置

第二遍·结构(10-15 分钟) 看目录布局和分层,建立"地图骨架":

  • 顶层目录各自负责什么?(src/ 源码、tests/ 测试、docs/ 文档)
  • 分层模式:前后端分离?MVC?分层架构?
  • 入口在哪?(mainindexappserver;库/CLI 项目最快的方式是看 package.jsonbinexports 字段)
  • 模块之间怎么依赖(谁调用谁)

第三遍·主线(15-30 分钟) 从入口顺一条核心调用链读到底,不求全:

  • 入口启动后,处理一个典型请求/操作,经过哪些模块?
  • 只读主干,遇到分支先标记跳过
  • 这条链路走通,就理解了项目的"骨架动力"

不同项目类型的主线形态不同——别用同一把尺子:

类型入口找法主线追踪什么
服务型(web/api)server.listen / app.run / 路由表一次请求的链路:HTTP 进来 → 中间件 → controller/handler → service → 数据层 → 响应
库 / SDKpackage.jsonexportsgo.mod 主包、__init__.py 暴露的符号一次典型函数调用:公开 API 入口 → 内部参数校验 → 核心算法/数据变换 → 返回值组装
CLIbin 字段、main 函数、命令注册表一次典型命令的执行:参数解析 → 子命令分发 → 业务逻辑 → 输出/副作用

库项目的常见坑是"没有明显的请求入口"——这时从**公开 API(exports/导出符号)**切入,挑一个最常用的函数,顺它的调用栈读到底,等价于服务型项目的"一次请求"。

产出:项目地图

给用户一份结构化地图(不是流水账):

## 这是什么        <一两句:项目用途>
## 技术栈          <语言、框架、关键依赖>
## 目录结构        <顶层目录职责 + 入口位置>
## 核心流程        <从入口出发的主调用链,逐步>
## 关键文件        <最重要的 3-5 个文件及职责>
## 怎么跑起来      <安装、配置、启动命令>

边界

  • 先地图后细节:别一上来读某个函数实现
  • 不求全:80/20,先懂主干
  • 产出要结构化:口头散讲不如一份地图

常见错误

问题修法
一上来深挖某文件先宏观再结构,最后才深入
不看配置就猜架构第一遍先读 README 和包清单
只口头讲不产出给用户一份结构化地图
试图读完所有文件只读主干,标记跳过分支

What ships with it: 1 file

1.0 KB alongside SKILL.md

evals/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.