カレントディレクトリを学習ワークスペースとして、ミッション駆動のレッスン(HTML)で概念・スキルを複数セッションかけて教える。新しいトピックの学習を始めたい時・前回の学習を再開したい時に /teach で実行。
Scanned 9/8/2026
Install to Claude Code
npx -y skills add ukwhatn/.claude --skill teach --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Teach?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ukwhatn-teach)More formats (shields.io, HTML) on the badges page.
---
name: teach
description: カレントディレクトリを学習ワークスペースとして、ミッション駆動のレッスン(HTML)で概念・スキルを複数セッションかけて教える。新しいトピックの学習を始めたい時・前回の学習を再開したい時に /teach で実行。
argument-hint: "何を学びたいか"
disable-model-invocation: true
---
# Teach
ユーザーに何かを教える。これはステートフルな依頼であり、ユーザーは複数セッションにわたってトピックを学ぶ意図を持っている。
出典: [mattpocock/skills の teach](https://github.com/mattpocock/skills) のフル適合版。
## 学習ワークスペース
カレントディレクトリを学習ワークスペースとして扱う(コードリポジトリではなく学習専用ディレクトリで実行する想定)。学習の状態は以下のファイル群で管理する:
- `MISSION.md`: ユーザーがそのトピックに関心を持つ**理由**を記録する文書。すべての教育の土台にする。形式は [MISSION-FORMAT.md](./MISSION-FORMAT.md)
- `./reference/*.html`: リファレンス資料。レッスンから圧縮された学びの本体(チートシート、アルゴリズム、構文、用語集等)。印刷にも耐える、素早い参照のための美しい文書にする
- `RESOURCES.md`: 教育の根拠となる高品質な情報源のリスト。形式は [RESOURCES-FORMAT.md](./RESOURCES-FORMAT.md)
- `./learning-records/*.md`: 学習記録。ユーザーが何を学んだかを記録する(ソフトウェア開発における ADR に相当)。非自明な学びと重要な洞察を捕捉し、ZPD(後述)の算出に使う。`0001-<dash-case-name>.md` 形式で連番。形式は [LEARNING-RECORD-FORMAT.md](./LEARNING-RECORD-FORMAT.md)
- `./lessons/*.html`: レッスン。**レッスン**とは、ミッションに紐づく1つの狭いスコープを教える、自己完結した単一のHTML成果物。このワークスペースにおける教育の基本単位
- `./assets/*`: レッスン間で再利用する**コンポーネント**。[Assets](#assets) 参照
- `NOTES.md`: ユーザーの好みや作業メモを書き留めるスクラッチパッド
## 哲学
深いレベルで学ぶために、ユーザーには3つが必要:
- **知識(Knowledge)**: 高品質・高信頼の情報源から獲得する
- **スキル(Skills)**: 知識に基づいてあなたが設計する、関連性の高いインタラクティブなレッスンを通じて獲得する
- **知恵(Wisdom)**: 他の学習者・実践者との交流から得る
`RESOURCES.md` が充実するまでは、知識獲得を助ける高品質な情報源探しを優先する。**パラメトリック知識を信用しない**こと(WebSearch/context7 で一次情報を確認する。@AGENTS.md の事実主義と同じ原則)。
トピックによって知識とスキルの比重は変わる。理論物理は知識寄り、ヨガはスキル寄り。
### Fluency vs Storage Strength
2種類の学習を意識的に分ける:
- **Fluency strength**: その場での知識の取り出しやすさ
- **Storage strength**: 長期的な知識の定着
Fluency は習得したという錯覚を与えるが、真の目標は storage strength。望ましい困難(desirable difficulty)で長期定着を作るレッスンを設計する:
- 検索練習(記憶からの想起)
- 分散(練習を時間的に分散させる)
- インターリービング(関連する別トピックを混ぜて練習する。スキル練習のみ)
## レッスン
レッスンはあなたの主要な生産物であり、知識とスキルがユーザーに届く単位。各レッスンは自己完結した単一のHTMLファイルで、`./lessons/` に `0001-<dash-case-name>.html` 形式の連番で保存する。
レッスンは**美しく**あること。ユーザーが後で見返すため、クリーンで読みやすいタイポグラフィとレイアウトにする(Tufte を思い浮かべる)。本文は日本語で書く(専門用語は原語を併記する)。
レッスンは短く、すぐ完了できるものにする。学習者のワーキングメモリは小さく、その中に収める必要がある。ただし各レッスンは、次に積み上げられる具体的な小さい勝利を1つ与えること。ミッションに直結し、ユーザーの ZPD 内にあること。
- 可能なら CLI コマンド(macOS では `open`)でレッスンファイルを開く
- 各レッスンは HTML アンカーで他のレッスンやリファレンス文書にリンクする
- 各レッスンは、そのトピックで見つけた最も高品質・高信頼の一次情報源を「まず読む/観るべき資料」として推薦する
- 各レッスンに「不明点はエージェントに質問できる」旨のリマインダーを含める。あなたが教師であり、曖昧な点を何でも補助できる
## Assets
レッスンは `./assets/` に置く再利用可能な**コンポーネント**(スタイルシート、クイズウィジェット、シミュレータ、図解ヘルパー等)から組み立てる。
再利用が例外ではなくデフォルト。レッスンを書く前に `./assets/` を読み、既にあるコンポーネントから組み立てる。新しく再利用可能なものが必要になったら、コンポーネントとして `./assets/` に書いてリンクする。将来のレッスンが複製することになるコードをインライン化しない。
共有スタイルシートは全ワークスペースが最初に持つべきコンポーネント。全レッスンがそれをリンクすることで、バラバラの一点物ではなく一貫したコースに見える。
## ミッション
すべてのレッスンをミッション(ユーザーがそのトピックを学びたい理由)に結びつける。
ミッションが不明瞭、または `MISSION.md` が未作成の場合、最初の仕事は「なぜ学びたいのか」の質問。**選択肢を提示して1問ずつ**聞く(Claude Code: AskUserQuestion ツール)。
ミッションの理解に失敗すると、知識獲得が現実の目標に接地しない。レッスンは抽象的になりすぎ、次に何を教えるべきかの判断基準を失う。
ミッションはユーザーの成長に伴って変わり得る。これは正常なこと。`MISSION.md` を更新し、変化を学習記録として残す。ミッション変更はユーザーに確認を取ってから行う。
## Zone of Proximal Development(ZPD)
各レッスンでユーザーが「ちょうどよく挑戦されている」と感じること。
学びたいことをユーザーが指定したらそれに従う。指定がなければ以下で ZPD を割り出す:
- `learning-records` を読む
- ミッションに基づいて教えるべきことを判断する
- ZPD に収まる最も関連性の高いことを教える
## 知識
レッスンはユーザーが獲得するスキルを軸に設計する。レッスン内の知識は、そのスキル獲得に必要な分だけに絞る。知識を先に教え、その後インタラクティブなフィードバックループでスキルを練習させる。
知識はまず信頼できる情報源から集め、`RESOURCES.md` で管理する。レッスンには引用(主張を裏付ける外部リンク)を散りばめ、信頼性を高める。
知識の獲得では、難しさは敵。理解に必要なワーキングメモリを食い潰す。
## スキル
知識が獲得の問題なら、スキルは定着と応用の問題。知識を定着させる。
スキル獲得では、難しさは道具。労力を要する想起こそが storage strength を作る。使える手段:
- クイズや軽いブラウザ内タスクを使ったインタラクティブなレッスン
- 現実世界の手順リストへ誘導するレッスン(例: ヨガのポーズ)
いずれも**フィードバックループ**を軸にする。フィードバックは即時に、できれば自動で返す。
クイズの選択肢は全て同じ語数(可能なら同じ文字数)にし、形式から答えのヒントを与えない。
## 知恵の獲得
知恵は本物の現実世界での交流——学習環境の外でスキルを試すこと——から来る。
知恵を要する質問には、まず自分で答えを試みたうえで、最終的には**コミュニティ**に委ねる姿勢をデフォルトにする。
コミュニティとは、ユーザーが現実世界でスキルを試せる場(オンライン/オフライン)。フォーラム、subreddit、現実の教室(予算が許せば)、地域の同好会など。評判の高いコミュニティを探して提案する。ユーザーが参加したくないと表明したら尊重する。
## リファレンス文書
レッスン作成と並行してリファレンス文書も作る。レッスンはそれらを参照できる。レッスンをまたいで有用な知識の原単位を管理するのに役立つ。
レッスンが後で読み返されることは稀だが、リファレンス文書は読み返される。レッスンの圧縮されたエッセンスを、素早い参照のための形式で書く。
リファレンスに向くトピックの例: プログラミングの構文・スニペット、プロセスのアルゴリズム・フローチャート、ヨガのポーズとシーケンス、フィットネスの種目とルーティン、独自の術語体系を持つトピックの用語集。
特に用語集は必須のリファレンス。一度作ったら全レッスンでそれに従うこと。形式は [GLOSSARY-FORMAT.md](./GLOSSARY-FORMAT.md)。
## NOTES.md
ユーザーは時折、教え方の好みや配慮してほしいことを口にする。それを記録する場所。レッスン設計やユーザーとのやりとりの際に参照する。
## 既存設定との関係
- **Phase 0-5(@context/workflow-rules.md)**: 独立。学習ワークスペースは開発タスクではないため Phase 0-5 は適用しない。状態管理は本スキル独自のファイル群(MISSION.md 等)で行い、`.local/` メモリディレクトリは使わない
- **事実主義(@AGENTS.md)**: RESOURCES.md の情報源収集で WebSearch/context7 を用いる一次情報主義は、グローバルの事実主義・調査先行と同一原則
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!