Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .claude/commands/learn.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,8 @@ Create `~/skill-tutor-tutorials/learner_profile.md` with their answers.
| Command | Action |
|---------|--------|
| continue | Move to next section |
| quiz me | Read `.claude/commands/learn/quiz.md` |
| quiz me | Read `.claude/commands/learn/quiz.md` (covered sections) |
| quiz me full | Read `.claude/commands/learn/quiz.md` (whole lesson, 8 Qs) |
| explain again | Re-explain from a different angle |
| summary | Bullet-point of everything covered |
| exercises | Show lesson exercises |
Expand Down
32 changes: 29 additions & 3 deletions .claude/commands/learn/quiz.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,42 @@ Respond in `session.language` throughout.

---

## Quiz Modes

| Trigger | Scope | Questions |
|---------|-------|-----------|
| `quiz me` | only the sections covered in this session | 4 multiple-choice + 1 free-text |
| `quiz me full` / `quiz full` | the **entire** lesson script (load `{lesson_number}_script.txt`, split by `[מעבר שקף]`, use all sections — do not assume a fixed count) | 8 multiple-choice + 1 free-text |

Before building questions, read the **Quiz History** in `~/skill-tutor-tutorials/tutorials/lesson-{lesson_number}.md`. If the learner has quizzed this lesson before, **vary the questions** — different angles, different distractors, and bias toward previously-recorded weak points. Keep all questions factually correct and on the lesson's material.

---

## Quiz Format

Ask 4 questions — **one at a time**, wait for each answer:
**Step 1 — Multiple-choice (batched in one `AskUserQuestion` call).**

Build the multiple-choice questions (4 for normal, 8 for full → two `AskUserQuestion` calls of 4) covering these types:

1. **Factual** — what / how
2. **Why it matters** — consequences and motivation
3. **Scenario** — "If X happened, what would you do?"
4. **Weak point** — on a section the learner hesitated on earlier in the session
4. **Weak point** *(normal mode)* — a section the learner hesitated on this session. *In full mode there's no session history → replace with a **synthesis** question connecting two sections.*

Each question: **1 correct option + 2–3 plausible distractors**, all in `session.language`. `AskUserQuestion` auto-adds an **"Other"** option — if the learner picks it and free-texts, judge that answer qualitatively. Set `multiSelect: false`.

**Step 2 — One free-text recall question at the end.**

After the multiple-choice box(es), ask **one** open-ended question (synthesis or "explain in your own words"). This is the recall test — wait for the learner to type their answer.

---

## Scoring

Give an overall score **1–10** with specific per-question feedback.

After all 4 answers: give an overall score (1–10) with specific feedback per question.
- **Normal:** each correct multiple-choice = 1.5 pts (6 total) + free-text closer judged up to 4 pts → /10.
- **Full:** each correct multiple-choice = 1 pt (8 total) + free-text closer up to 2 pts → /10.

*(Speak score summary if TTS enabled)*

Expand Down
24 changes: 20 additions & 4 deletions .claude/commands/learn/setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,9 +158,27 @@ Save `~/skill-tutor-tutorials/settings.json`:

---

## F. Global Install
## F. Global Install (optional)

Copy all skill files to the global Claude commands folder:
By default `/learn` works inside this repo — no install needed. Global install is only useful if the learner wants to run `/learn` from *other* projects (a future cross-repo use case).

**Note the trade-off:** a global copy is a second source of truth. If the repo's modules are later edited, the global copy goes stale until re-synced. Most learners should say no.

Use the `AskUserQuestion` tool:

```
question: "להתקין את /learn גם בפרויקטים אחרים? (רוב הלומדים: לא)"
header: "התקנה גלובלית"
options:
- label: "לא, רק בריפו הזה"
description: "/learn יעבוד בתוך הריפו. מומלץ — אין עותק כפול שעלול להתיישן."
- label: "כן, התקן גלובלית"
description: "אעתיק את המודולים ל-~/.claude/commands כדי שאפשר יהיה להשתמש מכל מקום."
```

**If no:** skip — confirm settings are saved and `/learn` is ready inside this repo.

**If yes:** copy the skill files to the global Claude commands folder, then warn that future repo edits require re-running setup to re-sync.

```powershell
$dest = "$env:USERPROFILE\.claude\commands"
Expand All @@ -171,5 +189,3 @@ $moduleDest = "$dest\learn"
if (!(Test-Path $moduleDest)) { New-Item -ItemType Directory -Force -Path $moduleDest | Out-Null }
Copy-Item -Force "$PWD\.claude\commands\learn\*.md" "$moduleDest\"
```

Confirm to the learner that settings are saved and `/learn` is now available globally in any project.
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@ architectures/[project-name].html ← מפות ארכיטקטורה
1. צור קובץ ב-`.claude/commands/learn/[module-name].md`
2. הוסף שורה לטבלת ה-Modules למעלה
3. הוסף routing ב-`learn.md` (Step 2 — Route table)
4. עדכן את הפקודה לגלובל אינסטול ב-`setup.md`
4. (אופציונלי) אם ההתקנה הגלובלית מופעלת — עדכן את רשימת הקבצים שמועתקים ב-`setup.md` סעיף F. ברירת מחדל: `/learn` רץ מתוך הריפו בלבד, ללא התקנה גלובלית.
47 changes: 47 additions & 0 deletions changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Changes — sean_changes branch

Modifications made while testing the `/learn` user flow on the AI Dev course (lesson 1.1) and streamlining the repo.

---

## 1. Quiz flow redesign — [quiz.md](.claude/commands/learn/quiz.md)

**Before:** 4 open-ended questions, asked one at a time (back-and-forth).

**After:**
- **Normal `quiz me`** — 4 multiple-choice questions batched into a single `AskUserQuestion` box, then **1 free-text recall question** at the end.
- Multiple-choice = token-efficient and fast UX (recognition).
- The free-text closer preserves the stronger recall test without back-and-forth.
- Each MC question has 1 correct + 2–3 plausible distractors; the auto-added "Other" option lets the learner free-text any answer.
- **New `quiz me full` mode** — 8 multiple-choice (two boxes of 4) + 1 free-text synthesis closer, drawn from the **whole** lesson script.
- No hardcoded section count — scales to whatever sections a lesson has.
- Reads prior **Quiz History** and **varies the questions** on repeat attempts, keeping them correct and on-topic.
- **Scoring rubric (1–10):**
- Normal: each MC = 1.5 pts (6 total) + free-text up to 4 pts.
- Full: each MC = 1 pt (8 total) + free-text up to 2 pts.

## 2. Quiz routing — [learn.md](.claude/commands/learn.md)

- Added `quiz me full` to the Learner Commands table; clarified `quiz me` is scoped to covered sections.

## 3. Global install made opt-in — [setup.md](.claude/commands/learn/setup.md)

**Before:** Section F always copied the skill files to `~/.claude/commands/` (global).

**After:** Global install is **optional, defaulting to off**.
- `/learn` works inside this repo with no install step (the primary goal: learn the material in this repo).
- Setup now asks whether to also install globally (for the future cross-repo use case); most learners say no.
- Avoids a second source of truth / stale copies when repo modules are edited.
- Learner *data* (`~/skill-tutor-tutorials/`) stays per-user and outside the repo — unchanged.

## 4. Docs — [CLAUDE.md](CLAUDE.md)

- "Adding a module" checklist no longer treats global install as required; notes repo-local is the default.

---

## Possible follow-up (not yet implemented)

- A normal `quiz me` can mark a lesson as "Mastered" (score 8+) even if only a few sections were covered. Consider requiring full coverage — or `quiz me full` — before granting mastery in the knowledge map.
- still need to add a FAQ and maybe a walkthrough to help with onboarding.
- also to teach about adding RTL support for claude code https://marketplace.visualstudio.com/items?itemName=yechielby.claude-code-rtl
Loading