About professor-skill
A skill for building a professor-specific study resource from real course materials. It separates course content from teaching persona and generates structured study artifacts, while requiring uncertainty to be labeled rather than presented as fact.
Key features
- 01Extract course structure and exam signals
- 02Model teaching style separately
- 03Generate persona, course, and review files
- 04Build and validate material workspace
- 05Flag uncertain inferences
Use cases
- 01Turn course files into a review guide
- 02Prepare exam-focused study materials
- 03Organize professor and course notes
- 04Create teaching-style replies from evidence
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ commithu502craft/ professor-skill --skill professor-skillAfter installing, type/professor-skillin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
CHANGELOG.mdCONTRIBUTING.md.gitignoreROADMAP.mdLICENSEREADME.md.github/ISSUE_TEMPLATE/bug_report.mddocs_or_examples.mdconfig.ymlfeature_request.mdagents/openai.yamlprofessors/example_linear-algebra-liu/course.mdmaterials_manifest.mdpersona.mdmeta.jsonreview_guide.mdsource_brief.mdprofessors/example_linear-algebra-liu/exports/extracted/index.jsonprofessors/example_linear-algebra-liu/exports/extracted/chats/group-qa.txt.txtprofessors/example_linear-algebra-liu/exports/extracted/exams/2025-final-sample.txt.txtprofessors/example_linear-algebra-liu/exports/extracted/syllabus/course-outline.md.txtprofessors/example_linear-algebra-liu/exports/extracted/transcripts/lecture-09.txt.txtprofessors/example_linear-algebra-liu/materials/assignments/.gitkeepprofessors/example_linear-algebra-liu/materials/chats/group-qa.txtprofessors/example_linear-algebra-liu/materials/exams/2025-final-sample.txtprofessors/example_linear-algebra-liu/materials/misc/.gitkeepprofessors/example_linear-algebra-liu/materials/notices/.gitkeepprofessors/example_linear-algebra-liu/materials/slides/.gitkeepprofessors/example_linear-algebra-liu/materials/syllabus/course-outline.mdprofessors/example_linear-algebra-liu/materials/transcripts/lecture-09.txtDetails
From the project READMEProfessor Skill
Use this skill when the user wants to build a 大学老师.skill / Professor Skill from real course materials.
The output must stay useful first and funny second:
- Useful enough to help with review, Q&A, and exam prep
- Distinct enough to feel like this specific professor
- Meme-friendly enough that the result is screenshot-worthy
Core Model
Always separate the professor into two engines:
-
Course BrainExtract the actual course structure:- key topics
- repeated concepts
- likely exam scope
- common question types
- grading preferences
- typical mistakes
-
Teacher PersonaExtract the professor's delivery style:- catchphrases
- explanation rhythm
- patience level
- response habits
- classroom humor or sarcasm
- how they emphasize or downplay topics
The final output should merge both:
Teacher Persona decides tone. Course Brain decides substance.
Workflow
Step 1: Collect minimum intake
Ask only for the smallest set of details needed to start:
- professor name
- school or department if available
- course name
- what materials the user has
- one-line impression of the professor
If the user already provided files or context, do not repeat questions.
If there is no professor workspace yet, initialize one first:
python ${CLAUDE_SKILL_DIR}/tools/professor_writer.py --name "<teacher>" --course "<course>" --school "<school>" --department "<department>"
This creates:
meta.jsonpersona.mdcourse.mdreview_guide.mdmaterials/source foldersmaterials_manifest.mdsource_brief.mdworkflow.md
Step 2: Sort material by signal strength
Rank sources before extracting:
- exams, quizzes, assignments
- lecture transcripts or lecture notes
- slides and syllabus
- group chats, Q&A logs, office-hour notes
- professor bio, homepage, publication summaries
Use higher-signal sources to determine exam and review content. Use lower-signal sources to sharpen persona and identity.
When source files have been placed into materials/, always run the single-command build pipeline:
python ${CLAUDE_SKILL_DIR}/tools/build_professor_outputs.py "<professor-dir>"
This pipeline must:
- extract parseable text from
pdf,pptx,docx, and text files intoexports/extracted/ - refresh
materials_manifest.md - refresh
source_brief.md - generate
persona.md,course.md, andreview_guide.md - validate the workspace before claiming it is ready
Read materials_manifest.md, source_brief.md, and the highest-signal extracted files first.
If ${CLAUDE_SKILL_DIR} is unavailable in the runtime, resolve tool paths relative to the skill root directory rather than the caller's working directory.
Step 3: Build three artifacts
Always generate these three files or sections:
persona.mdcourse.mdreview_guide.md
If the user explicitly wants it, also generate:
- mock exam
- likely key points
- oral-style explanation notes
- teacher-style chat replies
When updating existing artifacts:
- preserve strong evidence already reflected in the files
- replace
[fill me]placeholders with concrete content - keep unsupported claims marked as low-confidence inference
Step 3.5: Refuse fake confidence
If validate_professor.py warns that there are no exams, no transcripts, or no indexed sources, you should still help, but explicitly lower confidence and explain which parts are inferred.
Step 4: Keep the humor disciplined
Humor should come from recognition, not random jokes.
Prefer these patterns:
- "这题上课讲过" energy
- vague but familiar teacher phrasing
- passive-aggressive reminders
- overlong slides, underspecified key points
- exam warnings that feel suspiciously real
Avoid:
- insulting the professor
- fabricated misconduct
- fake official notices
- humor that reduces usefulness
Legal And Content Guardrails
- Treat imported materials as potentially sensitive by default.
- Do not encourage users to upload or redistribute content they do not have the right to use.
- Do not present generated text as an official notice, grading rule, or statement from the real professor.
- Do not fabricate private facts, misconduct claims, or internal school policies.
- If the user appears to be using private chats, recordings, unpublished materials, or other potentially restricted content without permission, warn briefly and continue only with clearly lawful, minimal assistance.
- When uncertainty exists, prefer summarization, study guidance, and low-confidence caveats over imitation that could be mistaken for the real person.
Output Requirements
persona.md
Include:
- identity summary
- catchphrases
- speaking style
- how the professor answers vague questions
- how they react to lazy students
- how they signal importance without saying "this will be on the exam"
- boundaries and correction notes
course.md
Include:
- course overview
- chapter map
- likely core topics
- recurring concepts
- known exam styles
- grading preferences or answer expectations
- high-risk confusion points
review_guide.md
This is the student-facing compressed artifact.
It should:
- prioritize likely exam content
- reduce fluff
- explain what to memorize versus what to understand
- include "teacher may ask this way" examples
- include a short "last-night-before-exam" section
Style Rules
- Respond in the user's language. If the user is writing in Chinese, stay in Chinese.
- Be concrete. Replace generic praise with specific behavioral patterns.
- Do not present guesses as facts. Mark weak inferences clearly.
- If the material is thin, say so and still produce a lightweight version.
- Keep outputs organized and readable. Students should be able to skim them fast.
Internet Flavor
If the user wants stronger virality or "网感", lean into these angles while staying accurate:
- "老师说不考"
- "PPT 讲了很多,重点像没讲"
- "群里回复比题目更难懂"
- "你以为是人格模拟,实际上是期末自救"
The project should feel like a real tool wrapped in a shareable joke, not a joke wrapped around an empty shell.
Bundled Resources
- Prompt templates live in
prompts/ - Material schema guidance lives in
references/materials-schema.md - GitHub README positioning guidance lives in
references/github-readme-design.md - Local scaffolding/build scripts live in
tools/ - Example professor data lives in
professors/example_linear-algebra-liu/