mcpField
K
knowledge-base

knowledge-base

github.com/dwsy生产力156 次安装40 周前更新
代码仓库

关于 knowledge-base

knowledge-base 是一项面向软件项目的知识管理技能,通过代码扫描和结构化文档显式记录术语、概念与设计背景。它还维护外部共识资料,并可从概念文档生成术语表,帮助团队对齐上下文。

主要功能

  1. 01扫描代码并建议概念文档
  2. 02按模板记录定义、背景与反模式
  3. 03管理外部通用知识
  4. 04从概念文档生成术语表
  5. 05按项目结构组织知识文档

适用场景

  1. 01为代码中的领域术语建立说明
  2. 02记录架构决策背后的原因
  3. 03帮助新成员了解项目概念
  4. 04生成便于查阅的术语表

安装

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

$npx skills add https://github.com/dwsy/knowledge-base-skill --skill knowledge-base

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
LICENSE
lib.ts
README.md
templates/
concept-template.md
guide-template.md
decision-template.md

详细介绍

来自项目 README

Knowledge Base Skill

一个旨在消除认知偏差、显式化隐性知识的知识库管理工具。它结合代码扫描(ace-tool)、网络搜索和结构化文档管理,构建项目的"第二大脑"。

核心理念:打破“知识诅咒”

"知识诅咒"(Curse of Knowledge)是指当我们掌握某种知识后,很难想象不懂这种知识的人的状态。在软件工程中,这表现为:

  • 资深开发者假设新人“应该知道”某些上下文。
  • 代码中充斥着特定领域的缩写和隐喻。
  • 架构决策的背景被遗忘,只留下结果。

本技能通过以下方式解决此问题:

  1. 显式化(Explicitness):强制将默会知识(Tacit Knowledge)转化为显性知识(Explicit Knowledge)。
  2. 上下文对齐(Context Alignment):通过代码扫描提取领域术语,建立统一词汇表。
  3. 认知共识(Cognitive Consensus):记录“为什么这样做”而不仅仅是“怎么做”。

执行环境

路径类型路径说明
技能目录~/.pi/agent/skills/knowledge-base/脚本和模板位置
主脚本~/.pi/agent/skills/knowledge-base/lib.ts核心逻辑脚本
知识库目录./docs/knowledge/项目根目录下的文档存储位置

目录结构

docs/knowledge/
├── concepts/             # 领域概念与术语 (名词解释)
│   ├── [Term].md         # 一级文档:e.g. "DoubleEntryBookkeeping.md"
│   └── auth/             # 二级分类
│       ├── User.md
│       └── Session.md
│   └── frontend/         # 二级分类
│       ├── responsive/   # 三级分类
│       │   └── design/   # 四级分类
│       │       └── MobileFirst.md
│       └── pwa/          # 三级分类
│           └── advanced/ # 四级分类
│               └── optimization/  # 五级分类
│                   └── ProgressiveWebApp.md
├── guides/               # 操作指南与最佳实践 (How-to)
│   ├── [Topic].md        # 一级文档:e.g. "ErrorHandlingStrategy.md"
│   └── backend/          # 二级分类
│       ├── API.md
│       └── Database.md
│   └── frontend/         # 二级分类
│       └── css/          # 三级分类
│           └── flexbox/  # 四级分类
│               └── ResponsiveLayout.md
├── decisions/            # 认知决策记录 (Why)
│   ├── [Date]-[Topic].md # 一级文档:e.g. "20240101-WhyChooseRestOverGraphQL.md"
│   └── database/         # 二级分类
│       └── 20240101-WhyUsePostgres.md
│   └── frontend/         # 二级分类
│       └── layout/       # 三级分类
│           └── modern/   # 四级分类
│               └── strategies/  # 五级分类
│                   └── 20260107-WhyUseCSSGrid.md
├── external/             # 行业共识与外部参考
│   ├── [Source].md       # e.g. "ReactPatternConsensus.md"
│   └── standards/        # 二级分类
│       └── RESTfulAPI.md
├── GLOSSARY.md           # 专业术语表(自动生成,包含定义摘要)
└── index.md              # 自动生成的知识索引(支持多层级显示)

命令参考

所有命令建议在项目根目录下执行。

# 1. 初始化
bun ~/.pi/agent/skills/knowledge-base/lib.ts init

# 2. 扫描代码提取概念 (集成 ace-tool)
bun ~/.pi/agent/skills/knowledge-base/lib.ts scan

# 3. 发现项目结构并生成文档清单
bun ~/.pi/agent/skills/knowledge-base/lib.ts discover

# 4. 创建知识条目(支持目录分类)
bun ~/.pi/agent/skills/knowledge-base/lib.ts create term "术语名称" [分类路径]     # alias for concept
bun ~/.pi/agent/skills/knowledge-base/lib.ts create concept "术语名称" [分类路径]
bun ~/.pi/agent/skills/knowledge-base/lib.ts create guide "指南标题" [分类路径]
bun ~/.pi/agent/skills/knowledge-base/lib.ts create decision "决策标题" [分类路径]

# 示例:创建带分类的文档(支持无限层级)
bun ~/.pi/agent/skills/knowledge-base/lib.ts create concept "UserAuthentication" auth/user
bun ~/.pi/agent/skills/knowledge-base/lib.ts create guide "ErrorHandling" backend/api
bun ~/.pi/agent/skills/knowledge-base/lib.ts create decision "WhyUsePostgres" database

# 三级和四级分类示例
bun ~/.pi/agent/skills/knowledge-base/lib.ts create concept "MobileFirst" frontend/responsive/design
bun ~/.pi/agent/skills/knowledge-base/lib.ts create concept "ProgressiveWebApp" frontend/pwa/advanced/optimization
bun ~/.pi/agent/skills/knowledge-base/lib.ts create guide "ResponsiveLayout" frontend/css/flexbox
bun ~/.pi/agent/skills/knowledge-base/lib.ts create decision "WhyUseCSSGrid" frontend/layout/modern/strategies

# 4. 搜索知识库
bun ~/.pi/agent/skills/knowledge-base/lib.ts search "关键词"

# 5. 生成专业术语表 (GLOSSARY.md)
bun ~/.pi/agent/skills/knowledge-base/lib.ts glossary

# 6. 生成/更新索引
bun ~/.pi/agent/skills/knowledge-base/lib.ts index

核心功能详解

1. 智能扫描 (scan)

利用 ace-tool 分析代码库,识别高频词汇、特定类名和复杂逻辑,自动建议需要创建的“概念文档”。

  • 输入:代码库状态
  • 输出:推荐创建的概念列表 (docs/knowledge/suggested_concepts.md)
2. 结构化文档 (create)

提供标准化模板,强制包含:

  • Definition: 一句话定义(防歧义)。
  • Context: 出现的场景。
  • Anti-patterns: 常见的误解(解决认知偏差)。
  • References: 代码引用或外部链接。
3. 行业共识集成

通过 external 目录管理通用知识(如 RESTful 规范、React Hooks 规则),避免重复造轮子,明确本项目是遵循标准还是有特殊定制。

4. 专业术语表维护 (glossary)

自动扫描 concepts/ 目录下的所有文档,提取定义(Definition)部分,生成扁平化的 GLOSSARY.md 表格。

  • 用途:提供快速查阅的术语字典,适合非技术人员或快速上下文对齐。
  • 格式:包含 Term (Link), Category, Definition 的 Markdown 表格。

最佳实践

  1. 遇到不懂的缩写时:立即运行 create concept [缩写],查明后填入。
  2. 代码 Review 时:如果需要解释一段逻辑超过 3 句,创建一个 guide 并链接。
  3. 新成员加入时:让他阅读 docs/knowledge/index.md,并要求他记录所有困惑点作为新的 Issue。

评论

支持 Markdown