| name | wiki-ingest |
| description | Digest a course source file into the wiki. This skill should be used when the user says "ingest", "消化", "process this PDF/slide", or drops a course file into raw/ and wants it turned into wiki pages. Reads the source, deduplicates via manifest, creates source + concept pages, and finds cross-course connections. |
Wiki Ingest
将 raw/ 中的课件转化为 wiki 页面。
Turn a source file in raw/ into wiki pages.
步骤 Steps
- 去重检查: 计算文件
md5sum {file} | cut -d' ' -f1。查 raw/.manifest.json,hash相同则跳过,报告"已处理,用force重新消化"
- 读上下文: 读
wiki/hot.md(不是完整SCHEMA)
- 定位已有页: 读
wiki/index.md 找相关概念页
- 读源文件,提炼3-5个关键要点
- 与用户讨论确认(不跳过这步)
- 创建来源页
wiki/sources/{name}.md
6.5. 创建/更新课程总览页 wiki/courses/{COURSE}-overview.md:
- 不存在则新建(用下方"课程总览页格式")
- 已有则在"概念图谱"章节追加本次新概念的
[[链接]]
- 创建/更新概念页(最多3-5页,不贪多):
- 新概念 → 新建
wiki/concepts/{Name}.md,confidence默认 low,设置 created_at 为今天日期
- 已有概念 → 局部编辑,补充内容,更新
last_reviewed 日期(不改 created_at)
- 图表处理: 若源含重要图表,文字描述其内容;若该概念涉及流程/架构/时序/分类等适合可视化的内容,按 wiki-diagram skill 判断标准用 Mermaid 配图
- 跨课程连接: 检查新概念是否在其他课程出现过。若是:
- 在两个概念页都加
[[链接]]
- 在
wiki/connections-log.md 追加一条记录(用下方"连接日志格式")
- 矛盾检测: 若新内容与已有页面冲突:
- 在概念页用
> [!contradiction] callout 标注
- 在
wiki/contradictions.md 追加一条记录(用下方"矛盾记录格式")
- 最后一次性更新:
index.md + hot.md + log.md + overview.md + .manifest.json(不要每步都更新)
overview.md 更新内容:有新课程则加入课程列表,有新连接则更新"跨课程连接"摘要,有新矛盾则更新"矛盾与张力"摘要
wiki/glossary.md 将本次新建概念追加到术语表(英文、中文、领域、[[页面链接]])
log.md 追加一条结构化日志记录(用下方"日志格式")
Manifest 格式
{
"sources": {
"raw/COMP6713/L3.pdf": {
"hash": "abc123",
"course": "COMP6713",
"ingested_at": "2026-06-01",
"pages_created": ["wiki/sources/L3.md"],
"concepts_created": ["Attention-Mechanism"],
"concepts_updated": ["Transformer"],
"connections_found": 2,
"contradictions_found": 0
}
}
}
批量 Batch ingest
多个文件时:逐个处理,但 index/hot/log/manifest 只在全部完成后更新一次。每10个文件后向用户汇报一次进度。
完成报告 Report
"处理了 N 个来源。创建 X 页,更新 Y 页。发现的跨课程连接: ..."
课程总览页格式 Course Overview Format
文件: wiki/courses/{COURSE}-overview.md
---
tags: [course-overview, {course-code}]
course: {COURSE-CODE}
updated: YYYY-MM-DD
---
# {COURSE-CODE} — {课程名 Course Name}
## 综述 Summary
{一句话描述课程主题}
## 概念图谱 Concept Map
[[Concept-A]] · [[Concept-B]] · ...
## 薄弱环节 Weak Areas
\`\`\`dataview
TABLE confidence, last_reviewed FROM "wiki/concepts"
WHERE contains(courses, "{COURSE-CODE}") AND confidence = "low"
SORT last_reviewed ASC
\`\`\`
## 来源 Sources
\`\`\`dataview
LIST FROM "wiki/sources" WHERE contains(tags, "{course-code}") SORT file.ctime DESC
\`\`\`
连接日志格式 Connection Log Format
追加到 wiki/connections-log.md:
## {YYYY-MM-DD} — {概念名}
**课程A**: {COURSE-A} → [[Concept-Page-A]]
**课程B**: {COURSE-B} → [[Concept-Page-B]]
**连接本质**: 用一句话描述为什么这两个概念有关
**深度**: 表面相似 / 共享数学基础 / 同一思想的不同应用
日志格式 Log Entry Format
追加到 wiki/log.md:
## {YYYY-MM-DD} — ingest: {source-file}
- 创建概念: [[Concept-A]], [[Concept-B]]
- 更新概念: [[Concept-C]]
- 跨课连接: N条(见 connections-log.md)
- 矛盾: N条(见 contradictions.md)
矛盾记录格式 Contradiction Format
追加到 wiki/contradictions.md:
## {YYYY-MM-DD} — {矛盾标题}
**页面A**: [[page-a]] 说 "..."
**页面B**: [[page-b]] 说 "..."
**张力**: 描述矛盾的本质
**状态**: 未解决
**解决方案**: (待填)