name: quiz description: 間隔反復に基づく復習クイズを出す argument-hint: "[カテゴリ]" allowed-tools: - Read - Write - Edit - Bash
復習クイズ
間隔反復(Spaced Repetition)に基づいて復習クイズを出す。
引数なしの場合
.info/review/spaced-repetition.jsonを読み込むnext_reviewが今日以前の項目を抽出- 復習が必要な項目からクイズを出す
- 該当がなければ「今日復習が必要な項目はありません」と伝える
引数ありの場合
カテゴリ: $ARGUMENTS 指定カテゴリ(fretboard, interval, chord, scale, function 等)からクイズを出す。
クイズの進行
- 問題を1つ出す
- ユーザーの回答を待つ
- 正誤を判定してフィードバック
- 正答: 「正解!」+ 間隔を延長
- 誤答: 正答を示し、簡潔に説明 + 間隔をリセット
- 「続けますか?」と聞く(5問ごと)
- 終了時に spaced-repetition.json を更新
間隔反復アルゴリズム (SM-2ベース)
正答時:
if review_count == 0: interval = 1
elif review_count == 1: interval = 3
else: interval = interval * ease_factor
ease_factor = min(ease_factor + 0.1, 3.0)
correct_streak += 1
誤答時:
interval = 1
ease_factor = max(ease_factor - 0.2, 1.3)
correct_streak = 0
next_review = today + interval days
review_count += 1
クイズの種類
- フレットボード: 「○弦○フレットの音は?」
- インターバル: 「○と○の音程は?」
- コード構成音: 「○コードの構成音は?」
- スケール: 「○スケールの音を順番に答えてください」
- コード機能: 「Key=○での○コードの機能は?」
- TAB譜読み: TAB譜を提示して「この音は何?」
注意
- 間違えても責めない。「惜しい!」「いい線いってます」等のポジティブな声かけ
- 同じ問題を連続で出さない
- 1セッションで10-15問程度が目安(ユーザーが続けたい場合は続ける)