repo-parser
仓库解析技能,用于自动解析并读取 GitHub 和各类私有 Git 仓库源码,包含智能凭证管理和分块深度阅读策略。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
仓库解析技能,用于自动解析并读取 GitHub 和各类私有 Git 仓库源码,包含智能凭证管理和分块深度阅读策略。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | repo-parser |
| description | 仓库解析技能,用于自动解析并读取 GitHub 和各类私有 Git 仓库源码,包含智能凭证管理和分块深度阅读策略。 |
本技能用于解析并读取 GitHub(公开/私有)和各类私有 Git(GitLab, Gitea, 局域网仓库等)仓库源码。系统应根据 URL 类型自动选择解析脚本,并统一按两步走策略进行深度阅读,避免产生代码幻觉或由于上下文超载导致崩溃。
当需要访问任何私有仓库或GitHub 私有仓库时,AI 必须按照以下三级递进策略自动获取凭证,而非直接询问用户:
IntegrationPlugin.GetDefaultIntegrationAsync(2) 获取 CodeRepository 类型的默认集成凭证。success: true,直接使用返回的 credential 字段作为 Git Token。success: false(未配置集成),则继续第二级。repo-parser/scripts/.credential_cache.json 文件。gitlab.example.com、gitea.mycompany.cn)进行精确匹配。.credential_cache.json){
"credentials": [
{
"domain": "gitlab.example.com",
"token": "glpat-xxxxxxxxxxxx",
"note": "用户于2026-03-04提供",
"updated_at": "2026-03-04T12:00:00+08:00"
}
]
}
gitlab.example.com 的 Git 凭证。您可以提供一个该平台的 Personal Access Token (PAT) 吗?我会安全地缓存在本地,后续使用同一仓库时就不需要再提供了。".credential_cache.json 进行缓存持久化(追加或更新对应域名记录)。auth_required(无凭证可用): 直接进入第三级,向用户索要。auth_invalid(凭证已过期或无权限): 告知用户当前凭证已失效,要求提供新的 Token,并更新缓存。
示例:"当前使用的 Git 凭证似乎已经过期或没有访问该仓库的权限。能否提供一个新的有效令牌?"⚠️ 关键提示:所有脚本必须通过
--workdir参数指定本机可写输出目录。 脚本文件(A 目录)和执行工作目录(B 目录)是分离的,仓库代码必须克隆到 B 目录,而非脚本所在的 A 目录。
当用户提供 github.com 链接时:
repo-parser/scripts/parse_github.py <url> --workdir <本机可写工作目录>
GITHUB_TOKEN 注入:
GITHUB_TOKEN=<token> repo-parser/scripts/parse_github.py <url> --workdir <本机可写工作目录>
auth_required,则判定为私有仓库,启动凭证策略。当用户提供非 GitHub 的仓库链接时:
GIT_TOKEN 注入:
GIT_TOKEN=<token> repo-parser/scripts/parse_local_git.py <url> --workdir <本机可写工作目录>
--workdir 目录下创建 temp_repo/ 子目录进行 git clone/pull,并主动过滤不相关的编译产物与多媒体文件。无论是 GitHub 还是私有 Git,Python 脚本执行成功后必将严格输出以下格式的 JSON:
{
"status": "success",
"tree_file": "workdir/REPO_TREE_OUTPUT.md",
"output_files": ["workdir/REPO_CONTENT_PART_1.md", "..."],
"message": "解析成功提示语"
}
错误时返回:
{
"status": "error",
"reason": "auth_required | auth_invalid | too_large | git_error | env_missing | invalid_url",
"message": "人类可读的错误描述"
}
⚠️ AI 必须严格遵守以下执行流进行回答(严禁自作主张或忽略步骤)⚠️
tree_file 路径的文件(包含目录结构与骨架)。根据用户给出的重点或追问,内部悄悄通过工具读取对应切片的 output_files 源文件获取上下文,再给出专业、深入的技术回答。
当 JSON 返回了如由于代码过于庞大防爆内存而生成的 "status": "error", "reason": "too_large" 时,不能继续强行阅读,而是使用极具包容和友好的中文向用户解释:
"抱歉,这个仓库的代码量实在太庞大了,我一口气吃不下这么多内容。关于超大工程的 RAG 向量搜索功能我们正在开发中,您可以针对局部文件提问哦!"
<search_web> 工具瞎搜,那只是浅层 HTML。*** 脱敏。.credential_cache.json,不在对话记录中留存原始 Token。