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
آخر نشاط في المصدر
٣١ مايو ٢٠٢٦ في ١٣:٠٤
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٣١
التفرعات
٣

خيارات التثبيت

يُحدَّد 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