mcpField
E
extract-glossary

extract-glossary

github.com/mizchi开发41659 次安装1 周前更新
代码仓库

关于 extract-glossary

用于分析代码库并生成入门资料的 skill,面向新加入的开发者和 AI Agent。它将术语、仓库实现图、技术架构和小型 Mermaid 图分开整理,并要求说明以代码与文档为依据。

主要功能

  1. 01整理术语及其分类
  2. 02绘制仓库实现图
  3. 03记录技术栈与架构
  4. 04生成小型 Mermaid 图
  5. 05为结论附上来源与可信度

适用场景

  1. 01为新成员准备代码库入门资料
  2. 02让 AI Agent 重用项目背景信息
  3. 03梳理多个仓库间的职责与依赖
  4. 04基于代码和文档记录系统架构

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mizchi/skills --skill extract-glossary

安装后在 Claude Code 中输入/extract-glossary确认已加载。

附带文件README.md

详细介绍

extract-glossary

用于从指定代码库中创建面向人工入职引导的资料,以及防止 AI 反复确认的知识库的技能。 产出内容分为“术语词典”“代码库实现地图”“技术架构”和“小型 Mermaid 图”。

目的

  • 帮助新加入的成员快速了解行业术语、组织内部术语和实现专有名称。
  • 让 AI Agent 无需每次都询问相同的术语或架构,而是能够参考现有资料开展工作。
  • 让代码库说明基于 README/docs/schema/IaC/code 中的依据,而不是推测。

输入内容

以下内容均可作为输入。

  • 本地 checkout 路径:../repo, ~/ghq/github.com/org/repo
  • GitHub URL:https://github.com/org/repo
  • 多个代码库的列表
  • GitHub organization 名称和筛选条件
  • 输出位置:现有 repo 的 docs、.claude/skills/<domain>-glossary/、任意 Markdown 文件集合

如果输入不明确,先确认候选 repo 和输出位置。但如果可以通过本地环境或 GitHub 合理确定,就开始探索。

成果的标准结构

作为技能创建时,基本采用以下结构。

<domain>-glossary/
├── SKILL.md
├── references/
│   ├── glossary.md
│   ├── repository-map.md
│   └── architecture.md
└── assets/
    └── architecture-diagrams.md

作为常规 docs 创建时,也保持相同的拆分方式。

文件作用
glossary.md术语词典。区分行业术语、领域术语、组织内部缩写和实现专有名称。
repository-map.md汇总各 repo 的职责、主要目录、应查看的入口和外部依赖。
architecture.md汇总技术栈、数据流、基础设施、部署和运维注意事项。
architecture-diagrams.mdMermaid 图。不要绘制一张庞大的图,而应按用途拆分为小图。
SKILL.md只说明 AI 应在何时阅读哪些 reference。不要塞入过多细节。

调查步骤

1. 确定范围
  1. 确认目标 repo/org 以及目标 branch/commit。
  2. 如果有本地 checkout,确认 git remote -v 和 git rev-parse HEAD。
  3. 查看 GitHub 上的 repo 时,确认 default branch 和 URL。
  4. 成果中应附上 GitHub URL,而不是特定机器上的本地路径。

可以使用本地路径进行调查,但在最终成果中应转换为以下形式。

/Users/me/ghq/github.com/org/repo/docs/foo.md
-> https://github.com/org/repo/blob/<branch-or-sha>/docs/foo.md
2. 建立语料库

优先阅读以下内容:

  • README.md, CLAUDE.md, AGENTS.md, docs/, adr/, design/, architecture/
  • openapi.yaml、GraphQL schema、Protocol Buffers、SQL schema、migration、DB docs
  • Terraform、Packer、CDK、SAM、Helm、Kubernetes、GitHub Actions、deploy docs
  • package manifests:package.json, go.mod, Cargo.toml, composer.json, pyproject.toml 等
  • 入口点和路由:main.*、routes.*、controller/resolver/handler 文件

避免以下内容:

  • node_modules、vendor、生成代码、构建产物、压缩文件、lockfile 细节
  • 将大量日志或 fixture 作为主要信息来源
  • 仅凭名称就下结论

探索时,先使用 rg --files 和 rg。

3. 提取候选术语

术语必须分类。

分类示例判断标准
行业术语RTB, SSP, VAST, OAuth, ETL公司外部也通用的标准术语或行业术语。
领域术语Publisher, Campaign, Order, Placement业务领域中的概念。即使是公司外部的术语,在产品内部也有特定含义。
组织内部术语缩写、旧称、团队专有名称出现在 README/docs/code 中,但不是外部标准。
实现专有名称service 名称、directory 名称、table 前缀代码库中的组成部分。
基础设施术语ECS, Snowflake, Meilisearch, Packer需要了解的技术基础设施术语。

每个术语应包含以下内容:

  • 术语
  • 含义
  • 分类
  • 主要实现或参考 repo
  • 依据 URL
  • 注意事项或容易混淆的术语
  • 可信度:confirmed / inferred / needs-check

inferred 表示根据名称或位置推断得出。不要将其写成确定的陈述。

4. 创建代码库实现地图

针对每个 repo 汇总以下内容:

  • 实现的功能
  • 主要 component / directory
  • 技术栈
  • 作为入口的 README/docs/source files
  • 与其他 repo 的通信和数据依赖
  • DB/schema/API/protocol 边界
  • 调查时应优先查看的文件

多个 repo 之间的关系,先创建粗略的 repo 层级对应表,再仅对重要的 repo 拆分到 component 层级。

5. 汇总技术架构和基础设施架构

至少应分别说明以下方面:

  • runtime 请求流
  • config / master data 流
  • batch / ETL / report 流
  • auth / identity / user data 流
  • DB / search / cache / object storage
  • cloud 资源和 IaC 归属
  • deploy / rollback / observability
  • 本地开发的前置条件

云架构应分别说明“使用了哪些服务”和“由哪个 repo 管理”。

绘制 Mermaid 图

不要绘制一张庞大的图。每张图只聚焦一个主题。

推荐的小图:

图目的
repository overview只展示各 repo 之间的大致职责和依赖。
config/data path展示管理界面或 DB 中的配置如何流向 runtime。
request sequence展示实际请求的 runtime 通信。优先使用 sequenceDiagram。
integration entries按入口展示外部 partner、webhook、protocol endpoint 等。
infra ownership展示 Terraform/CDK/SAM 等管理的内容。
data pipeline展示 log/report/warehouse/search/indexing 的流向。

图的限制:

  • 每张图约 10 个节点、15 条边。
  • Mermaid 的 subgraph 不要嵌套过深。出现重叠或过长的交叉线时,应拆分图。
  • edge label 应简短。说明性内容放在正文中。
  • 只有在用户明确要求时,才绘制 protocol/schema 细节图。
  • 不要在同一张图中混合生成物、schema 和 runtime 通信。
  • 如果渲染结果难以阅读,应增加图的数量并进行拆分。

出典・URL ルール

  • 成果物にはローカル絶対パスや ../repo を載せない。
  • 参照元は GitHub URL、公式 docs URL、またはユーザーが指定した永続 URL にする。
  • local checkout で調査した場合も、remote URL と branch/commit から GitHub URL に変換する。
  • private repo で URL が読めない可能性がある場合でも、読者が権限を持てば辿れる URL を載せる。
  • 不確かな場合は needs-check とし、根拠の弱さを明示する。

品質チェック

提出前に以下を確認する。

# ローカルパス漏れ
rg -n -F '../' <output-dir>
rg -n '/Users/|/home/' <output-dir>

# Markdown の基本チェック
git diff --check

# Mermaid block 数と fence 対応
rg -n '(^```mermaid|^```$|^flowchart|^sequenceDiagram)' <diagram-file>

# mmdc があればレンダリング確認
command -v mmdc && mmdc -i <diagram-file> -o /tmp/diagrams.svg

mmdc がない場合は、その旨を最終報告に書く。

回答時の注意

  • 「現時点の repo 上では」と「推定」を分ける。
  • 業界用語と組織内用語を混ぜない。
  • 成果物の用途が onboarding なら、読む順番と調査入口を必ず入れる。
  • AI 用 skill にする場合、SKILL.md は薄く保ち、詳細は references/ に逃がす。
  • ユーザーが commit/push/PR を求めた場合だけ git publish flow に進む。

评论

支持 Markdown