CodeQuiz — コードベース学習クイズ

Tool

概要

CodeQuizは「自分のコードベースを学ぶためのDuolingo」を目指す、Claude Code向けのスキル実装です。リポジトリ内のコードやドキュメントを元に問題(クイズ)を生成し、ユーザーはそれに答えることでXPを獲得、レベルアップやバッジ獲得、連続ログインボーナス等で学習のモチベーションを維持できます。さらに習熟度管理と間隔反復を取り入れることで、忘却曲線に合わせた復習を促進する設計になっています。小規模な公開リポジトリですが、LLMを使ったコード理解支援ツールの設計例として有用です。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 0
  • ウォッチャー数: 3
  • コミット数: 7
  • ファイル数: 3
  • メインの言語: 未指定

主な特徴

  • 自分のコードベースから自動でクイズを生成するClaude Codeスキル
  • XP・レベル・連続ログ(streak)・バッジなどのゲーミフィケーション要素
  • 間隔反復(spaced repetition)による復習スケジューリングと習熟度管理
  • スキル定義(SKILL.md)を中心としたシンプルな構成で導入が容易

技術的なポイント

CodeQuiz自体は小さなリポジトリ構成ですが、実装思想や技術的要点はLLMを使った学習支援ツールの典型を示しています。まず「Claude Codeスキル」という実行コンテキストがキーです。SKILL.mdはおそらくスキルのメタ情報やプロンプトテンプレート、入力/出力の仕様を定義しており、これによりClaude(Anthropicのモデル)上での対話的フローや問題提示、回答評価が組まれます。コードから問題を作るためには、ファイルの抽出とチャンク化、重要箇所(関数名、型、コメント、TODO等)の選別が必要で、ここでのプロンプト設計が品質を左右します。

習熟度・間隔反復はアルゴリズム的にはSM-2などの既存スケジュールを採用するか、独自のXP閾値やマスタリーメトリクスを使う設計が考えられます。ユーザー状態(XP、バッジ、過去の正答履歴、次回復習日など)は永続化が必要で、ローカルやクラウドのストレージ(例:SQLiteや小さなキー・バリューストア)を用いるのが一般的です。LLMにコードを送る際のプライバシーとデータ最小化も重要で、機密コードを扱う組織ではオンプレミスのモデルや部分的な匿名化が推奨されます。

技術的拡張ポイントとしては、埋め込み(embeddings)とベクタ検索を使ったリトリーバル(類似箇所の提示)、差分検出による問題の更新(コード変更に追従する)、自動採点のためのテストケース生成や静的解析の併用などが挙げられます。また、他のLLMやAPI(OpenAI、Anthropic以外)へのポーティングや、Web UI/CLIでのユーザー体験の改善、CIによる自動デプロイといったエンジニアリング作業も想定されます。小規模リポジトリのため実装は軽量ですが、拡張性を意識した設計(明確なプロンプトテンプレート、外部ストレージ抽象化、プライバシー設計)が今後の実用化に重要になります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • LICENSE: file
  • README.md: file
  • SKILL.md: file

まとめ

コード学習をGamifiedに行うためのClaude Codeスキルの良い出発点。拡張しやすい設計が肝。

リポジトリ情報:

READMEの抜粋:

CodeQuiz

Duolingo for your codebase. An interactive Claude Code skill that quizzes you on your own code — with XP, levels, streaks, badges, and spaced repetition.

╔══════════════════════════════════════════════════╗
║              🧠 CODEQUIZ                         ║
║                                                  ║
║  Level 5 • 500 XP • 🔥 7 day streak             ║
║  4 badges • 62% mastered                         ║
╚══════════════════════════════════════════════════╝