/wiki-ingest
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,
$ npx -y skills add IssacW228/student-llm-wiki --skill wiki-ingest --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/wiki-ingest
Context preview
The summary Claude sees to decide when to auto-load this skill.
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,
SKILL.md
wiki-ingest.SKILL.mdname: 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
1. **去重检查**: 计算文件 `md5sum {file} | cut -d' ' -f1`。查 `raw/.manifest.json`,hash相同则跳过,报告"已处理,用force重新消化" 2. **读上下文**: 读 `wiki/hot.md`(不是完整SCHEMA) 3. **定位已有页**: 读 `wiki/index.md` 找相关概念页 4. **读源文件**,提炼3-5个关键要点 5. **与用户讨论确认**(不跳过这步) 6. **创建来源页** `wiki/sources/{name}.md` 6.5. **创建/更新课程总览页** `wiki/courses/{COURSE}-overview.md`:
- 不存在则新建(用下方"课程总览页格式")
- 已有则在"概念图谱"章节追加本次新概念的 `[[链接]]`
7. **创建/更新概念页**(最多3-5页,不贪多):
- 新概念 → 新建 `wiki/concepts/{Name}.md`,confidence默认 low,**设置 `created_at` 为今天日期**
- 已有概念 → 局部编辑,补充内容,更新 `last_reviewed` 日期(不改 `created_at`)
8. **图表处理**: 若源含重要图表,文字描述其内容;若该概念涉及流程/架构/时序/分类等适合可视化的内容,按 wiki-diagram skill 判断标准用 Mermaid 配图 9. **跨课程连接**: 检查新概念是否在其他课程出现过。若是:
- 在两个概念页都加 `[[链接]]`
- 在 `wiki/connections-log.md` 追加一条记录(用下方"连接日志格式")
10. **矛盾检测**: 若新内容与已有页面冲突:
- 在概念页用 `> [!contradiction]` callout 标注
- 在 `wiki/contradictions.md` 追加一条记录(用下方"矛盾记录格式")
11. **最后一次性更新**: `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]] 说 "..."
**张力**: 描述矛盾的本质
**状态**: 未解决
**解决方案**: (待填)Read more
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
1. **去重检查**: 计算文件 `md5sum {file} | cut -d' ' -f1`。查 `raw/.manifest.json`,hash相同则跳过,报告"已处理,用force重新消化" 2. **读上下文**: 读 `wiki/hot.md`(不是完整SCHEMA) 3. **定位已有页**: 读 `wiki/index.md` 找相关概念页 4. **读源文件**,提炼3-5个关键要点 5. **与用户讨论确认**(不跳过这步) 6. **创建来源页** `wiki/sources/{name}.md` 6.5. **创建/更新课程总览页** `wiki/courses/{COURSE}-overview.md`:
- 不存在则新建(用下方"课程总览页格式")
- 已有则在"概念图谱"章节追加本次新概念的 `[[链接]]`
7. **创建/更新概念页**(最多3-5页,不贪多):
- 新概念 → 新建 `wiki/concepts/{Name}.md`,confidence默认 low,**设置 `created_at` 为今天日期**
- 已有概念 → 局部编辑,补充内容,更新 `last_reviewed` 日期(不改 `created_at`)
8. **图表处理**: 若源含重要图表,文字描述其内容;若该概念涉及流程/架构/时序/分类等适合可视化的内容,按 wiki-diagram skill 判断标准用 Mermaid 配图 9. **跨课程连接**: 检查新概念是否在其他课程出现过。若是:
- 在两个概念页都加 `[[链接]]`
- 在 `wiki/connections-log.md` 追加一条记录(用下方"连接日志格式")
10. **矛盾检测**: 若新内容与已有页面冲突:
- 在概念页用 `> [!contradiction]` callout 标注
- 在 `wiki/contradictions.md` 追加一条记录(用下方"矛盾记录格式")
11. **最后一次性更新**: `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]] 说 "..."
**张力**: 描述矛盾的本质
**状态**: 未解决
**解决方案**: (待填)用 AI 把课件变成你自己的知识库 Turn your course slides into a personal wiki with AI
Other skills on student-llm-wiki.
- /exam-prep
Generate practice exam questions from weak concepts. This skill should be used when the user says "exam-prep", "备考", "make practice questions", "generate a quiz", or is preparing for an exam in a specific course. Scans concept pages, prioritizes low-confidence ones, and writes a
Open skill - /wiki-core
Core operating rules for the student knowledge wiki. This skill should be used whenever working inside an Obsidian vault that contains a wiki/ folder with hot.md, or when the user mentions ingest, lint, review, exam-prep, or asks to build/maintain their course knowledge base.
Open skill - /wiki-diagram
Add Mermaid diagrams to wiki pages to aid understanding. This skill should be used during ingest/review when a concept involves a process, architecture, sequence, hierarchy, or comparison that is easier to grasp visually, or when the user explicitly asks to
Open skill - /wiki-lint
Health-check the wiki and apply confidence decay. This skill should be used when the user says "lint", "检查wiki", "check the wiki", or wants to find orphan pages, broken links, contradictions, or stale concepts. Runs the 30-day confidence decay rule and reports issues for the
Open skill - /wiki-review
Feynman-technique review mode for studying. This skill should be used when the user says "review", "复习", "quiz me", "test my understanding", or names a course/concept they want to study. Quizzes the user, adjusts confidence based on answers, and generates practice questions for
Open skill - /exam-prep
Generate practice exam questions from weak concepts. This skill should be used when the user says "exam-prep", "备考", "make practice questions", "generate a quiz", or is preparing for an exam in a specific course. Scans concept pages, prioritizes low-confidence ones, and writes a
Open skill

