Skip to main content

new-recap

Generates a Recap for an existing course in the Teacher app at ~/.tutor/modules. Reads each section's lesson content and writes a condensed summary and fresh quiz to courses/{courseId}/recap/. The Recap button then appears automatically in the course sidebar. Works for any subject in English or Persian.

インストールへ移動

ソース情報

リポジトリ
shayan-shojaei/open-tutor
ソースの最終更新活動
2026年5月31日 13:04
検出された SKILL.md の言語
英語
スター
31
フォーク
3

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
new-recap
description
Generates a Recap for an existing course in the Teacher app at ~/.tutor/modules. Reads each section's lesson content and writes a condensed summary and fresh quiz to courses/{courseId}/recap/. The Recap button then appears automatically in the course sidebar. Works for any subject in English or Persian.
# /new-recap Skill ## Purpose Generate a Recap for an existing course. Each recap section is a condensed synthesis of the lesson (key concepts, formulas, takeaways) plus a fresh set of quiz questions distinct from the original section quiz. Once written, the Recap button appears automatically in the course sidebar for that course. --- ## Step 1 — Interview Ask each question one at a time. Wait for the user's answer before proceeding. **1a. Pick a course.** Run: `ls ~/.tutor/modules/courses/` Show the list and ask: "Which course should I generate a recap for?" **1b. Confirm language.** Read `~/.tutor/modules/courses/{courseId}/config.json`. Extract `"language"`. Tell the user: "This course is in [English / Persian]. Do you want to keep that language for the recap, or switch?" **1c. Summary depth.** Ask: "How detailed should each section summary be? - **Brief** (~100 words) — key terms and formulas only - **Standard** (~200 words) — key concepts with a sentence of context each - **Detailed** (~300 words) — fuller synthesis with brief examples" --- ## Step 2 — Generate content per section Read the full `config.json` to get the ordered list of chapters and sections. For **each section** in order: 1. Read `~/.tutor/modules/courses/{courseId}/sections/{sectionId}.md` 2. Read `~/.tutor/modules/courses/{courseId}/sections/{sectionId}.quiz.json` (if it exists) — note existing questions to avoid repetition Generate two outputs before moving to the next section: ### Summary (`{sectionId}.md`) - Compact prose — no headings, no bullet lists unless the source uses them for a series of items - Cover the key concepts, definitions, and formulas from the lesson - Do **not** copy sentences verbatim; synthesize and rephrase - Preserve all LaTeX ($...$ and $$...$$) - Preserve all code fences with their language tags - For Persian courses: write prose in Farsi; keep math and code LTR ### Quiz (`{sectionId}.quiz.json`) - 3–5 multiple-choice questions - Must **not** repeat any question from the existing `{sectionId}.quiz.json` — check for overlap in concept and wording - Questions may be more integrative or applied than the original quiz (the user has already studied the material) - Each option should be plausible — avoid obviously wrong distractors - Distribute `correctIndex` across 0, 1, 2, and 3 — do not put the correct answer at the same index for every question Format: ```json [ { "id": "rq1", "type": "multiple-choice", "question": "Question text (LaTeX OK)", "options": ["Option A", "Option B", "Option C", "Option D"], "correctIndex": 2, "explanation": "Why the correct answer is correct." } ] ``` --- ## Step 3 — Write files **Before writing anything:** Check if `~/.tutor/modules/courses/{courseId}/recap/` already exists. If it does, tell the user: "A recap already exists for this course. Overwrite all files? (yes / no)" If the user says no, stop. Create the directory if it does not exist. For each section, write: - `~/.tutor/modules/courses/{courseId}/recap/{sectionId}.md` - `~/.tutor/modules/courses/{courseId}/recap/{sectionId}.quiz.json` Announce each section as you write it: "Writing recap for: {sectionTitle}…" Do **not** modify `config.json` — recap detection is directory-based. **Important:** Do not use the chapter ID `recap` when creating new courses with `/new-course` — it would collide with the recap route. --- ## Step 4 — Confirm Tell the user: - How many sections were covered - "The Recap button now appears in the sidebar when you open this course." - URL: `http://localhost:3000/learn/{courseId}/recap` --- ## Quality Rules 1. **Synthesis over quotation** — rephrase; do not paste from the source lesson. 2. **Fresh questions** — read the existing quiz first; avoid any conceptual overlap. 3. **Persian support** — prose in Farsi, math/code stays LTR. 4. **Shuffle correctIndex** — vary across 0, 1, 2, 3 within each quiz file. 5. **IDs** — use `rq1`, `rq2`, … for recap quiz question IDs to distinguish them from original quiz IDs. 6. **Depth** — honor the user's chosen depth (brief/standard/detailed) consistently across all sections.
GitHubで見る