generate-course-materials について
exercode のコース教材を作成するための、コース制作者向けスキルです。要件確認、アウトライン作成、日本語の講義資料と埋め込みクイズの執筆から、構成や問題参照の検証までを案内します。
主な機能
- 01テーマ、対象者、出力先の確認
- 02講義ごとのアウトライン作成
- 03コースと講義のディレクトリ作成
- 04クイズを含む日本語教材の執筆
- 05コースと Judge 問題参照の検証
活用シーン
- 01コース要件から講義教材を作成
- 02プログラミング講座に演習課題を追加
- 03コースの構成とメタデータを確認
- 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.mdmaterial-authoring.mdquestion-authoring.md詳細
exercode コース教材を生成する
ファイルを作成する前に、次の資料を読んでください。
- references/course-format.md — コースのディレクトリ構成、
course.yaml、教材のフロントマターのスキーマ。 - references/material-authoring.md — 講義教材の教育的な執筆ルール。
- references/question-authoring.md — 埋め込み形式のクイズ問題の作成方法。
-
コースのパラメーターについて、ユーザーに確認します。確認する項目は、トピック、対象者、講義の数、対象とするプログラミング言語、および出力ディレクトリです。不足している項目があれば、ユーザーが対応可能な場合は生成を始める前に質問します。それが難しい場合は、文脈から妥当な値を選び、最終レポートで未確定事項として列挙します。
-
まずアウトラインを作成します。すべての講義を網羅した、入れ子形式の Markdown 箇条書きを作成し、各項目の末尾に1行の要約を付けます。ユーザーが対応可能な場合は、承認を得るためにアウトラインを提示します。それが難しい場合は、最善のアウトラインを作成して先に進みます。
-
references/course-format.md に従って、コースのディレクトリ構成を作成します。
<courseId>/course.yamlに、すべての講義(id、name、description)を記載します。- 講義ごとに
<courseId>/<lectureId>/ディレクトリを1つ作成します。講義 ID には、コース内の順序に従ってゼロ埋めの連番(01_、02_、...)を付け、その後に内容を表す名前を続けます。 - コース単位のコーディング問題は
<courseId>/problems/<problemId>/の下に配置します。
-
references/material-authoring.md に従って、各講義ディレクトリ内に Markdown の教材ファイルを作成します。各講義内で連番を
01_から振り直し、ゼロ埋めの番号(01_、02_、...)をファイル名の先頭に付けます。ユーザーが別の言語を指定しない限り、教材本文は日本語で記述します。 -
references/question-authoring.md に従って、教材本文にフェンス付きの
yaml questionブロックとしてクイズ問題を埋め込みます。問題は最後にまとめて配置せず、新しく導入した概念の直後に挿入します。 -
コードの作成、変更、実行がコースの学習目標に含まれるかどうかを判断します。含まれる場合は、適切な学習チェックポイントに、generate-judge-problems を使って、コース単位の Judge 問題を1つ以上作成します。各問題では、学習者がコースですでに学んだ概念を適用する必要があります。埋め込み問題や完成したコード例は、この要件を満たしません。各問題へのリンクは、前提となる教材の近くに
[表示名](problems/<problemId>)の形式で記載します。リンク先の問題ディレクトリはすべて、同じコースのproblems/ディレクトリ内に存在しなければなりません。実行可能なコーディング目標がないコースでは、依頼で必要とされている場合に限り Judge 問題を作成します。他のコースの問題を参照してはいけません。 -
exercode-problemCLI を使って検証し、エラーがなくなるまで修正します。この CLI は@exercode/problem-utilsに含まれています。@exercode/problem-utilsはリポジトリの依存関係として宣言されている必要があります。詳細は setup-exercode-course-repository を参照してください。bunx exercode-problem validate-course <courseDir> --problems-dir <problemsDir>Judge 問題がないコースでは、
--problems-dirを省略してください(明示的に指定したディレクトリは存在していなければなりません)。省略すると、バリデーターはコースディレクトリ内の問題を使って問題参照を解決するため、参照先がない場合はエラーになります。報告されたエラーをすべて修正し、再実行してください。コマンドが成功を報告するまで繰り返します。警告にも対処してください。ただし、意図的な警告は除きます。警告を残す場合は、最終レポートでその理由をユーザーに伝えます。 -
作成したコースディレクトリ、講義の一覧、および未確定事項(ユーザーの確認を得ずに決めたアウトライン項目、意図的に残した警告など)を報告します。