local-link/skills/read-codebase/SKILL.md
阅读棕地项目代码库,智能分析代码结构,递归补充其调用链上所有函数的注释。
npx skillsauth add lionad-morotar/local-tools read-codebaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
用于阅读和理解棕地(Brownfield)项目代码库,提供智能代码分析和文档补充能力。
当用户输入包含函数路径或要求补充函数注释时,执行此模式。
广度优先遍历(BFS)策略:
Level 0: 入口函数(用户指定函数、或默认整个文件、组件、模块)
Level 1: 入口函数体内直接调用的所有函数
Level 2: Level 1 函数调用的所有函数
Level 3+: 继续递归直到叶子节点
扫描范围(按优先级):
| 优先级 | 类型 | 说明 | |-------|------|------| | P0 | 项目内部函数 | 必须补充,核心业务逻辑 | | P1 | 接口方法 | 组件接口、组件 props 等 | | P2 | 工具/辅助函数 | 必须补充,提高可读性 | | P3 | 标准库函数 | 简要说明,不强制 | | P4 | 第三方库函数 | 简要说明,不强制 |
扫描技巧:
Grep 查找函数定义位置LSP 的 incomingCalls/outgoingCalls 获取调用关系已有注释的检查:
// 开头的注释块无需补充的情况:
http.HandlerFunc)格式规范:
// 函数名 一句话功能描述。
//
// 输入示例:
// - 参数名: 具体值(含类型说明)
// - 参数名2: map[string]any{"key": "value"}
//
// 输出示例:
// - 成功:
// - 失败:
func FunctionName(param Type) (Result, error)
输入示例编写原则:
输出示例编写原则:
编辑顺序:
编辑技巧:
Read 确认当前文件状态Edit 精确替换函数定义行Read 验证格式正确完成任务后,按以下格式汇报:
## 函数注释补全报告
### 调用链分析
入口函数: pkg/service/handler.go:45 HandleRequest ├── Level 1 │ ├── pkg/utils/validator.go:23 ValidateInput │ └── pkg/db/query.go:67 GetUser │ └── Level 2 │ ├── pkg/db/conn.go:12 OpenConnection │ └── pkg/cache/redis.go:34 GetCache └── Level 1 └── pkg/log/logger.go:89 Infof
### 已补充注释的函数
| 文件 | 行号 | 函数名 | 层级 |
|------|------|--------|------|
| pkg/service/handler.go | 45 | HandleRequest | Level 0 |
| pkg/utils/validator.go | 23 | ValidateInput | Level 1 |
| pkg/db/query.go | 67 | GetUser | Level 1 |
| pkg/db/conn.go | 12 | OpenConnection | Level 2 |
| pkg/cache/redis.go | 34 | GetCache | Level 2 |
### 跳过补充的函数
| 文件 | 函数名 | 原因 |
|------|--------|------|
| pkg/log/logger.go | Infof | 标准库风格,已有注释 |
总计:补充 [Z 个组件,][X 个函数,][跳过 Y 个函数]
| 场景 | 工具 | 用法 |
|------|------|------|
| 查找函数定义 | Grep | pattern: "func FunctionName" |
| 查找调用关系 | LSP | operation: outgoingCalls |
| 读取函数上下文 | Read | limit: 50, offset: line-10 |
| 批量编辑 | Edit | 精确定位函数定义行 |
# 查找函数定义
func\s+\w+\s*\(.*\)\s*\{?
# 查找方法定义(带接收器)
func\s*\([^)]+\)\s*\w+\s*\(
# 查找接口定义
type\s+\w+\s+interface\s*\{
tools
理解用户意图;listen 模式通过 grill-me 深挖任务并归档经验
development
给 VSCode(Insiders/Stable) 内置 ripgrep 加 5s 超时包装,防止搜索卡死吃满 CPU。--on 包装(幂等) / --off 还原 / 不带参数查状态。Use when VSCode 搜索卡死、rg 进程占满 CPU,或 VSCode 更新后超时保护失效需要重包。
development
为指定项目创建完全隔离的 hapi(Claude Code On the Go)实例,包括独立数据目录、LaunchAgent 持久化、zsh wrapper 和 app.hapi.run 直连 URL。与全局 ~/.hapi 互不干扰。
development
关闭承载当前 Claude Code 会话的宿主(VSCode 窗口或其终端面板),连同 claude 一起退出。通过 close-host-window 扩展触发:先 SIGTERM claude(走完 SessionEnd hooks)再关 host,不抢焦点、不丢 hooks。--host vscode 关窗口、--host terminal(默认)只关终端面板。Use when 任务结束要随宿主退出,或需精确关闭某 claude 终端所在窗口/面板。