Sandbox
@WALKERKILLER/Look-Tongji-Notes

Tongji Look lecture notes skills for agent tools

This repo packages a set of agent skills and a Python CLI for working with Tongji Look lectures. It handles course listing, transcript creation, slide snapshots, timeline outlines, study notes, and course wiki generation.

41 stars4 forksPythonUpdated 3mo ago
Who it's for

Builders who want their agent to turn Tongji Look lectures into transcripts, notes, and a course wiki.

What it delivers

You can go from a lecture link to transcript, slides, and structured study notes without doing the transcription workflow by hand.

What it does

Course setup

Checks credentials and dependencies, then sets up the workspace with `/setup`.

Course listing and search

Lists recent courses or searches the full course catalog with `/list`.

Lecture transcription

Creates `SRT` and `TXT` transcript files for one lecture with `/trans`.

Slide snapshot download

Downloads lecture slide images with timestamps, optionally in parallel with transcription.

Timeline outline generation

Writes a Simplified Chinese timeline outline from the transcript as `*_timeline.txt`.

Study note generation

Combines transcript text and slide images to produce Markdown study notes with `/note`.

Supplementary material import

Imports PDF, PPTX, or DOCX files into a lecture session with `/add`.

Course wiki build and publish

Builds a static course knowledge base and can publish it to GitHub Pages with `/wiki` and `/page`.

How to get it

  1. 1If your agent supports the skills protocol
    npx skills install https://github.com/walkerkiller/look-tongji-notes
  2. 2In Claude Code
    /plugin marketplace add https://github.com/walkerkiller/look-tongji-notes
    /plugin install look-tongji-notes
  3. 3Setup credentials (recommended)
    python "<SKILL_DIR>/../../scripts/look_tongji.py" setup
  4. 4List recent courses
    python "<SKILL_DIR>/../../scripts/look_tongji.py" list
  5. 5Search courses by name (recommended for accuracy, calls get_all_courses internally)
    python "<SKILL_DIR>/../../scripts/look_tongji.py" list --all --query "<COURSE_NAME_KEYWORD>"
  6. 6Transcript only (transcribe, aliases transcript / trans)
    python "<SKILL_DIR>/../../scripts/look_tongji.py" transcribe --lecture-url "<LECTURE_URL>"

README

English | 中文

MIT License Version 1.1.1

This is an agent skill suite (9 atomic /command skills) + CLI for Tongji Look (look.tongji.edu.cn):

  • login via Tongji IAM SSO (Playwright),
  • list courses (recent list or full search),
  • transcribe a lecture to SRT + TXT,
  • generate a lecture timeline outline (*_timeline.txt) from SRT (agent-generated, Simplified Chinese),
  • download lecture slide snapshots (filename includes snapshot time),
  • then let the current agent write a Markdown study note from transcript + slide images.

Commands

CommandDescription
/setupConfigure credentials, check dependencies (Python, Node.js, ffmpeg, vision-support, TeX), set workspace
/listList courses, search by keyword, interactive selection
/transTranscribe one lecture to SRT + TXT; optionally download slides in parallel
/noteGenerate study notes + timeline outline from transcript + slides
/addImport supplementary materials (PDF, PPTX, DOCX) into a lecture session
/wikiBuild and locally serve the static course knowledge base
/pageDeploy the built course wiki to GitHub Pages via gh CLI
/cheatsheetGenerate A4 cheat sheet (LaTeX or HTML) from course notes
/ralphtransBatch transcribe all lectures in a course with checkpoint/resume

Install

Recommended: npx skills

If your agent supports the skills protocol:

npx skills install https://github.com/walkerkiller/look-tongji-notes

Claude Code Marketplace

In Claude Code:

/plugin marketplace add https://github.com/walkerkiller/look-tongji-notes
/plugin install look-tongji-notes

Other Platforms

PlatformHow
Claude CodeMarketplace (above) or point plugin root to this repo
Codex CLI.codex-plugin/plugin.json./skills/
Cursor.cursor-plugin/plugin.json./skills/
Gemini CLI / OpenClaw / OpenCode / Hermes Agentplugin.json./skills/

Usage (CLI)

<SKILL_DIR> is the folder that contains SKILL.md.

Setup credentials (recommended):

python "<SKILL_DIR>/../../scripts/look_tongji.py" setup

List recent courses:

python "<SKILL_DIR>/../../scripts/look_tongji.py" list

Search courses by name (recommended for accuracy, calls get_all_courses internally):

python "<SKILL_DIR>/../../scripts/look_tongji.py" list --all --query "<COURSE_NAME_KEYWORD>"

Transcript only (transcribe, aliases transcript / trans):

python "<SKILL_DIR>/../../scripts/look_tongji.py" transcribe --lecture-url "<LECTURE_URL>"

Combined mode (note, runs transcript + slide in parallel by default):

python "<SKILL_DIR>/../../scripts/look_tongji.py" note --lecture-url "<LECTURE_URL>"

Note style (affects how the generated note is formatted):

python "<SKILL_DIR>/../../scripts/look_tongji.py" note --lecture-url "<LECTURE_URL>" --note-style dialogue

Supports standard (lecture notes, default) and dialogue (Q&A format).

[!TIP] The CLI detects lectures shorter than 1 hour and prints a non-blocking warning: [Warning] 课时不足1小时 — suggesting a retry, as very short lectures may indicate an incomplete recording or playback error.

Download slide snapshots for a lecture:

python "<SKILL_DIR>/../../scripts/look_tongji.py" slide --lecture-url "<LECTURE_URL>"

If throttling is suspected, reduce concurrency:

python "<SKILL_DIR>/../../scripts/look_tongji.py" slide --course-id "<COURSE_ID>" --sub-id "<SUB_ID>" --concurrency 2 --retries 5

In the /note workflow, the agent generates a timeline outline after the SRT subtitle file is produced:

  • File: ./tongji-output/<course_id>_<sub_id>_timeline.txt
  • One line per segment (Simplified Chinese), format: Start-Over:Stage Main Content
    • Example: 00:00-05:30:Course Orientation and Assessment Description
  • Skip only if the user explicitly says: no outline / no timeline.

Artifacts are written to the configured course-wiki workspace by default.

Agent Note

When a user says /setup / /list / /trans / /note / /wiki / /add / /page / /cheatsheet / /ralphtrans, follow the corresponding skills/<name>/SKILL.md and run the matching CLI commands in scripts/look_tongji.py. For /note, default to running transcript + slide download in parallel; only skip slide download when the user explicitly asks not to download slides/PPT. When writing notes, use both transcript output and slide images by default. If the user provides a course name, prefer list --all --query ... to avoid missing courses that are not in the recent list.

After notes are generated or updated, rebuild and preview the site with:

python "<SKILL_DIR>/../../scripts/look_tongji.py" index
python "<SKILL_DIR>/../../scripts/look_tongji.py" build
python "<SKILL_DIR>/../../scripts/look_tongji.py" serve --port 8765

The generated workspace can also become the user's own GitHub Pages repository. It includes:

  • llmwiki/
  • index.py
  • build.sh
  • serve.sh
  • .github/workflows/wiki-checks.yml
  • .github/workflows/pages.yml

Notice / Compliance

[!CAUTION] It is strongly recommended to set your Tongji account/password via the CLI (setup) before asking the agent to generate notes. Do not paste passwords into chat.

[!NOTE]

  • Inspiration and parts of the code are from: Fudan_iCourse_Subscriber
  • This project is intended for personal learning and review only, and for technical communication. It does not save full video files by default.
  • Users must comply with the relevant platform rules and school policies. Any misuse (including re-distribution of copyrighted course videos/audios) is the user's responsibility.
  • When logging in outside the campus network (or without Tongji VPN), enhanced authentication may be triggered. Keep this in mind if you run the agent remotely.

ToDo

  • Generate course knowledge base static site skeleton (courses, sessions, video, timeline, i18n controls).

  • Support login flows with enhanced authentication.

  • Add course-level LLM wiki + notes database foundation.

  • Build a standalone TUI/GUI tool for manual transcription/notes/Q&A.

Best practices

  • Generate subtitles + notes for the latest lecture:

    • /note help me generate subtitles and notes for the latest lecture
  • Generate subtitles + notes for a named course:

    • /note help me generate subtitles and notes for today's Advanced Mathematics lecture
  • List recent courses and let the user choose:

    • /trans list recent courses and let me choose one to process
  • If the agent cannot find the course:

    Use list --all --query "<keyword>" to search the full course list, or open the platform and copy the lecture URL.

    example_link

    then say: /trans here is the link,generate note

Contributing

Coming soon.

Files in the repo

Repository payload26 top-level entries
  • .agents
  • .claude-plugin
  • .codex-plugin
  • .cursor-plugin
  • .gemini-plugin
  • .github
  • .hermes-agent-plugin
  • .openclaw-plugin
  • .opencode-plugin
  • agents
  • CheatingSheetTemplate
  • images
  • llmwiki
  • references
  • scripts
  • skills
  • vision-support
  • .gitignore
  • .orphaned_at
  • AGENTS.md
  • CHANGELOG.md
  • LICENSE
  • README_ZH.md
  • README.md
  • requirements.txt
  • SKILL.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More skills

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.

117k
1 add
Vincentwei1021/
anything2explainer

Topic in, narrated explainer video out. A Claude Code / Codex skill that turns any topic into a black-canvas motion-graphics explainer video with TTS voiceover, subtitles and a chapter progress bar. Chinese or English; every frame drawn in code with Remotion.

666

Open-source AI job search: scan job portals, evaluate listings into a structured A-H report with a global 1-5 score, tailor your CV, track applications — runs locally in your AI coding CLI (Claude Code, Codex, OpenCode, Antigravity…)

71k

Agent skill for beautiful, verifiable architecture, workflow, sequence, data-flow, and lifecycle diagrams—self-contained HTML with motion and crisp export.

57k
ayghri/
i-have-adhd

A skill to stop your coding agent from burying the answer. ADHD-friendly output.

38k