install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/knowledge-manager" ~/.claude/skills/majiayu000-claude-skill-registry-knowledge-manager && rm -rf "$T"
manifest:
skills/data/knowledge-manager/SKILL.mdtags
source content
Knowledge Manager Skill
智能知识管理助手,自动分析和优化知识库结构。
功能概述
Knowledge Manager 是一个自动触发的智能助手,帮助用户:
- 自动标签建议: 基于内容智能推荐标签
- 自动关联建议: 识别相关条目并建议链接
- 分类检测: 自动判断条目应该属于哪个分类
- 智能组织: 识别重复、孤立和需要整合的条目
- 质量评估: 评估条目的完整性和质量
触发条件
自动触发
-
添加知识后 (
)on_add: true- 用户执行
后自动触发/kb-add - 分析新添加的条目
- 建议标签、分类和关联
- 用户执行
-
编辑知识后 (
)on_edit: true- 用户执行
后自动触发/kb-edit - 检查编辑后的内容
- 更新建议和关联
- 用户执行
手动触发
用户可以通过以下方式手动触发:
- "帮我整理知识"
- "优化知识库"
- "分析标签使用情况"
- "查找重复条目"
- "建议知识关联"
执行流程
1. 内容分析
## 分析新添加的条目 当用户添加知识时: 1. **提取关键词** - 从标题中提取核心概念 - 从正文中识别技术术语 - 提取专有名词和缩写 2. **主题识别** - 判断讨论的主要主题 - 识别技术栈和工具 - 检测应用场景 3. **质量评估** - 检查内容完整性 - 评估是否有代码示例 - 判断是否需要补充信息
2. 标签建议
## 智能标签推荐 基于内容分析推荐标签: 1. **现有标签匹配** - 查找 tags.json 中相似的标签 - 推荐使用现有标签体系 2. **新标签建议** - 识别内容中的关键概念 - 建议新的标签名称 - 避免标签冗余 3. **标签层级** - 建议主标签和副标签 - 保持标签体系的一致性 输出格式:
建议标签: 主标签: react, hooks 相关标签: frontend, javascript, useState
说明:
- react: React 框架相关内容
- hooks: React Hooks 特性
- frontend: 前端开发通用
- javascript: JavaScript 语言
是否应用这些标签? (yes/no/edit)
3. 分类建议
## 分类推荐 分析内容并建议分类: **code 分类特征**: - 代码片段 - API 文档 - 技术实现细节 **projects 分类特征**: - 项目文档 - 开发日志 - 技术决策记录 **learning 分类特征**: - 学习笔记 - 概念解释 - 教程和指南 **personal 分类特征**: - 个人思考 - 经验总结 - 反思和感悟 输出格式:
建议分类: learning
置信度: 高 (85%)
理由:
- 包含概念解释
- 有学习笔记特征
- 包含理解过程
是否应用此分类? (yes/no)
4. 关联建议
## 智能关联推荐 识别可能相关的知识条目: 1. **标题相似度** - 计算与现有条目标题的相似度 - 识别同义词和相关词 2. **标签重叠度** - Jaccard 相似系数 - 标签重叠越多,关联性越强 3. **内容引用** - 检测是否提及了其他条目的 ID - 识别标题或内容中提到的其他概念 4. **时间邻近性** - 近期创建的相关条目 - 同一时期学习的内容 输出格式:
发现 3 个可能相关的条目:
-
[2025-01-03-102015] React 基础概念 相关度: 95% (高) 关联类型: references 理由: 标题和内容都有 "React" 关键词
-
[2025-01-02-084530] 函数组件 相关度: 82% (中高) 关联类型: builds-on 理由: Hooks 是在函数组件基础上构建的
-
[2025-01-01-120000] JavaScript 闭包 相关度: 45% (低) 关联类型: related 理由: 都涉及前端开发
是否创建这些关联? (all/select/none)
5. 知识组织分析
## 组织结构分析 定期分析知识库的组织状况: 1. **重复检测** - 查找标题或内容相似的条目 - 建议合并或建立关联 2. **孤立条目检测** - 没有链接的条目 - 没有反向链接的条目 - 建议创建关联 3. **标签分析** - 统计标签使用频率 - 识别过度使用或很少使用的标签 - 建议标签优化 4. **分类分布** - 分析各分类的条目数量 - 识别不平衡的分类 输出格式:
知识库组织分析报告:
📊 总体统计 总条目: 45 个 总标签: 32 个 总链接: 23 个
🔍 重复检测 发现 2 对相似条目:
- [2025-01-01-100000] React Hooks [2025-01-03-150000] React Hooks 详解 相似度: 78% 建议: 建立关联或合并
🏝️ 孤立条目 5 个条目没有链接:
- [2025-01-02-120000] CSS Grid
- [2025-01-04-090000] TypeScript 基础 ...
🏷️ 标签分析 最常用标签:
- react (12 次)
- javascript (8 次)
- hooks (6 次)
很少使用的标签:
- debugging (1 次)
- optimization (1 次)
📁 分类分布 code: 15 个 (33%) learning: 18 个 (40%) projects: 8 个 (18%) personal: 4 个 (9%)
💡 优化建议
- 为孤立条目创建关联
- 合并相似的 React Hooks 条目
- 考虑合并 debugging 和 optimization 标签
智能建议示例
场景 1: 用户添加 React Hooks 笔记
用户执行: /kb-add --type=learning-note 标题: React Hooks 学习笔记 [用户输入内容后] Knowledge Manager 自动触发: ✨ 内容分析完成! 建议标签: 主标签: react, hooks 相关标签: frontend, functional-components 理由: 内容主要讨论 React Hooks 和函数组件 建议分类: learning 置信度: 高 (92%) 理由: 学习笔记格式,包含概念解释 发现相关条目: 1. [2025-01-03-102015] React 基础概念 (相关度: 88%) 建议: references - 引用了 React 基础概念 2. [2025-01-02-084530] 函数组件 (相关度: 75%) 建议: builds-on - 在函数组件基础上讨论 是否应用这些建议? 输入选项: - apply all: 应用所有建议 - select: 选择性应用 - skip: 跳过,稍后手动处理 用户选择: apply all ✅ 已应用所有建议! 标签已更新: react, hooks, frontend, functional-components 分类已更新: learning 关联已创建: → references: 2025-01-03-102015 → builds-on: 2025-01-02-084530
场景 2: 用户请求知识库分析
用户输入: 帮我分析知识库的组织情况 Knowledge Manager 执行: 📊 知识库组织分析报告 === 总体概况 === 总条目数: 45 个 总标签数: 32 个 总链接数: 23 个 平均每个条目链接数: 0.51 个 === 重复检测 === 发现 3 对可能重复的条目: 1. React Hooks 相关 (相似度: 82%) [2025-01-01-100000] React Hooks 入门 [2025-01-03-150000] React Hooks 详解 建议: 建立关联 (builds-on) 2. JavaScript 异步 (相似度: 75%) [2025-01-02-110000] Promise 和 async/await [2025-01-04-120000] JavaScript 异步编程 建议: 合并为一个条目 3. CSS Flexbox (相似度: 68%) [2025-01-05-090000] Flexbox 布局 [2025-01-06-100000] Flexbox 完整指南 建议: 保留较新的版本 === 孤立条目 === 8 个条目没有任何链接: 1. [2025-01-02-120000] CSS Grid 布局 建议关联: [2025-01-05-090000] Flexbox 布局 (related) 2. [2025-01-04-090000] TypeScript 基础 建议关联: [2025-01-01-100000] React Hooks (related) ... (其余 6 个) === 标签分析 === 使用频率分布: 高频 (>10次): react (12), javascript (8) 中频 (5-10次): hooks (6), async (5) 低频 (<5次): 其余 28 个标签 标签优化建议: 1. 合并相似标签: - js → javascript - ts → typescript 2. 拆分宽泛标签: - frontend → react, vue, angular === 分类分布 === code: 15 个 (33%) ⚖️ 平衡 learning: 18 个 (40%) ⚖️ 平衡 projects: 8 个 (18%) ⚖️ 偏低 personal: 4 个 (9%) ⚠️ 过低 建议: 增加项目和反思类内容的记录 === 质量评估 === 高质量条目 (>500字): 12 个 (27%) 中等质量 (200-500字): 23 个 (51%) 低质量条目 (<200字): 10 个 (22%) 建议: 丰富低质量条目的内容 💡 行动建议: 1. 立即处理: 合并重复的 JavaScript 异步条目 2. 本周完成: 为孤立条目创建关联 3. 持续优化: 增加项目和反思类内容 4. 标签整理: 统一 js 和 javascript 标签 是否需要我帮你执行这些建议?
技术实现
1. 相似度计算
// Jaccard 相似系数 (标签重叠度) function jaccardSimilarity(tags1, tags2) { const intersection = tags1.filter(tag => tags2.includes(tag)); const union = [...new Set([...tags1, ...tags2])]; return intersection.length / union.length; } // 文本相似度 (简单的词频统计) function textSimilarity(text1, text2) { const words1 = tokenize(text1); const words2 = tokenize(text2); const common = words1.filter(word => words2.includes(word)); return common.length / Math.max(words1.length, words2.length); }
2. 标签推荐算法
1. 提取内容中的关键词 2. 与 tags.json 中的现有标签匹配 3. 计算每个相关标签的权重 4. 推荐权重最高的 3-5 个标签
3. 分类判断
1. 统计内容中的特征词 2. 每个分类有对应的特征词列表 3. 计算内容与每个分类的匹配度 4. 选择匹配度最高的分类
配置选项
自动应用阈值
{ "autoApply": { "tags": { "confidence": 0.9, "minMatches": 2 }, "category": { "confidence": 0.85 }, "links": { "minSimilarity": 0.8 } } }
分析频率
{ "analysis": { "onAdd": true, "onEdit": true, "scheduled": "weekly" } }
注意事项
- 用户控制: 所有建议都需要用户确认,不自动修改
- 性能优化: 大量条目时使用缓存和增量分析
- 隐私保护: 分析过程仅在本地进行,不上传数据
- 可配置性: 允许用户自定义分析规则和阈值
未来扩展
- 语义分析: 使用 NLP 技术进行更深入的语义理解
- 自动摘要: 为长内容生成简洁的摘要
- 知识图谱: 可视化知识网络
- 智能问答: 基于知识库内容回答问题
- 学习路径: 自动推荐学习顺序和关联内容