Community研究與資料分析github.com

Shass27/stem-notes

為 STEM 學科生成補充筆記。將講義投影片、教科書章節、掃描的習題、圖片(png/jpg)或 PowerPoint/Word 檔案轉換為 LaTeX 公式/定義表、完整解題過程及摘要筆記。當使用者要求從參考/原始檔案產生筆記、公式表、速記表、解題過程或複習資料時使用。

stem-notes 是什麼?

此技能專為 Claude Code、Cursor 或 Codex 等 AI 代理設計,能將 STEM 領域的原始教材(如 PDF、圖片、PPTX、DOCX)自動轉換為結構化的 LaTeX 學習資料。它支援生成公式表、完整解題過程和摘要筆記,並透過多重選擇題(AskUserQuestion)與使用者互動,讓使用者決定所有輸出選項。技能工作流程包括:清查來源檔案、檢查並安裝必要工具(須經使用者確認)、讀取內容(最多每批次 20 頁)、解題與驗證(必要時使用 Python 腳本核對數值)、根據模板寫入 LaTeX 檔案,並在使用者選擇時編譯為 PDF。它嚴格遵循風格指南,標註每個項目的來源、頁碼與題號,並在答案不一致時向使用者報告差異。此技能特別適合需要從大量教材中快速取得高品質、可編輯的 LaTeX 筆記與解題過程的學生或教師。原始檔案中的 `references/tooling.md`、`references/questions.md`、`references/style-guide.md` 及 `templates/` 中的模板提供完整的配置與格式支援。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Shass27/stem-notes/tree/main

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

STEM 補充筆記(LaTeX)

從任何 STEM 來源材料生成 .tex 格式的學習資料。使用者透過多選題(AskUserQuestion)驅動每個選擇,因此在建構之前請先詢問。

支援檔案(在對應步驟時讀取):

  • references/tooling.md:軟體、安裝指令與大小、轉換指令
  • references/questions.md:MCQ 問題庫(包含輸入回合與編譯問題)
  • references/style-guide.md:版面配置、標籤、解題格式、驗證與不一致規則
  • templates/formula_sheet.tex、templates/solutions.tex、templates/summary_notes.tex:可複製的前言

工作流程

1. 清查來源

  • 列出使用者指向的檔案(資料夾或 @ 路徑)。接受 PDF、PNG/JPG、PPTX/DOCX。
  • 對每個 PDF 執行 pdfinfo(頁數)和 pdftotext -layout 至 session 暫存區,然後計算字數。每頁少於約 50 字表示檔案為掃描或圖片密集型:將每一頁作為影像讀取;文字轉存無用。
  • 投影片組常僅以影像形式儲存方程式和圖形。即使有文字存在,仍應檢視頁面。

2. 檢查工具(先唯讀)

執行 which pdfinfo pdftotext pdftoppm soffice tectonic pdflatex。缺少的必要工具及其大小(參見 references/tooling.md)會放入第一個 MCQ 回合。沒有 MCQ 答案絕不安裝。 僅在 Office 檔案存在時才需要 LibreOffice。如果使用者以問題回答問題(例如「需要多少儲存空間?」),請回答該問題後重新提問。

3. 輸入 MCQ

依 references/questions.md 中的回合提問,每次 AskUserQuestion 呼叫最多 4 題。將建議選項放在前面並標記「(建議)」。僅針對使用者選擇的輸出項目詢問對應的問題群組。編譯問題永遠是最後一題。 按字面解讀答案:自由文字答案會覆蓋選項。

4. 讀取所有內容

  • PDF:使用 Read 工具並指定 pages(每次呼叫最多 20 頁,因此較大範圍需分割),並一次平行批次發出所有檔案的所有頁面範圍讀取。Read 工具需要 poppler 的 pdftoppm。
  • 圖片:直接讀取。
  • PPTX/DOCX:在暫存區轉換為 PDF(soffice --headless --convert-to pdf --outdir <scratchpad> file),然後以 PDF 方式讀取。
  • 對每個問題或範例記錄:來源檔案、投影片/頁碼、題號、來源是否已解決該問題(完全或部分)以及任何列印的答案。

5. 解題與驗證

  • 處理範圍內的所有問題。對於非平凡問題(曲線擬合、積分、力矩平衡、多步驟數值計算),在暫存區使用簡短 python3 腳本檢查數值。
  • 與列印答案比對。若不一致,重新檢查後在文件中向使用者報告差異。 絕不為了符合列印答案而扭曲解題過程。
  • 在腳註或「為何在此」備註中標記來源筆誤(錯誤符號、錯誤項、不一致資料)。

6. 撰寫 .tex 檔案

  • 從 templates/ 中的對應模板開始:保留其前言,並取代 %% TODO 佔位符。
  • 遵循 references/style-guide.md:為每個項目標記來源 · 投影片/頁碼 · 題號,加入覆蓋範圍表,完整重述每個問題,並將答案框起來。
  • 僅使用 ASCII 來源。註解僅使用單行 % 註解,絕不使用多行橫幅註解。
  • 預設輸出資料夾為來源旁的 latex/,除非使用者另有選擇。

7. 僅在使用者選擇時編譯

  • tectonic:tectonic -X compile file.tex。MacTeX:latexmk -pdf file.tex。修正錯誤後重新編譯,直到乾淨無誤。
  • 如果使用者說停止,立即停止任務(TaskStop),不再重試。

8. 報告

簡要列出:寫入的檔案、每個檔案的涵蓋範圍、跳過的問題(來源已解決)、發現的差異以及編譯狀態。如果未編譯,請明確說明。

相關技能