mcpField
P
professor-skill

professor-skill

github.com/commithu502craft生产力6457 次安装29 周前更新
代码仓库

关于 professor-skill

这项技能根据真实课程材料构建教授专属的学习资料,将课程内容与教学风格分开提取,并生成结构化文档;对缺乏依据的推断要求标明不确定性。

主要功能

  1. 01提取课程结构和考试线索
  2. 02分别整理教学风格
  3. 03生成 persona、课程和复习文档
  4. 04构建并验证材料工作区
  5. 05标注不确定的推断

适用场景

  1. 01将课程文件整理为复习指南
  2. 02准备侧重考试的学习材料
  3. 03归档教授与课程笔记
  4. 04依据材料生成教师风格的答复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/commithu502craft/professor-skill --skill professor-skill

安装后在 Claude Code 中输入/professor-skill确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CHANGELOG.md
CONTRIBUTING.md
.gitignore
ROADMAP.md
LICENSE
README.md
.github/ISSUE_TEMPLATE/
bug_report.md
docs_or_examples.md
config.yml
feature_request.md
agents/
openai.yaml
professors/example_linear-algebra-liu/
course.md
materials_manifest.md
persona.md
meta.json
review_guide.md
source_brief.md
professors/example_linear-algebra-liu/exports/extracted/
index.json
professors/example_linear-algebra-liu/exports/extracted/chats/
group-qa.txt.txt
professors/example_linear-algebra-liu/exports/extracted/exams/
2025-final-sample.txt.txt
professors/example_linear-algebra-liu/exports/extracted/syllabus/
course-outline.md.txt
professors/example_linear-algebra-liu/exports/extracted/transcripts/
lecture-09.txt.txt
professors/example_linear-algebra-liu/materials/assignments/
.gitkeep
professors/example_linear-algebra-liu/materials/chats/
group-qa.txt
professors/example_linear-algebra-liu/materials/exams/
2025-final-sample.txt
professors/example_linear-algebra-liu/materials/misc/
.gitkeep
professors/example_linear-algebra-liu/materials/notices/
.gitkeep
professors/example_linear-algebra-liu/materials/slides/
.gitkeep
professors/example_linear-algebra-liu/materials/syllabus/
course-outline.md
professors/example_linear-algebra-liu/materials/transcripts/
lecture-09.txt

详细介绍

教授 Skill

当用户想根据真实课程资料构建 大学老师.skill / Professor Skill 时,使用此 Skill。

输出应以实用为先,有趣为辅:

  • 足够实用,能帮助复习、答疑和备考
  • 足够鲜明,让人觉得这就是这位教授
  • 足够有梗,值得截图分享

核心模型

始终将教授拆分为两个引擎:

  1. Course Brain 提取课程的实际结构:

    • 重点主题
    • 反复出现的概念
    • 可能的考试范围
    • 常见题型
    • 评分偏好
    • 常见错误
  2. Teacher Persona 提取教授的表达风格:

    • 口头禅
    • 讲解节奏
    • 耐心程度
    • 回答习惯
    • 课堂幽默或讽刺
    • 强调或淡化不同主题的方式

最终输出应融合两者: Teacher Persona 决定语气。Course Brain 决定内容。

工作流

步骤 1:收集最少必要信息

只询问开始所需的最少信息:

  • 教授姓名
  • 学校或院系(如有)
  • 课程名称
  • 用户有哪些资料
  • 对教授的一句话印象

如果用户已经提供文件或相关背景,就不要重复提问。

如果还没有教授工作区,先初始化:

python ${CLAUDE_SKILL_DIR}/tools/professor_writer.py --name "<teacher>" --course "<course>" --school "<school>" --department "<department>"

这会创建:

  • meta.json
  • persona.md
  • course.md
  • review_guide.md
  • materials/ 源文件夹
  • materials_manifest.md
  • source_brief.md
  • workflow.md
步骤 2:按信号强度整理资料

提取内容前,先对来源排序:

  1. 考试、测验、作业
  2. 讲课转录或课堂笔记
  3. 幻灯片和教学大纲
  4. 群聊、问答记录、办公时间笔记
  5. 教授简介、个人主页、出版物摘要

使用信号较强的来源确定考试和复习内容。 使用信号较弱的来源补充人物风格和身份特征。

将来源文件放入 materials/ 后,务必运行单命令构建流水线:

python ${CLAUDE_SKILL_DIR}/tools/build_professor_outputs.py "<professor-dir>"

此流水线必须:

  • 从 pdf、pptx、docx 和文本文件中提取可解析文本,并保存到 exports/extracted/
  • 更新 materials_manifest.md
  • 更新 source_brief.md
  • 生成 persona.md、course.md 和 review_guide.md
  • 在声明工作区已就绪前验证工作区

优先阅读 materials_manifest.md、source_brief.md 和信号最强的提取文件。

如果运行环境中无法使用 ${CLAUDE_SKILL_DIR},则相对于 Skill 根目录解析工具路径,而不是相对于调用方的工作目录。

步骤 3:构建三个成果文件

始终生成以下三个文件或章节:

  • persona.md
  • course.md
  • review_guide.md

如果用户明确提出需求,也生成:

  • 模拟考试
  • 可能的重点
  • 口头讲解风格的笔记
  • 教师风格的聊天回复

更新已有成果文件时:

  • 保留文件中已有的、有力证据支撑的内容
  • 将 [fill me] 占位符替换为具体内容
  • 对缺乏依据的说法标注为低置信度推断
步骤 3.5:拒绝虚假的确定性

如果 validate_professor.py 提示没有考试、没有讲课转录或没有已索引来源,仍应提供帮助,但必须明确降低置信度,并说明哪些部分属于推断。

步骤 4:谨慎使用幽默

幽默应源自熟悉感,而不是随意开玩笑。

优先采用以下方式:

  • “这题上课讲过”的氛围
  • 模糊却熟悉的教师措辞
  • 带点被动攻击意味的提醒
  • 过长的幻灯片、语焉不详的重点
  • 真实得让人起疑的考试警告

避免:

  • 侮辱教授
  • 捏造不当行为
  • 伪造官方通知
  • 影响实用性的幽默

法律与内容防护规范

  • 默认将导入的材料视为可能包含敏感内容。
  • 不要鼓励用户上传或传播其无权使用的内容。
  • 不要将生成的文本包装成真实教授发布的官方通知、评分规则或声明。
  • 不要捏造私人事实、不当行为指控或学校内部政策。
  • 如果用户似乎未经许可使用私人聊天记录、录音、未公开材料或其他可能受限制的内容,请简短提醒,并且只提供明确合法且尽量少的帮助。
  • 存在不确定性时,优先提供摘要、学习指导和低置信度提示,而不是模仿真实人物,以免被误认为是本人。

输出要求

persona.md

包含:

  • 身份简介
  • 常用语
  • 说话风格
  • 教授如何回答含糊的问题
  • 教授如何回应懒散的学生
  • 如何在不说“这会考”的情况下强调重要性
  • 边界与纠正说明
course.md

包含:

  • 课程概述
  • 章节地图
  • 可能的核心主题
  • 反复出现的概念
  • 已知的考试风格
  • 评分偏好或答题要求
  • 容易混淆的高风险知识点
review_guide.md

这是面向学生的精简版材料。

应当:

  • 优先涵盖可能的考试内容
  • 精简冗余内容
  • 说明哪些需要背诵,哪些需要理解
  • 包含“老师可能会这样问”的示例
  • 包含简短的“考前最后一晚”部分

风格规则

  • 使用用户的语言回复。如果用户使用中文,就继续使用中文。
  • 内容具体。用具体的行为模式替代笼统的赞扬。
  • 不要把猜测说成事实。明确标注依据薄弱的推断。
  • 如果材料有限,要说明这一点,同时仍提供轻量版本。
  • 保持内容条理清晰、易于阅读。让学生能够快速浏览。

网络风格

如果用户希望内容更有传播性或更有“网感”,在确保准确的前提下,可以采用以下角度:

  • “老师说不考”
  • “PPT 讲了很多,重点像没讲”
  • “群里回复比题目更难懂”
  • “你以为是人格模拟,实际上是期末自救”

项目应该让人觉得它是一个包装成易分享笑谈的真实工具,而不是一个套着笑谈外壳的空壳。

随附资源

  • 提示词模板位于 prompts/
  • 材料架构指南位于 references/materials-schema.md
  • GitHub README 定位指南位于 references/github-readme-design.md
  • 本地脚手架和构建脚本位于 tools/
  • 教授示例数据位于 professors/example_linear-algebra-liu/

评论

支持 Markdown