codebase-core-analyse/SKILL.md
深度分析代码库的核心业务流程、前后端API接口交互、数据格式规范以及C++类的功能实现细节。适用于梳理业务逻辑、理解接口契约、生成接口文档时使用。
npx skillsauth add spursgo/real-self-skills codebase-core-analyseInstall 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.
对代码库进行深度分析,重点关注核心业务流程、前后端接口交互和实现细节。 严禁输出大而全的代码库分析文档! 比如项目架构,技术框架,编译配置,目录结构,项目特点,开发指南这些统统都不需要。只需要关注核心业务相关的内容!
分析目标:当前工作区中的代码库
当发现API端点或接口定义时,必须详细记录:
/api/v1/users/login)记录每个字段的完整信息:比如
字段名 | 类型 | 必填 | 说明 | 示例值 | 验证规则
-----------|---------|------|----------------|-----------|------------------
username | string | 是 | 用户登录名 | "admin" | 4-20个字符,仅字母数字
password | string | 是 | 用户密码 | "pass123" | 6-32个字符,MD5加密
rememberMe | boolean | 否 | 是否保持会话 | true | 默认值:false
记录完整的响应结构,包括嵌套对象:比如
{
"code": 200, // 响应状态码
"message": "成功", // 提示信息
"data": {
"userId": 12345, // 用户唯一标识符(int64类型)
"token": "eyJ...", // JWT认证令牌(string类型,256字符)
"expireAt": 1234567890, // 令牌过期时间戳(unix时间戳)
"profile": {
"name": "张三", // 用户显示名称(string,最大50字符)
"email": "[email protected]" // 用户邮箱(string,有效邮箱格式)
}
}
}
提供完整的可运行示例:
关键点:
对每个核心C++类,提供以下信息:
MyApp::Services::UserManager)class UserManager {
private:
int m_userId; // 当前登录用户ID(0表示未登录)
std::string m_sessionToken; // JWT会话令牌,用于API认证
DatabasePool* m_dbPool; // 数据库连接池指针(非拥有关系)
std::map<int, User> m_cache; // 用户对象缓存,key=userId,登出时清空
};
对每个重要方法,记录:
函数签名:
bool UserManager::authenticateUser(
const std::string& username, // 用户登录名,4-20个字符
const std::string& password, // 明文密码,内部会进行哈希处理
bool rememberMe = false // 可选:是否创建长期会话
)
功能说明:从业务角度说明此函数的作用
参数说明:每个参数的类型、约束条件和用途
返回值说明:
true/false 分别表示什么,或线程安全性:此方法是否线程安全?是否使用了锁?
性能注意事项:是否有缓存?数据库查询?IO操作?
客户端通过 WebViewWrap::IWebViewEx 接口的 RegisterFunction 成员函数注册C++客户端接口以便前端调用。
如果有,那么需要详细说明注册的接口的详细信息,包括接口参数,返回值,调用场景,主要功能。
如果没有,那么就说明无 JS Basic 接口交互。
注意:必须详细列出所有注册的JS Basic 接口!不能漏掉,因为这是前端/客户端交互的至关重要的一部分!
追踪从前端到后端到数据库的完整数据流:比如
sequenceDiagram
participant 用户
participant 前端
participant API网关
participant 用户服务
participant 数据库
用户->>前端: 点击登录按钮
前端->>API网关: POST /api/v1/auth/login<br/>{username, password}
API网关->>用户服务: authenticate(username, password)
用户服务->>数据库: SELECT * FROM users WHERE username=?
数据库-->>用户服务: 用户记录 {id, passwordHash, ...}
用户服务->>用户服务: 验证密码哈希
用户服务->>数据库: INSERT INTO sessions (userId, token, expireAt)
数据库-->>用户服务: 会话创建成功
用户服务-->>API网关: {token, userId, profile}
API网关-->>前端: 200 OK {code:200, data:{token...}}
前端-->>用户: 跳转到控制台
识别并解释:
识别每一个打点上报的内容,并记录:
注意:打点上报是用于数据回收统计的重要关键点!必须做到完整记录每一个打点信息!
将分析结构化为:
对发现的每个API端点:
对每个核心类:
对每一个JS Basic 接口:
重点在于理解和记录业务逻辑,而不是批评代码风格。
development
在实现任何功能或修复bug时使用,必须在编写实现代码之前使用
tools
当用户明确使用该skill时触发
development
对 C++ Windows 客户端项目进行深度代码审查。涵盖安全性、资源管理、字符串编码、 内部公共库使用合规性、可测试性设计、并发安全、Google C++ 规范、Windows 平台特有问题 及性能等维度。适用于 PR 审查、模块上线前检查、技术债务梳理等场景。
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.