关于 llm-wiki-maintainer
用于维护持久 Markdown 知识库的技能,将其整理为兼容 Obsidian 的 Wiki。它覆盖初始化、来源摄取、查询和质量检查,优先采用 obsidian-wiki,同时兼容既有旧版布局。
主要功能
- 01初始化 obsidian-wiki 知识库
- 02摄取来源并保留出处
- 03查询 Wiki 内容并引用
- 04检查链接、重复页与过时内容
- 05兼容现有旧版 Wiki 布局
- 06转换文档为 Markdown 以供摄取
适用场景
- 01搭建持久化 Obsidian Wiki
- 02将来源文件整理为互链知识
- 03根据维护中的 Wiki 页面回答问题
- 04检查 Wiki 结构和过时元数据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sergekostenchuk/ ui-ux-agent-skill-system --skill llm-wiki-maintainer安装后在 Claude Code 中输入/llm-wiki-maintainer确认已加载。
附带文件agents/openai.yamlreferences/artigram-example.md
详细介绍
LLM Wiki 维护者
概述
将此技能用于以编译后的 Obsidian 兼容 wiki 工件形式维护的持久化 Markdown 知识库。
优先顺序:
- 对于新的设置、部署或初始化请求,默认部署
Ar9av/obsidian-wiki。 - 如果已有
Ar9av/obsidian-wiki框架,优先使用该框架。 - 如果已有旧版
raw/+wiki/LLM Wiki,在不破坏现有结构的前提下继续使用,并建议迁移到obsidian-wiki。 - 仅在用户明确要求使用旧版标准 LLM Wiki 格式时,才创建或扩展旧版布局。
将 wiki 视为需要维护的系统,而不是一堆笔记。
默认部署行为
当用户因设置、部署、初始化或创建新 wiki 而调用此技能,且无需保留现有 wiki 约定时,默认部署 Ar9av/obsidian-wiki 作为实现方案。
默认部署意味着:
- 从
https://github.com/Ar9av/obsidian-wiki创建或填充目标目录,将其设为obsidian-wiki仓库。 - 保留目标目录中已有的用户文件。
- 创建
.env,并将OBSIDIAN_VAULT_PATH设置为目标知识库的路径。 - 初始化知识库文件和目录:
index.mdlog.mdhot.md.manifest.json.obsidian/_meta/_raw/_archives/concepts/、entities/、skills/、references/、synthesis/、journal/、projects/
- 在确保安全的情况下,让
~/.obsidian-wiki/config指向选定的知识库或仓库。 - 除非用户要求运行完整的上游
setup.sh,否则仅将所需的 Codex 技能符号链接安装到~/.codex/skills。 - 如果仓库将
Ar9av/obsidian-wiki用作origin,应排除本地知识库工件,避免意外提交到上游,并保持上游框架的 git 状态干净。
如果用户只是提出“设置我的 wiki”“разверни wiki”“создай Obsidian wiki”或类似请求,不要询问用户是否想使用旧版布局。除非用户明确指定旧版布局,否则使用 obsidian-wiki。
旧版 LLM Wiki 兼容性
旧版模式适用于已存在的标准 LLM Wiki 布局,例如:
WIKI-SCHEMA.mdraw/wiki/index.mdwiki/log.mdwiki/sources/wiki/concepts/、wiki/entities/、wiki/analyses/
检测到旧版模式时:
- 安全地使用现有布局。
- 未经明确批准,不要移动、重命名或重写旧版 wiki。
- 告知用户当前的 wiki 属于旧版/标准 LLM Wiki。
- 除非有明确理由保留旧结构,否则建议未来迁移到
Ar9av/obsidian-wiki。 - 提供迁移方案:
- 将
raw/保留为源材料,或映射到_raw/ - 将
wiki/sources/映射到references/ - 将
wiki/concepts/映射到concepts/ - 将
wiki/entities/映射到entities/ - 将
wiki/analyses/映射到synthesis/ - 将
wiki/index.md和wiki/log.md转换为根目录下的index.md和log.md - 创建
.manifest.json、hot.md、_meta/和.obsidian/
- 将
只有在用户提出要求或明确授权后,才能执行迁移。
Obsidian-Wiki 优先级
如果存在以下任一情况,则默认使用 obsidian-wiki 模式:
.skills/llm-wiki/SKILL.md.skills/wiki-ingest/SKILL.md、.skills/wiki-query/SKILL.md或相关 wiki 技能- 以 Obsidian Wiki Agent 上下文开头的
AGENTS.md - 包含
OBSIDIAN_VAULT_PATH的.env ~/.obsidian-wiki/config- 保险库文件,例如
.manifest.json、hot.md、_meta/taxonomy.md、_raw/
在此模式下,先遵循框架约定,再遵循本地习惯:
- 解析配置。
- 从 CWD 开始向上查找包含
OBSIDIAN_VAULT_PATH的.env。 - 如果未找到,则读取
~/.obsidian-wiki/config。 - 解析出的
OBSIDIAN_VAULT_PATH即为保险库根目录。 - 存在时,解析出的
OBSIDIAN_WIKI_REPO即为框架仓库。
- 从 CWD 开始向上查找包含
- 读取控制文件。
- 存在时,读取仓库的
AGENTS.md。 - 然后读取
$OBSIDIAN_VAULT_PATH/AGENTS.md(如果存在);它会覆盖框架默认设置,采用所有者专属约定。 - 对于特定操作,开始前先读取仓库中匹配的
.skills/<skill-name>/SKILL.md。
- 存在时,读取仓库的
- 使用
obsidian-wiki保险库结构。- 根目录特殊文件:
index.md、log.md、hot.md、.manifest.json。 - 元数据:
_meta/、_raw/、_archives/、.obsidian/。 - 分类:
concepts/、entities/、skills/、references/、synthesis/、journal/和projects/。
- 根目录特殊文件:
- 将编译后的内容放在保险库根目录的分类中,而不是
wiki/中,除非检测到的约定明确使用旧版路径。
此环境中的本地默认设置:
$HOME/TG-NEWS-151是obsidian-wiki仓库和保险库。$HOME/.obsidian-wiki/config指向该保险库。
快速开始
- 查找约定。
- 首先根据上述规则检测
obsidian-wiki模式。 - 在
obsidian-wiki模式下,解析.env或~/.obsidian-wiki/config,读取AGENTS.md,然后读取保险库中的index.md、log.md和hot.md。 - 在旧版模式下,如果保险库中有
WIKI-SCHEMA.md,则先读取它。 - 然后读取本地
AGENTS.md(如果存在)。 - 接着读取旧版
wiki/index.md和wiki/log.md。 - 如果不存在约定,且任务是设置、初始化或部署,则默认创建
obsidian-wiki设置。 - 对于整个工作区的保险库,如果存在语料库策略页面,则在摄取前先阅读。
- 首先根据上述规则检测
- 遵守来源边界。
- 将
_raw/、raw/和外部语料库文件视为只读,除非明确要求编辑。 - 在
obsidian-wiki模式下,只将编译后的知识写入保险库分类目录,例如references/、concepts/、entities/、synthesis/、journal/和projects/。 - 在旧版模式下,只将编译后的知识写入
wiki/。
- 将
- 选择操作。
ingestquerylint
适用场景
- 用户提到
LLM Wiki、Obsidian、vault、raw/、wiki/、wiki/index.md、wiki/log.md、WIKI-SCHEMA.md或AGENTS.md。 - 用户提到
obsidian-wiki、Ar9av/obsidian-wiki、.manifest.json、.skills/wiki-*、_raw/、hot.md、wiki-status、wiki-ingest或wiki-query。 - 任务涉及在摄取前将源文件转换为 Markdown,或者用户提到
MarkItDown、markitdown、文档转 Markdown、PDF/DOCX/PPTX/HTML 导入,或要求为 wiki 准备原始资料。 - 用户希望摄取来源、从 wiki 中获取答案、调和矛盾或维护持久化知识库。
- 用户使用俄语提示词,例如:
добавь в викисделай ingestобнови index/loglint wikiразложи по вики
工作流
Obsidian-Wiki 操作路由
处于 obsidian-wiki 模式时,优先遵循匹配的框架技能说明:
- 设置或修复:读取
.skills/wiki-setup/SKILL.md。 - 导入:读取
.skills/wiki-ingest/SKILL.md;对于原始文本/导出数据,则读取.skills/data-ingest/SKILL.md。 - 查询:读取
.skills/wiki-query/SKILL.md。 - 状态/增量:读取
.skills/wiki-status/SKILL.md。 - lint:读取
.skills/wiki-lint/SKILL.md。 - 重建/归档:读取
.skills/wiki-rebuild/SKILL.md。 - 交叉链接:读取
.skills/cross-linker/SKILL.md。 - 标签:读取
.skills/tag-taxonomy/SKILL.md。 - 项目同步:读取
.skills/wiki-update/SKILL.md。
如果请求的工作流已由已安装的 obsidian-wiki 技能覆盖,请遵循该技能的约定,而不是根据此通用技能重新解读任务。
导入
当需要将新的来源、文件夹、笔记或工作区片段转化为可持久保留的知识时使用。
在 obsidian-wiki 模式下:
- 解析配置并读取控制文件。
- 仔细阅读来源,不要对其进行修改。
- 除非特定操作技能指出其他类别更合适,否则在
references/中创建或更新来源/参考页面。 - 根据需要更新
concepts/、entities/、skills/、synthesis/、journal/或projects/中的持久页面。 - 更新
index.md、log.md、hot.md和.manifest.json。 - 遵循框架模板时,在 frontmatter 字段(如
sources、summary、provenance、base_confidence、lifecycle、created和updated)中保留来源信息。
旧版模式:
步骤:
- 仔细阅读来源。
- 在
wiki/sources/中创建或更新一个来源页面。 - 更新受影响的持久页面,位于
wiki/entities/、wiki/concepts/或wiki/analyses/中。 - 更新
wiki/index.md。 - 在
wiki/log.md中追加一条记录。
规则:
- 实际可行时,优先为每个来源条目创建一个来源页面。
- 对于紧密相关的文档,使用一个合集来源页面,并在
sources中列出每个成员。 - 保留来源信息。不要原地改写来源材料。
借助 MarkItDown 导入
当来源材料为非 Markdown 格式,且需要在不虚构内容的前提下,为导入知识库做好准备时使用。
常见情况:
- DOCX
- PPTX
- HTML
- 复制的导出文件或下载的来源文件包,转换为 Markdown 后更便于导入
规则:
- 除非明确收到其他指示,否则将原始文件视为只读。
- 在
obsidian-wiki模式下,优先将转换后的文件写入_raw/或其他明确指定的暂存区域,而不是编译后的分类文件夹。 - 在旧版模式下,优先将转换后的文件写入
raw/或其他明确指定的导入暂存区域,而不是wiki/。 - 不要用转换后的 Markdown 覆盖原始来源文件。
- 转换后,将转换文件作为来源导入,并保留指向原始路径的来源信息。
- 如果转换质量较差,请明确说明,而不要假装 Markdown 内容可靠。
本地工具说明:
- 本地
MarkItDown环境位于:$HOME/LLM Wiki MarkItDown/MarkItDown/venv/bin/markitdown - 本地观察到的已安装版本:
markitdown 0.1.5
实用工作流:
- 确定原始来源文件。
- 使用本地
markitdown将其转换为暂存 Markdown 文件。 - 保持原始文件不变。
- 批判性地审阅转换后的 Markdown。
- 在
obsidian-wiki模式下,根据转换后的来源创建/更新一个references/页面,然后更新持久页面、index.md、log.md、hot.md和.manifest.json。 - 在旧版模式下,根据转换后的来源创建/更新一个
wiki/sources/页面,然后更新持久页面、wiki/index.md和wiki/log.md。
查询
当用户提出 wiki 应该能够回答的问题时使用。
在 obsidian-wiki 模式下:
- 解析配置,并优先读取
index.md、hot.md和相关的 frontmatter 摘要。 - 仅在需要时阅读相关的持久页面。
- 优先依据 wiki 作答,并使用
[[wikilink]]引用。 - 如果 wiki 信息不足,明确说明缺少的来源或页面。
旧版模式:
步骤:
- 优先阅读
wiki/index.md,了解整体情况。 - 阅读相关的持久页面。
- 优先依据 wiki 作答。
- 使用
[[wikilinks]]引用相关页面。 - 如果答案具有持久价值,保存或建议新建一个分析页面。
规则:
- 不要不加说明地混合来源事实与推断。
- 如果 wiki 信息不足,说明缺少什么。
检查
当用户希望对 wiki 进行质量控制时使用。
检查以下内容:
- 失效链接
- 孤立页面
- 关联较弱的页面
- 重复或内容重叠的页面
- 矛盾之处
- 反复提及却没有专属页面的概念或实体
- 过时的说法或已被取代的页面
在安全的情况下直接修复:
- 失效链接
- 索引偏差
- 明确应补充的反向链接
- 明显的页面归类或标题问题
- 在
obsidian-wiki模式下,有来源依据且可机械修正的过时hot.md或.manifest.json元数据
需要判断时,报告问题而不是猜测。
页面规范
- 优先更新持久页面,而非创建零散片段。
- 保持来源页面客观持久,持久页面综合提炼信息。
- 确保 YAML frontmatter 有效。
- 保持 wikilink 有意义。
- 在
obsidian-wiki模式下,保持index.md、log.md、hot.md和.manifest.json为最新状态。 - 在旧版模式下,保持
wiki/index.md和wiki/log.md为最新状态。 - 如果某项说法缺少可信依据,请明确说明。
真实性规则
- 不要编造事实。
- 区分有来源支持的事实与综合提炼的内容。
- 明确保留不确定性。
- 绝不伪造来源信息、引用、来源数量或页面链接。
架构说明
- 如果 wiki 描述软件,请将架构页面与实现页面分开。
- 如果要比较系统或产品,请先导入双方的资料,再撰写综合页面。
- 如果用户直接在聊天中提供文本,请将其视为来源笔记,并在来源页面正文中记录其出处。
- 如果导入的来源材料先经过
MarkItDown处理,在生成的来源页面或出处说明中,适当保留原始文件路径和转换后的 markdown 路径。
本地示例
如需查看此环境中可实际使用的 vault,请阅读
references/artigram-example.md。
在此环境中配置本地转换流程时,请注意:
- wiki 骨架:
$HOME/LLM Wiki MarkItDown/LLM Wiki - MarkItDown venv:
$HOME/LLM Wiki MarkItDown/MarkItDown/venv