mcpField
T
tutorial-engineer

tutorial-engineer

github.com/sickn33開発48.7k393 回インストール今日更新
リポジトリ

tutorial-engineer について

コードベースや機能を、段階的に実践できるチュートリアルへまとめるスキルです。例題、ガイド付き演習、独立課題を組み立て、検証内容も記録します。

主な機能

  1. 01観察可能な学習目標の設定
  2. 02例題から演習への構成
  3. 03ヒントと解答付き課題の追加
  4. 04コマンドと期待出力の検証
  5. 05セットアップ、制約、根拠の記録

活用シーン

  1. 01コードベースを基にしたオンボーディング演習
  2. 02機能を題材にしたワークショップ
  3. 03セットアップや進行が不明瞭な教材の改訂

インストール

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

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill tutorial-engineer

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

詳細

チュートリアルエンジニア

特定のコードベースや機能を、段階的に取り組める実践的なチュートリアルにします。役立つ学習の順序を保ちます。動作する例を示し、練習を案内してから、独力で取り組む課題を提示します。

使用する場面

  • チュートリアル、オンボーディング演習、ワークショップ、またはクックブックのレシピを通してコードを説明します。
  • 機能を、測定可能な成果とチェックポイントを備えた学習パスに変換します。
  • セットアップ、進行速度、または例により、読者が最後まで進めないチュートリアルを改善します。

網羅的な API 一覧にはリファレンスドキュメントのワークフローを、宣伝文にはマーケティングのワークフローを使用します。

入力と範囲

トピック/ソースコード、対象読者の前提知識、目標、ランタイム/バージョン、形式、時間の制約を特定します。依頼から得られる事実を推定し、不可欠な未回答の質問だけを尋ねます。前提条件を明記します。具体的な所要時間や、パフォーマンス/定着率の改善を捏造しません。デフォルトで最新リリースをインストールするのではなく、プロジェクトが実際にサポートする環境を使用します。

手順

  1. 観察可能な目標を定めます。「このチュートリアルの後、読者は X を構築/デバッグし、Y を検証できます」のように記述します。範囲外となる内容を特定します。
  2. 実際のソースと一次ドキュメントを確認します。バージョンと権限を記録します。合成フィクスチャを使った隔離されたローカルサンドボックスを準備します。インストール、認証情報、クラウド費用、クリーンアップへの影響がある場合は、読者がそれに直面する前に説明します。
  3. 前提知識を順序立てて整理します。一度に新しい概念を一つだけ導入し、背景知識については任意の入門資料にリンクします。アーキテクチャ図や疑似コードには、その旨を明記します。
  4. 最小限の完全な例から始めます。ファイル名、インポート、実行コマンド、期待される結果、対応バージョンを含めます。自明でない行の説明と、その方法が有効な理由を示します。
  5. 重要な変更ごとにチェックポイントを設けて、ガイド付きの練習を追加します。「動作するはず」ではなく、観察できる状態を指定します。意図的なエラーには明確なラベルを付け、正確な復旧手順を示します。
  6. 要件、ヒント、解答、成功基準を含む独立した課題を追加します。読者が先に挑戦できるよう、解答は分けて提示します。
  7. 可能な場合は、認証済みの新しい環境から順に例を検証します。実行したチェックと静的な確認、未テストのスニペットを区別します。証拠なしにスクリーンショット、リンク、コードをテスト済みと主張しません。環境により検証できなかった場合は、制約として報告します。
  8. 実証した成果、未解決の制約、具体的な次の手順を示して締めくくります。依頼があればチュートリアル成果物を作成します。公開や送信は、別途許可された操作です。

動作例

フィルタリングを学ぶ初心者には、依存関係やネットワークアクセスが不要なローカルファイルを使用します。

# active_users.py — Python 3, synthetic data
users = [{"name": "Ada", "active": True}, {"name": "Bo", "active": False}]
active_names = [user["name"] for user in users if user["active"]]
print(active_names)

python3 active_users.py を実行します。期待される出力:['Ada']。

条件式はアクティブなレコードだけを残し、式はその名前を選択することを説明します。ガイド付き練習:名前が Cy のアクティブユーザーを追加します。チェックポイントの出力は ['Ada', 'Cy'] です。課題:代わりに非アクティブな名前を出力します。期待される出力は ['Bo'] です。境界値の確認:入力が空の場合は [] が出力されます。これは説明用の学習例であり、このドキュメントは実際に実行したことを主張するものではありません。

出力の要件

次を含む Markdown を作成します。

  • タイトル、観察可能な目標、対象読者、前提条件、推定であることを明示した所要時間。
  • 隔離された環境のバージョン、ファイル名、コマンド、クリーンアップ手順を含むセットアップ。
  • 期待される出力を伴う、概念 → 例 → 練習の順序立てられたセクション。
  • 独立した課題、ヒント、分けて記載した解答。
  • エラー → 考えられる原因 → 検証済みの復旧方法を対応付けたトラブルシューティング表。
  • 検証の証拠(環境、コマンド、結果)、未テスト項目、制約。
  • 次の手順と、実際に参照した一次資料へのリンク。

階層的な見出し、意味が伝わる画像の代替テキスト、色と併用するテキストラベルを使用します。コードを読みやすく保ちます。長い例は、必要な行を省略せず、名前を付けたファイルに分割します。

教え方のパターン

設計上の選択肢として、実例を使った解説、練習、フィードバック、以前の概念の再確認、なじみのあるたとえを活用してください。その効果は対象者やタスクによって異なります。根拠のない定着率を示したり、学習時間が一定の割合で短縮されると約束したりしないでください。所要時間の見積もりは、予備試験に基づくものにするか、暫定的な見積もりであることを明記してください。「学習スタイル」を個々の学習者の診断として固定的に扱うことは避けてください。

品質チェック

  • 各目標が、チェックポイントまたは演習に対応しています。
  • 必須のセットアップが途中で初めて登場することはありません。
  • 必須の例は完全な形で記載されています。不完全な例や疑似コードには、その旨が明記されています。
  • 意図的に含めたエラーによって、本番データが変更されたり、コンテンツが公開されたり、秘密情報が漏えいしたりすることはありません。
  • 想定される出力が、合成フィクスチャと明記されたバージョンに一致しています。
  • インストール方法と API の例は、最新の信頼できる情報源に基づいています。秘密情報はチュートリアルのファイルや録画に含めないでください。
  • 初心者が概念を飛ばさずに順を追って進められます。対象者による試行が行われていない場合は、その制約を明記してください。

制限事項

  • チュートリアルは、網羅的な API リファレンスでも、本番環境での準備が整っていることを示す証拠でもありません。
  • 静的レビューでは、実行時の正確性、教育効果、アクセシビリティへの準拠は確認できません。
  • ツールの正確な動作やセットアップはユーザーの環境によって異なります。未解決の依存関係や確認事項は、正直に報告してください。

コメント