canvas-peer-review-manager について
Canvas LMS を使う教員向けの相互レビュー管理スキルです。完了状況やコメント品質を確認し、フォロー対象の特定、リマインダー、データ出力、レポート作成を行います。メッセージ送信前には宛先を確認し、教員の承認を求めます。
主な機能
- 01完了状況とレビュアー対応の確認
- 02コメント取得と品質分析
- 03低品質または未完了レビューの検出
- 04フォロー対象の一覧化とリマインダー送信
- 05データ出力とレポート作成
活用シーン
- 01相互レビュー未完了の学生を特定
- 02短文や建設性に欠けるコメントを発見
- 03宛先を確認して Inbox リマインダーを送信
- 04匿名化したデータ出力やレポート作成
MCP 対応
Canvas MCP サーバー経由で Canvas API のツールを呼び出し、分析、出力、リマインダー送信を含む相互レビュー管理を行います。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ vishalsachdev/ canvas-mcp --skill canvas-peer-review-managerインストール後、Claude Code で/canvas-peer-review-managerを入力して読み込まれたか確認します。
詳細
Canvas ピアレビュー管理
Canvas LMS を利用する教育者向けの、ピアレビュー管理ワークフローです。完了状況の監視、品質の分析、フォローアップが必要な学生の特定、リマインダーの送信、データのエクスポートを、すべて Canvas API に対する MCP ツール呼び出しで行います。
前提条件
- Canvas MCP サーバーが稼働し、エージェントの MCP クライアント(例:Claude Code、Cursor、Codex、OpenCode)に接続されている必要があります。
- 認証済みユーザーは、対象の Canvas コースで教育者または講師のロールを持っている必要があります。
- Canvas で課題のピアレビューが有効になっている必要があります(手動または自動割り当て)。
- FERPA を考慮した取り扱い:Canvas MCP サーバーの環境で
ENABLE_DATA_ANONYMIZATION=trueを設定すると、対応する学生の識別情報フィールドを匿名化できます。有効にすると、メッセージ送信に必要な機能上のユーザー ID は保持したまま、氏名がStudent_xxxxxxxxハッシュとして表示されます。この設定だけでコンプライアンスが確立されるわけではありません。
手順
1. 課題を特定する
ピアレビューを管理するコースと課題をユーザーに尋ねます。コースコード、Canvas ID、コース名のいずれかと、課題名または ID を受け付けます。
ユーザーが指定しない場合は、次のように尋ねます。
どのコースと課題のピアレビューを確認しますか?
list_courses と list_assignments を使って、適切な識別子を見つけられるようユーザーを支援します。
2. ピアレビューの完了状況を確認する
コース識別子と課題 ID を指定して get_peer_review_completion_analytics を呼び出します。次の情報が返されます。
- 全体の完了率(パーセンテージ)
- すべてのレビューが完了、一部完了、未完了の学生数
- 学生ごとの内訳(完了したレビューと割り当てられたレビュー)
提示すべき主なデータポイント:
| 指標 | 示す内容 |
|---|---|
| 完了率 | ピアレビューサイクル全体の状況 |
| 「未完了」の人数 | まだ開始していない学生の数――リマインダーの最優先対象 |
| 「一部完了」の人数 | 開始したものの、完了していない学生の数 |
| 学生ごとの内訳 | フォローアップが必要な学生を正確に特定 |
3. 課題の割り当て状況を確認する
誰が誰をレビューしているかを確認したい場合は、次の項目を指定して get_peer_review_assignments を呼び出します。
include_names=trueで人が読みやすい出力を取得include_submission_details=trueで提出物のコンテキストを取得
レビュー担当者からレビュー対象者への割り当て状況と完了ステータスがすべて表示されます。
4. コメントを取得して読む
実際のコメント本文を取得するには、get_peer_review_comments を呼び出します。パラメーターは次のとおりです。
include_reviewer_info=true— コメントを書いた人include_reviewee_info=true— コメントを受け取った人anonymize_students=true— 結果を共有する場合や機密データを扱う場合に推奨
学生がレビューに実際に書いた内容を確認できます。
5. コメントの品質を分析する
すべてのレビューの品質指標を生成するには、analyze_peer_review_quality を呼び出します。分析には次の内容が含まれます。
- 平均品質スコア(1~5 の尺度)
- 単語数の統計(平均、中央値、範囲)
- 建設性の分析(建設的なフィードバック、一般的なコメント、具体的な提案)
- センチメントの分布(肯定的、中立的、否定的)
- 品質のしきい値を下回るフラグ付きレビュー
高品質・低品質の基準をカスタマイズするには、必要に応じて analysis_criteria を JSON 文字列として渡します。
6. 問題のあるレビューにフラグを付ける
講師の確認が必要なレビューを自動的に特定してフラグを付けるには、identify_problematic_peer_reviews を呼び出します。フラグ付けの基準は次のとおりです。
- 極端に短い、または空のコメント
- 一般的な回答(例:「良さそうです」「よくできています」)
- 建設的なフィードバックの欠如
- コピー&ペーストや同一のレビューの可能性
既定のしきい値を上書きするには、カスタムの criteria を JSON 文字列として渡します。
7. フォローアップ対象者リストを取得する
get_peer_review_followup_list を呼び出し、対応が必要な学生の優先順位付きリストを取得します。
priority_filter="urgent"— レビューを一件も完了していない学生priority_filter="medium"— 一部だけ完了している学生priority_filter="all"— フォローアップが必要なすべての学生days_threshold=3— 課題の割り当てから経過した日数に基づいて、緊急度の計算を調整します
8. リマインダーを送信する
どちらの送信ツールも2回呼び出す必要があります。最初の呼び出しではプレビューとconfirmation_tokenが返され、何も送信されません。プレビューを講師に表示してから、トークンと同一の引数を指定して再度呼び出し、送信します。
対象を指定した直接のInboxメッセージを送信するには、send_peer_review_inbox_messagesを次のように呼び出します。
recipient_ids— 分析結果に含まれるCanvasユーザーIDのリストcustom_message— 任意のカスタムテキスト(省略した場合はデフォルトのテンプレートが使用されます)subject_prefix— デフォルトは「Peer Review Reminder」です
呼び出し手順の例:
- ステップ2で未完了のレビュー担当者を取得します
- そのユーザーIDを抽出します
- 宛先リストをユーザーと確認します
- 確認を得てからリマインダーを送信します
自動化されたパイプラインの場合は、コース識別子と課題IDを指定してsend_peer_review_followup_campaignを呼び出します。最初の呼び出しでは、分析結果、緊急度の高い宛先と穏やかなリマインダーの宛先のプレビュー、およびトークンが返されます。このツールは次の処理を行います。
- 完了状況の分析を自動的に実行します
- 学生を「緊急」(未完了)と「一部完了」のグループに分類します
- トークンを指定した確認用の呼び出しでのみ、リマインダーを送信します
- 分析結果とメッセージ送信結果をまとめて返します
警告: キャンペーンツールは実際のメッセージを送信します。実行前に必ず講師の確認を得てください。
9. データをエクスポートする
extract_peer_review_datasetを呼び出し、すべてのピアレビューのデータをエクスポートして外部で分析します。
output_format="csv"またはoutput_format="json"include_analytics=true— エクスポートに品質指標を追加しますanonymize_data=true— 共有またはアーカイブする場合に推奨されますsave_locally=true— ローカルファイルに保存します。falseに設定すると、データをインラインで返します
10. 講師向けレポートを生成する
generate_peer_review_feedback_reportを呼び出し、書式設定済みで共有可能なレポートを作成します。
report_type="comprehensive"— 品質の低いレビューのサンプルを含む詳細な分析report_type="summary"— エグゼクティブサマリーのみreport_type="individual"— 学生ごとの内訳include_student_names=false— プライバシーに配慮したレポート作成に推奨されます
品質ではなく完了状況に焦点を当てたレポートには、エグゼクティブサマリー、学生の詳細、対応項目、タイムライン分析のオプションを指定してgenerate_peer_review_reportを使用します。このレポートは、save_to_file=trueを指定してファイルに保存できます。
使用例
「ピアレビューの進捗はどうですか?」 ステップ1〜2を実行します。完了率を示し、懸念される傾向(例:「完了率はわずか60%で、8人の学生がまだ開始していません」)を強調します。
「レビューをまだ終えていないのは誰ですか?」
ステップ1〜2を実行し、続いてステップ7をpriority_filter="urgent"で実行します。フォローアップが必要な学生を列挙します。
「レビューの質はどうですか?」 ステップ4〜6を実行します。品質スコアを示し、内容が一般的すぎるレビューや労力が不十分なレビューに印を付け、推奨事項を提示します。
「遅れている学生にリマインダーを送って」 ステップ1〜2を実行して未完了のレビュー担当者を特定し、続いてステップ8を実行します。送信前に必ず宛先リストを確認します。
「完全なレポートを作成して」 ステップ2、5、6、10を実行します。完了状況の分析と品質分析をまとめ、詳細な講師向けレポートを作成します。
「記録用にすべてエクスポートして」
ステップ9をoutput_format="csv"およびanonymize_data=trueで実行し、プライバシーに配慮したデータセットを作成します。
使用する MCP ツール
| ツール | 目的 |
|---|---|
list_courses | 実施中のコースを確認します |
list_assignments | ピアレビューが有効な課題を探します |
get_peer_review_assignments | レビュアーとレビュー対象者の対応関係をすべて取得します |
get_peer_review_completion_analytics | 完了率と学生ごとの内訳を取得します |
get_peer_review_comments | 実際のコメント本文を抽出します |
analyze_peer_review_quality | 品質指標(スコア、語数、建設性)を分析します |
identify_problematic_peer_reviews | 品質の低いレビューや空のレビューにフラグを付けます |
get_peer_review_followup_list | フォローアップが必要な学生の優先リストを取得します |
send_peer_review_inbox_messages | Canvas Inbox から対象を絞ったダイレクトメッセージを送信します |
send_peer_review_followup_campaign | 分析からメッセージ送信までを自動化するパイプラインです |
extract_peer_review_dataset | データを CSV または JSON としてエクスポートします |
generate_peer_review_feedback_report | 品質に焦点を当てた教員向けレポートを作成します |
generate_peer_review_report | 完了状況に焦点を当てた教員向けレポートを作成します |
例
ユーザー:「BADM 350 の課題 3 のピアレビューの進捗はどうですか?」
エージェント:get_peer_review_completion_analytics を呼び出し、次のように提示します。
## Peer Review Status: Assignment 3
- **Completion rate:** 72% (23/32 students fully complete)
- **Partial:** 5 students (started but not finished)
- **Not started:** 4 students
### Students Needing Follow-up
**Not started (urgent):**
- Student_a8f7e23 (0 of 3 reviews done)
- Student_b2c91d4 (0 of 3 reviews done)
- Student_f5e67a1 (0 of 3 reviews done)
- Student_d9c34b2 (0 of 3 reviews done)
**Partial (needs nudge):**
- Student_c1d82e5 (1 of 3 reviews done)
- Student_e4f03a9 (2 of 3 reviews done)
ユーザー:「まだ始めていない人にリマインダーを送って」
**エージェント:**宛先 4 名を確認してから、ユーザー ID を指定して send_peer_review_inbox_messages を呼び出します。
ユーザー:「完了したレビューの質も確認して」
エージェント:analyze_peer_review_quality を呼び出し、品質スコアを提示します。3 件のレビューに短すぎるというフラグを付け、教員に特定の学生へのフォローアップを推奨します。
安全に関するガイドライン
- 送信前に確認する -- メッセージ送信ツールを呼び出す前に、必ず宛先リストとメッセージ内容を教員に提示してください。
- デフォルトで匿名化する -- 共有環境でデータを確認する場合は、
anonymize_students=trueまたはanonymize_data=trueを使用してください。 - レート制限を守る -- Canvas API のリクエスト上限は、10 分あたり約 700 件です。大規模なコースでは、メッセージ送信ツールが組み込みの遅延を挟みながら、メッセージを順番に送信します。
- FERPA に配慮して取り扱う -- 教員が状況を適切と明示的に確認していない限り、ログ、共有画面、エクスポートファイルに学生の氏名を表示しないでください。
備考
- これらのツールからデータを取得するには、Canvas の課題でピアレビューが有効になっている必要があります。
send_peer_review_followup_campaignツールは、分析とメッセージ送信を組み合わせます。最初の呼び出しでは宛先のプレビューを表示してトークンを返し、2 回目の呼び出しではそのトークンを使って実際のメッセージを送信します。2 回目の呼び出しは、教員がプレビューを承認した後にのみ実行してください。- 品質分析では、ヒューリスティック(語数、キーワードの照合、センチメント)を使用します。品質が低い可能性のあるレビューを特定しますが、教員の判断に代わるものではありません。
- このスキルは
canvas-morning-checkと併用すると、提出率や成績分布に加えてピアレビューの状況も含む、コース全体の健全性を把握できます。