business-knowledge-workflow

安装量: 39
排名: #18375

安装

npx skills add https://github.com/tencentblueking/bk-ci --skill business-knowledge-workflow

业务知识获取与 Skill 文档编写工作流

本 Skill 描述了从外部文档(如 iWiki)获取业务知识,结合代码分析,最终沉淀为高质量 Skill 文档的完整工作流。

触发条件

当用户需要:

熟悉一个新的业务模块或子系统 从 iWiki 或其他文档系统获取业务知识 将文档内容与实际代码进行交叉验证 生成或重构模块架构文档 将业务知识沉淀为可复用的 Skill 核心工作流 ┌─────────────────────────────────────────────────────────────────┐ │ 业务知识获取工作流 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ 阶段 1:文档获取 阶段 2:代码验证 阶段 3:知识沉淀 │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ iWiki 搜索 │───────▶│ 代码定位 │───────▶│ 文档重构 │ │ │ │ 文档阅读 │ │ 交叉验证 │ │ Skill 编写 │ │ │ │ 结构提取 │ │ 补充细节 │ │ 质量审查 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘

阶段 1:文档获取 1.1 使用 iWiki MCP 工具搜索 工具:iWiki.searchDocument 参数:query = "模块名称 + 关键词"

搜索策略:

场景 搜索词示例 了解模块架构 Buildless 架构设计 了解具体功能 Buildless 任务调度 了解数据模型 Buildless Redis 存储 1.2 获取文档内容 工具:iWiki.getDocument 参数:docId = 搜索结果中的文档 ID

关键提取项:

背景与目标 核心概念/术语 架构设计图 流程说明 数据模型 配置说明 1.3 构建知识框架

从文档中提取并整理:

初步知识框架

核心概念

  • 概念 A:xxx
  • 概念 B:xxx

架构要点

  • 组件关系
  • 数据流向

待验证问题

  • [ ] 代码中是否如此实现?
  • [ ] 是否有遗漏的细节?

阶段 2:代码验证 2.1 定位核心代码

根据文档中的类名、方法名、配置项定位代码:

工具:search_content / search_file 策略: 1. 搜索核心类名 → 找到入口 2. 搜索关键方法 → 理解流程 3. 搜索配置项 → 确认参数

示例搜索序列:

1. 找核心服务类

search_content: "class BuildLessStartDispatcher"

2. 找核心方法

search_content: "fun canDispatch"

3. 找配置项

search_content: "dispatch.buildless"

2.2 交叉验证

将文档描述与实际代码对照:

文档描述 代码验证 结果 Redis Key 格式 检查实际 Key 定义 ✅ 一致 / ⚠️ 有差异 流程步骤 检查方法调用链 ✅ 一致 / ⚠️ 有差异 数据模型 检查实体类定义 ✅ 一致 / ⚠️ 有差异 2.3 补充代码细节

文档通常缺失的内容:

异常处理逻辑 边界条件判断 性能优化细节 依赖注入关系 配置默认值

补充方式:

// 从代码中提取关键逻辑 data class CodeInsight( val className: String, val keyMethod: String, val businessLogic: String, val edgeCases: List )

阶段 3:知识沉淀 3.1 文档重构原则

精简原则:

原则 说明 去重 相同内容只保留一处 聚合 分散的相关内容合并 分层 概述 → 详情 → 代码 表格化 列表内容转表格

结构模板:

模块名称

概述

一句话说明 + 核心特点表格

架构设计

一图说明 + 组件表格

核心流程

流程图 + 阶段说明表

数据模型

ER 图 + 字段表格

配置参考

配置项表格

代码索引

文件路径表格

3.2 重构检查清单 无重复内容(同一概念只出现一次) 无冗余流程图(合并相似图示) 代码示例精简(只保留关键逻辑) 表格优于长文本 层次清晰(可快速定位) 3.3 生成 Skill 文档

按照 skill-writer 规范创建:


name: module-name-architecture description: 模块描述。当用户需要了解 xxx、开发 xxx 功能时使用。


工具使用速查 iWiki MCP 工具 工具 用途 常用参数 searchDocument 搜索文档 query getDocument 获取内容 docId getSpacePageTree 获取目录 spaceKey, parentId metadata 获取元数据 docId 代码分析工具 工具 用途 示例 search_content 搜索代码内容 类名、方法名、字符串 search_file 搜索文件名 .kt, Service.kt read_file 读取文件 查看完整实现 list_files 列出目录 了解模块结构 实战案例:Buildless 模块 第一步:iWiki 文档获取 1. searchDocument("Buildless 无编译构建机") 2. getDocument(docId) → 获取 2000+ 行原始文档 3. 提取核心概念:容器池、任务队列、DeferredResult

第二步:代码交叉验证 1. search_content("BuildLessStartDispatcher") → 入口类 2. search_content("BuildLessTaskResource") → API 定义 3. search_content("dispatch.buildless") → 配置项 4. read_file 逐个验证文档描述

第三步:文档重构 原文档:~2100 行,存在以下问题: - Redis Key 说明重复 3 处 - 任务流程重复描述 - 代码片段分散

重构后:~500 行,改进: - 合并重复内容 - 统一流程描述 - 表格化配置和索引

质量标准 文档质量指标 指标 标准 篇幅精简率 ≥ 50%(相比原始文档) 重复内容 0 处 流程图数量 ≤ 3 个核心图 代码示例 只保留关键逻辑 表格占比 ≥ 30% Skill 验证清单 frontmatter 格式正确 description 包含触发词 内容结构清晰 与代码一致 可独立理解 常见问题 Q1:文档与代码不一致怎么办?

以代码为准,在文档中标注差异:

⚠️ 注意:iWiki 文档描述为 xxx,但实际代码实现为 yyy

Q2:文档内容过多如何处理?

采用分层策略:

SKILL.md 放核心内容(概述、流程、配置) reference/ 目录放详细内容(完整数据模型、所有配置项) Q3:如何判断哪些内容该保留?

保留标准:

理解模块必需的概念 开发时需要查阅的信息 排查问题需要的线索

删除标准:

重复出现的内容 过于细节的实现 已过时的描述 输出成果

完成本工作流后,将产出:

架构 Skill 文档:模块的核心知识沉淀 reference 补充文档(可选):详细参考信息 代码索引:关键文件路径清单 相关 Skill skill-writer:Skill 编写规范 00-bkci-global-architecture:全局架构概览 各模块架构 Skill(29-xx 系列):具体模块参考

返回排行榜