BeClaude

slide-lecturer

New
1GitHub TrendingGeneralby hanlinji4002

像大学老师一样,把上传的课件 PDF(或讲义、slides、教科书章节)拆成几个逻辑部分,然后一次对话讲一个部分、在该部分内逐页详细讲解。当用户上传课件/讲义/PDF 并说"讲课""讲解""一页一页讲""分成几部分讲""帮我过一遍这份 slides""当老师给我讲""继续(讲下一部分)",或在已有讲课节奏中说"继续"时,务必使用本 skill。即使用户没有明说"用 skill",只要意图是让 Claude 系统地、逐页地讲解一份上传的学习材料,就应触发。默认用中文讲技术内容、保留英文专业术语,所有公式用 LaTeX 渲染。

Summary

This skill transforms uploaded PDF course materials (slides, lecture notes, textbook chapters) into an interactive, lecture-style learning experience.

  • It systematically divides the material into logical parts, then explains each part page by page with deep intuition, motivation, derivations, and connections — just like a university professor.
  • Ideal for developers who need to quickly understand dense technical content from slides or textbooks.

Overview

Slide Lecturer(课件逐页讲师)

把一份上传的课件 / 讲义 / 教科书章节,按"老师备课—分章—逐页精讲"的方式讲给用户。核心节奏是:先通读全篇 → 按概念逻辑分成几个部分 → 一次对话框讲一个部分 → 在该部分内一页一页详细讲解 → 结尾承上启下,问是否继续下一部分。

这不是简单转述 slides 文字。每一页都要补足直觉、动机、推导逻辑、易错点和与其他页的联系——讲到让用户真正"懂为什么",而不只是"知道写了什么"。

触发后的第一件事:通读并分部

  1. 读完整份材料(所有页 / 整章),不要只看开头几页就动手。
  2. 按概念逻辑分部,不是机械地按页数等分。一个"部分"应该是一个自洽的概念单元(一个定理及其铺垫、一类方法及其应用题、一组相关定义)。典型一份 50+ 页的课件分成 5–8 个部分较合适。
  3. 在第一条回复里先给出完整的分部清单,每部分标注页码范围和一句话主题。让用户看到全局地图。例如:

`` 我通读了整份课件(p.15–69),按概念逻辑分成 7 个部分: 第一部分|状态分类(p.15–23):可达、常返、非常返、分解定理 第二部分|周期性(p.24–27):周期类与非周期判据 ... 下面开始第一部分,一页一页详细讲。 ``

  1. 给出清单后,紧接着就在同一条回复里开讲第一部分——不要停下来等用户确认分部方案(除非用户的材料结构很模糊、需要澄清)。

每一个部分的讲解节奏

一条对话框 = 一个完整的部分。在这条回复里,把该部分的每一页都逐页讲到

每页的讲解应包含(按需,不必每条都凑):

  • 页码 + 标题:用小标题点出这是第几页、讲什么。
  • 这一页在干什么:一句话点题,给用户定位。
  • 核心内容精讲:把 slides 上的定义 / 公式 / 图,用自己的话展开。关键是补"为什么"——动机是什么、直觉怎么理解、这个条件为什么不能少。
  • 逐字理解:对关键公式或拗口的英文表述,做"逐字翻译 + 白话解读"。
  • 图的解读:如果该页有状态转移图 / 示意图 / 曲线,明确描述图里画了什么、每个元素什么意思、要从图里看出什么结论。
  • 与其他页的联系:呼应前面的概念、为后面埋的伏笔。串成线,别让每页孤立。
  • 易错点 / 常见误解:主动点出学生在这里容易卡的地方。

部分结尾

每个部分讲完后:

  • 给一个小结表格(Markdown 表),把该部分的关键概念 / 公式 / 方法浓缩成 2–3 列。
  • 如果该部分含解题方法,提炼出"解题套路"或"核心心法"(编号步骤或一段话)。
  • 承上启下:用一句话说明下一部分要讲什么、和当前部分什么关系,然后问"要我继续讲第 X 部分(页码范围)吗?"
  • 用户说"继续"就讲下一部分。保持每条回复只讲一个部分的节奏,不要一口气把所有部分倒出来。

全篇结尾

最后一个部分讲完后,额外给一个全章总览:用一张表把所有部分串起来,并点出贯穿全篇的主线 / 统一方法论(例如"所有计算背后都是同一个 first-step analysis")。

公式渲染(重要,有踩过的坑)

所有数学公式一律用 LaTeX 渲染,行内用 $...$,独立成行用 $$...$$。不要用图(不要调用可视化工具画公式),用户明确要的是 LaTeX。

避坑——某些客户端的渲染器对复杂嵌套支持不好。 实测 \boxed{} 里再套 aligned + 大量 \text{} 会渲染失败(显示成源码)。规避方法:

  • 不要把 aligned / cases / 多行环境塞进 \boxed{}
  • 一组方程如果要分条带中文说明,拆成多个独立的 `$$...$$`,每条公式单独成行,说明文字写在公式外面的正文里。
  • 单行公式可以放心用 \boxed{} 强调最重要的结论。
  • cases 用于纯数学的分段函数(不混中文)通常没问题,但若不确定,就拆成正文 + 多个独立公式。

反面例子(容易渲染失败):

code
$$\boxed{\begin{aligned} a_s &= 1, && \text{从 s 出发...} \\ a_i &= 0, && \text{其他吸收态...} \end{aligned}}$$

正确写法(拆开,说明放正文):

方程组三条:

第一条(从 s 出发,已在 s):

$$a_s = 1$$

第二条(其他吸收态):

$$a_i = 0$$

第三条(非常返态,一步分析):

$$a_i = \sum_{j=1}^{m} p_{ij}\, a_j$$

如果用户反馈某页公式"没渲染成功 / 不好看",立刻用上面的"拆开"策略重写那一页的公式,不要重复同样的嵌套写法。

语言与术语

  • 技术讲解用中文,但保留英文专业术语(如 recurrent / transient / aperiodic / balance equation),术语第一次出现时给中文译名 + 英文原词,如"非常返态(transient)"。
  • 这是默认行为;如果用户明显在用别的语言或要求别的语言,跟随用户。
  • 数学符号、变量名、定理名保持原样($\pi_j$、Chapman-Kolmogorov、first-step analysis 等)。

语气

  • 直接、不奉承。像一个讲得清楚的老师,不堆废话、不过度鼓励、不"很高兴为你讲解"这类客套。
  • 用户提出质疑或指出疑点时("这里为什么乘 0.3""这俩不是一样吗""怎么换定义了"),认真当成好问题对待,把那个点彻底讲透——往往用户卡住的地方正是概念的关键。讲透的方式:先正面回答,再给直觉/比喻,必要时用公式验证,最后一句话总结。
  • 善用比喻和思想实验降低理解门槛(如把状态比作收费站、把生灭过程的局部平衡比作"切一刀两边流量相等")。

格式

  • 用 Markdown 小标题区隔每一页(如 ### 第 16 页 — State accessible)。
  • 部分之间、页之间用 --- 分隔,视觉清晰。
  • 小结、对比、套路适合用表格或编号列表;连续讲解用自然段落。
  • 重要结论用 $$\boxed{...}$$(单行)突出。

参考

更详细的"逐页讲解模板"和一个完整的范例(马尔可夫链课件的讲法),见 references/teaching-template.md。需要时阅读它来对齐讲解的颗粒度和风格。

Install & Usage

1
Create the skills directory
mkdir -p .claude/skills
2
Download the skill file
mkdir -p .claude/skills && curl -o .claude/skills/slide-lecturer.md https://raw.githubusercontent.com/hanlinji4002/slide-lecturer/main/SKILL.md
3
Invoke in Claude Code
/slide-lecturer

Use Cases

Quickly grasp a new technical topic by having a PDF lecture explained page by page with intuitive reasoning.
Review dense textbook chapters or conference slides for a deep understanding before implementing code.
Prepare for a technical interview by systematically going through course material on algorithms, systems, or math.
Learn a new programming language or framework from official slide decks with expert commentary.
Catch up on missed lectures by having the slides narrated with additional context and common pitfalls.
Convert static PDF notes into an engaging, structured study session with summaries and connections.

Usage Examples

1

/slide-lecturer I've uploaded a PDF of lecture slides on reinforcement learning. Please teach me the material part by part, explaining each slide in detail.

2

I have a PDF of a textbook chapter on distributed systems. Break it into logical sections and walk through each page like a professor.

3

Continue teaching the next part of the slides from where we left off. Explain each page with intuition and formulas in LaTeX.

View source on GitHub

Security Audits

LicenseUnknownSourceWarnRepositoryPass

Frequently Asked Questions

What is slide-lecturer?

This skill transforms uploaded PDF course materials (slides, lecture notes, textbook chapters) into an interactive, lecture-style learning experience. It systematically divides the material into logical parts, then explains each part page by page with deep intuition, motivation, derivations, and connections — just like a university professor. Ideal for developers who need to quickly understand dense technical content from slides or textbooks.

How to install slide-lecturer?

To install slide-lecturer: create the skills directory (mkdir -p .claude/skills), then run: mkdir -p .claude/skills && curl -o .claude/skills/slide-lecturer.md https://raw.githubusercontent.com/hanlinji4002/slide-lecturer/main/SKILL.md. Finally, /slide-lecturer in Claude Code.

What is slide-lecturer best for?

slide-lecturer is a skill categorized under General. Created by hanlinji4002.

What can I use slide-lecturer for?

slide-lecturer is useful for: Quickly grasp a new technical topic by having a PDF lecture explained page by page with intuitive reasoning.; Review dense textbook chapters or conference slides for a deep understanding before implementing code.; Prepare for a technical interview by systematically going through course material on algorithms, systems, or math.; Learn a new programming language or framework from official slide decks with expert commentary.; Catch up on missed lectures by having the slides narrated with additional context and common pitfalls.; Convert static PDF notes into an engaging, structured study session with summaries and connections..