project-knowledge-hierarchy

v2026.09.24

项目知识库分层维护技能,根据四层架构(项目层→技术层→资产层 + 原始层)生成标准化项目文档目录结构。docs/ 下四层采用中文目录命名,每个目录需配套 index.md 索引文件,所有文档需附带 YAML 元数据(文档编号、标题、类型、状态、日期、作者)。原始层作为信息源头另行存储。支持初始化和增量维护。当用户需要创建项目知识管理文档、维护项目资产文档、规划项目文档体系、生成项目文档目录时使用此技能。

GitHub
Install command
npx skhub add wuchubuzai2018/project-knowledge-hierarchy
Markdown
SKILL.md

Project Knowledge Hierarchy

介绍

项目知识库分层模型将项目知识分为 4 个层级,从上到下依次为:

  • 项目层 (Project Layer) - 业务方向、核心流程、架构设计、决策记录
  • 技术层 (Technology Layer) - 中间件、数据库设计、编码规范、第三方库、接口文档
  • 资产层 (Assets Layer) - 产品需求、技术方案、测试用例、Bug记录
  • 原始层 (Raw Assets) - 会议纪要、网页、聊天记录、录音转写等原始信息

前三层(项目层 → 技术层 → 资产层)遵循单向依赖原则:上层文档可引用下层文档,禁止反向依赖。 原始层不属于 docs/ 三层结构的正式目录,而是上层文档的信息源头;原始材料经提炼后才能进入正式层级。

详细说明见 references/raw-layer.md。

参考文件路由表

为保持主文件精简,下列内容按需加载:

主题路径何时加载
完整目录结构与子目录职责一览references/directory-structure.md创建目录、规划结构、自定义模式选择子目录、查询子目录职责时
原始层详细说明(定义、关系、存储、提炼流程)references/raw-layer.md处理原始材料、回答原始层相关问题、决定存储位置时
增量维护指引(四步法、归档决策树、必做清单)references/incremental-maintenance.md归档已有文档、新增文档走归档决策时
维护规范(命名、格式、元数据、索引、层级、版本)references/maintenance-rules.md检查违规、回答维护相关问题、做 AI 自检时
Google OKF(Open Knowledge Format)介绍与对齐指引references/okf-intro.md用户询问"OKF 是什么"或"是否兼容 OKF"、要求启用 OKF 字段时

执行步骤Workflow

Step 1: 询问目录位置

首先询问用户文档目录的创建位置:

请确认文档目录的创建位置,默认在当前工程的 docs 目录下创建。

根据用户回答确定目标路径,如用户无输入,默认在 docs/ 目录下创建。

Step 2: 检查已有目录

在创建前检查目标路径是否已存在文档结构:

# 检查目标目录是否已存在
if [ -d "$TARGET_DIR" ]; then
  echo "检测到已有目录结构,将仅创建缺失的目录和文件,不会覆盖已有内容。"
fi

如果目录已存在,进入增量模式:只创建缺失的子目录,不覆盖已有的 index.md。

原始层注意:原始层不在 docs/ 三层结构内(详见 references/raw-layer.md);本步骤只检查 docs/,原始层存储位置由项目自定。

Step 3: 选择生成模式

根据用户需求和项目类型选择模式:

模式说明输出内容是否包含原始层
完整模式(推荐)生成全部四层结构13 个三层子目录 + 3 个层级 index.md + 13 个子目录 index.md + 原始层目录 + 原始层 README.md包含
单层模式只生成指定层级指定层的子目录 + 层级 index.md + 该层子目录 index.md不包含
自定义模式用户选择需要的子目录用户勾选的子目录 + 对应 index.md可选
原始层模式仅初始化原始层原始层目录 + 来源子目录 + README.md包含

询问用户:

请选择生成模式:完整模式(推荐,含原始层)/ 单层模式 / 自定义模式 / 原始层模式?

如用户无明确选择,默认使用完整模式。

完整模式默认包含原始层:原始层是项目知识的源头,长期项目通常都需要;完整模式自动建好,后续随时可往里放原始材料。

Step 4: 创建目录结构

根据用户的系统环境,创建目录(使用 -p 确保幂等,已有目录不受影响):

# 示例:创建完整四层结构(中文目录名)
mkdir -p docs/01-项目层/{01-项目概览,02-核心流程,03-架构设计,04-决策记录}
mkdir -p docs/02-技术层/{01-中间件配置,02-数据库设计,03-编码规范,04-第三方库,05-接口文档}
mkdir -p docs/03-资产层/{01-产品需求,02-技术方案,03-测试用例,04-Bug记录}

原始层位置:四种推荐方案(docs/00-原始层/ / 仓库独立目录 / 外部知识库)详见 references/raw-layer.md 存储位置建议。

Step 4.2: 原始层专用目录初始化(创建按来源类型的子目录)

原始层目录创建后,应额外按来源类型分子目录(推荐做法,正常执行):

  # 在原始层根目录下创建按来源类型分的子目录
mkdir -p docs/04-原始层/{01-会议记录,02-网页资料,03-聊天记录,04-录音转写,05-其他杂项}

子目录含义与命名规范:

子目录用途文件命名示例
meetings/会议纪要2026-08-30-meeting-产品周会.md
interviews/用户/客户访谈2026-08-25-interview-王先生.md
web-clips/网页资料2026-08-20-web-AI-竞品分析.md
chat-logs/聊天记录2026-08-15-chat-订单重构讨论.md
transcripts/录音/录像转写2026-08-10-transcript-客户访谈.md
misc/其他杂项2026-08-05-misc-需求工单.md

按日期分子目录是另一种合法做法(如 docs/raw/2026-Q3/、docs/raw/2026-Q4/),适用于来源类型单一的项目。

Step 4.3: 创建原始层层说明 README.md

原始层不建 index.md,但必须建 README.md 作为层说明(这是与三层的关键区别),正常执行:

模板与子目录、命名规范说明见 references/raw-layer.md(内含完整可复制的 README 模板代码块)。AI 按以下流程生成:

  1. 复制 references/raw-layer.md 内「原始层层说明 README.md 模板」代码块
  2. 按项目实际选择的子目录调整「子目录结构」表格
  3. 按项目实际来源类型调整「文件命名规范」表格
  4. 删除模板中的占位说明段落(如「### 使用方式」)
  5. 将 README.md 放在原始层根目录下,不要放在某个子目录下

Step 4.1: 创建目录索引 index.md

每个目录(包括三层根目录、每个子目录)都必须创建 index.md 作为目录索引,模板见下文 目录索引模板。AI 在初始化阶段必须为每个目录生成对应的 index.md,即使是空目录也要保留空索引表,便于后续追加。

原始层例外:原始层下的目录不创建 index.md,但应在原始层根目录创建 README.md 作为层说明(详见 references/raw-layer.md)。

Step 5: 初始化 index.md 文件

仅在 index.md 不存在时创建,避免覆盖用户已有内容。本步骤只处理 docs/ 三层结构,原始层跳过本步骤。

docs/index.md(顶层总览)

模板详见 templates/root-index.md。AI 在初始化时按以下流程生成:

  1. 复制 templates/root-index.md 内的模板内容
  2. 替换占位符(YYYY-MM-DD、[作者/作者组])
  3. 确认三层目录链接与项目实际层级一致

各层 index.md 模板(层根目录)

模板详见 templates/layer-index.md。AI 在初始化时为每个层级根目录生成:

  1. 复制 templates/layer-index.md 内的模板内容
  2. 替换占位符([层级编码]、[层级名称]、YYYY-MM-DD、[作者/作者组])
  3. 按该层级实际子目录填写「目录说明」表格
  4. 按该层特点撰写「归档指引」(通常 1-3 条)

各目录内容说明

完整子目录职责一览(三层 × 全部子目录)详见 references/directory-structure.md「子目录职责一览」一节。原始层目录由项目自定,详见 references/raw-layer.md 存储位置建议。

目录索引模板(子目录 index.md)

每个子目录(如 01-项目概览/、02-数据库设计/ 等)都必须创建 index.md,作为该目录的文档清单入口。模板与字段说明详见 templates/subdir-index.md。

AI 在初始化与维护时的执行流程:

  1. 复制 templates/subdir-index.md 内的模板内容
  2. 替换占位符([层级]、[子目录序号]、[子目录名称]、YYYY-MM-DD、[作者/作者组])
  3. 用一句话准确描述该子目录的归档范围
  4. 删除示例行后,按实际文档条目填写「文档清单」表格(列固定为:编号 / 标题 / 状态 / 日期 / 文档)

强制约束:AI 在每次新增、修改或废弃具体文档时,必须同步更新对应目录 index.md 中的「文档清单」表格,确保索引与文件保持一致。

文档元数据规范(YAML 头部)

所有非 index.md 的具体业务文档,必须在文档开头附带 YAML 格式的元数据(位于 Markdown 起始的 --- 代码块中)。

完整模板(含字段定义、层级编码、占位符说明、完整示例)详见 templates/document.md。

字段定义(速查)

核心 6 字段(必须)

字段必填说明取值建议
文档编号✅文档唯一标识,全局不重复格式 DOC-{层级编码}-{子目录序号}-{3 位序号},例如 DOC-PRJ-01-001、DOC-TECH-02-007、DOC-AST-04-015
标题✅文档标题与正文一级标题保持一致
类型✅文档类型总览 / 索引 / 需求 / 方案 / 设计 / 规范 / 接口 / 测试 / 缺陷 / 决策 / 会议纪要 / 其他
状态✅文档生命周期状态草稿 / 评审中 / 现行 / 已废弃
日期✅最近更新日期格式 YYYY-MM-DD
作者✅文档作者或作者组个人姓名或团队名,如 张三 / 架构组

标准推荐字段(强烈推荐,借鉴自 OKF)

字段推荐度说明取值建议
描述⭐⭐⭐单句摘要,用于 index.md 清单、搜索摘要、预览一句话,≤ 80 字
标签⭐⭐⭐跨切面分类标签,便于按主题/模块检索YAML 列表,如 [订单, 收入, 销售]

AI 默认应在生成文档时一并输出这两个字段,除非用户明确表示不需要。仅当用户要求"只要最小集"时,才退化为仅 6 字段。

扩展可选字段(按需启用)

借鉴自 OKF v0.2 的 resource / sources / stale_after,仅在场景需要时启用。完整说明见 references/okf-intro.md。

层级编码对照

层级编码
项目层PRJ
技术层TECH
资产层AST

AI 执行流程

  1. 新建业务文档时,先复制 templates/document.md 的标准模板(核心 6 字段 + 推荐 2 字段)
  2. 替换所有占位符(特别注意 文档编号 全局唯一)
  3. 主动为 描述 与 标签 生成合理内容:
    • 描述:从文档标题与首段提炼单句摘要(≤ 80 字)
    • 标签:从主题、所属模块、涉及技术栈抽取 3-6 个分类标签
  4. 编写正文
  5. 在所属子目录 index.md 的「文档清单」表格中追加对应行
  6. 当 状态 或 日期 变更时,同步更新所属 index.md 中的记录

强制约束:AI 在生成任何业务文档(不是 index.md)时,必须先输出完整的 YAML 元数据块(含 描述 与 标签),再编写正文。若用户提供的文档缺失元数据,应主动补全(含 描述 与 标签)并提示用户确认。仅当用户明确要求"只要最小集"时,才退化为仅 6 字段。

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

Not specified

Source path

skills/project-knowledge-hierarchy

Default branch

main

Latest commit

bff644e

Tree SHA

d296d16