mcpField
G
generate-course-materials

generate-course-materials

github.com/willboosterドキュメント0200 回インストール今日更新
リポジトリ

generate-course-materials について

exercode のコース教材を作成するための、コース制作者向けスキルです。要件確認、アウトライン作成、日本語の講義資料と埋め込みクイズの執筆から、構成や問題参照の検証までを案内します。

主な機能

  1. 01テーマ、対象者、出力先の確認
  2. 02講義ごとのアウトライン作成
  3. 03コースと講義のディレクトリ作成
  4. 04クイズを含む日本語教材の執筆
  5. 05コースと Judge 問題参照の検証

活用シーン

  1. 01コース要件から講義教材を作成
  2. 02プログラミング講座に演習課題を追加
  3. 03コースの構成とメタデータを確認
  4. 04切れた問題参照を検出して修正

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/willbooster/exercode-problem-utils --skill generate-course-materials

インストール後、Claude Code で/generate-course-materialsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
course-format.md
material-authoring.md
question-authoring.md

詳細

exercode コース教材を生成する

ファイルを作成する前に、次の資料を読んでください。

  1. コースのパラメーターについて、ユーザーに確認します。確認する項目は、トピック、対象者、講義の数、対象とするプログラミング言語、および出力ディレクトリです。不足している項目があれば、ユーザーが対応可能な場合は生成を始める前に質問します。それが難しい場合は、文脈から妥当な値を選び、最終レポートで未確定事項として列挙します。

  2. まずアウトラインを作成します。すべての講義を網羅した、入れ子形式の Markdown 箇条書きを作成し、各項目の末尾に1行の要約を付けます。ユーザーが対応可能な場合は、承認を得るためにアウトラインを提示します。それが難しい場合は、最善のアウトラインを作成して先に進みます。

  3. references/course-format.md に従って、コースのディレクトリ構成を作成します。

    • <courseId>/course.yaml に、すべての講義(id、name、description)を記載します。
    • 講義ごとに <courseId>/<lectureId>/ ディレクトリを1つ作成します。講義 ID には、コース内の順序に従ってゼロ埋めの連番(01_、02_、...)を付け、その後に内容を表す名前を続けます。
    • コース単位のコーディング問題は <courseId>/problems/<problemId>/ の下に配置します。
  4. references/material-authoring.md に従って、各講義ディレクトリ内に Markdown の教材ファイルを作成します。各講義内で連番を 01_ から振り直し、ゼロ埋めの番号(01_、02_、...)をファイル名の先頭に付けます。ユーザーが別の言語を指定しない限り、教材本文は日本語で記述します。

  5. references/question-authoring.md に従って、教材本文にフェンス付きの yaml question ブロックとしてクイズ問題を埋め込みます。問題は最後にまとめて配置せず、新しく導入した概念の直後に挿入します。

  6. コードの作成、変更、実行がコースの学習目標に含まれるかどうかを判断します。含まれる場合は、適切な学習チェックポイントに、generate-judge-problems を使って、コース単位の Judge 問題を1つ以上作成します。各問題では、学習者がコースですでに学んだ概念を適用する必要があります。埋め込み問題や完成したコード例は、この要件を満たしません。各問題へのリンクは、前提となる教材の近くに [表示名](problems/<problemId>) の形式で記載します。リンク先の問題ディレクトリはすべて、同じコースの problems/ ディレクトリ内に存在しなければなりません。実行可能なコーディング目標がないコースでは、依頼で必要とされている場合に限り Judge 問題を作成します。他のコースの問題を参照してはいけません。

  7. exercode-problem CLI を使って検証し、エラーがなくなるまで修正します。この CLI は @exercode/problem-utils に含まれています。@exercode/problem-utils はリポジトリの依存関係として宣言されている必要があります。詳細は setup-exercode-course-repository を参照してください。

    bunx exercode-problem validate-course <courseDir> --problems-dir <problemsDir>
    

    Judge 問題がないコースでは、--problems-dir を省略してください(明示的に指定したディレクトリは存在していなければなりません)。省略すると、バリデーターはコースディレクトリ内の問題を使って問題参照を解決するため、参照先がない場合はエラーになります。報告されたエラーをすべて修正し、再実行してください。コマンドが成功を報告するまで繰り返します。警告にも対処してください。ただし、意図的な警告は除きます。警告を残す場合は、最終レポートでその理由をユーザーに伝えます。

  8. 作成したコースディレクトリ、講義の一覧、および未確定事項(ユーザーの確認を得ずに決めたアウトライン項目、意図的に残した警告など)を報告します。

コメント