ワークフロー&基本ツール · mattpocock/skills

teach

このワークスペース内で、新しいスキルや概念をユーザーに教えます。

L2 ローカル · 作業ディレクトリ限定V1 コミット固定ファイル書き込みDual-pass Audit
Author mattpocockGitHub mattpocock/skills ↗Stars 253948License MITCommit 3cca18b368
管理レベルは Skill の能力と推奨統制措置を示すものであり、品質や安全性の認証、利用可否の判定ではありません。使用の可否はユーザーおよび管理者が決定します。Agent 環境によって制約が異なるため、自動保護を仮定しないでください。第三者製 Skill の著作権は原著作者に帰属し、利用リスクは利用者が負います。

1仕組みと動作原理

プロンプトのみで編成されたステートマシン:カレントディレクトリを学習ワークスペースへと変換し、スクリプトやコードを一切使用せず、5種類のファイル(MISSION/RESOURCES/learning-records/lessons/NOTES + reference/assets)によってセッションを跨ぐ学習状態を永続化します。

SKILL.md
Treat the current directory as a teaching workspace. The state of their learning is captured in this directory in several files: - `MISSION.md`: A document capturing the _reason_ the user is interested in the topic. This should be used to ground all teaching. … - `./learning-records/*.md`: A directory of learning records, which capture what the user has learned. These are loosely equivalent to architectural decision records… These should be used to calculate the zone of proximal development.
「状態」はメモリではなくファイル内に保持され、これらのファイルを再読込することでセッション間の継続を実現します。「ファイル=記憶」であることが、本スキルがマルチセッション学習を支えられる根本的な理由です。

ZPD(発達の最近接領域)に基づきアルゴリズム的に決定される指導難易度:learning-records と mission を読み込み、最も関連性が高く「適度に挑戦的(ちょうどよい手応え)」な課題を選出します。

SKILL.md
If they don't, figure out their zone of proximal development by: - Reading their `learning-records` - Figuring out the right thing to teach them based on their mission - Teach the most relevant thing that fits in their zone of proximal development
ここでは「過去の記録に基づく個別最適化されたカリキュラムスケジューリング」が行われており、教育学の概念を実行可能な検索ルールへと落とし込んでいます。

認知科学(storage vs. fluency strength、望ましい困難、想起練習/分散学習/交互配置)をカリキュラム設計の制約条件として直接組み込み、「学んでもすぐ忘れる」見せかけの習得を防ぎます。

SKILL.md
**Fluency strength**: in-the-moment retrieval of knowledge… **Storage strength**: long-term retention of knowledge. Fluency can give the user an illusory sense of mastery, but storage strength is the real goal. Try to design lessons which build long-term retention by desirable difficulty: - Using retrieval practice (recall from memory) - Spacing (distributing practice over time) - Interleaving (mixing up different but related topics in practice - for skills practice only)
これは機能レイヤーではなく教授法レイヤーの設計です。プロンプトによってレッスンの演習形態やフィードバックループ(「feedback loop…as tight as possible」)を制約し、クイズの選択肢を等長にすることで推測のヒントを排除します。

知識獲得の外在化:パラメータメモリへの依存を禁止し、信頼性の高い外部リソースの事前キュレーション(注釈付き RESOURCES.md、Knowledge/Wisdom の分類、明示的な Gaps、徹底的な剪定)を義務付け、レッスン内を「引用で満たす」構成にします。

SKILL.md
Before the `RESOURCES.md` is well-populated, your focus should be to find high-quality resources which will help the user acquire knowledge. Never trust your parametric knowledge.
RESOURCES-FORMAT.md のルール(「High-trust only」「Annotate every entry」「Surface gaps explicitly」「Prune ruthlessly」)により、リソースのキュレーションを持続的に保守可能なリストへと昇華させ、レッスン内の引用アンカーをすべてここから提供します。

厳格な出力規律:レッスンは自己完結型 HTML(連番 0001-、Tufte スタイルの組版、アンカー相互リンク、assets コンポーネントの再利用)、reference ドキュメントは凝縮されたクイックリファレンスとし、glossary の用語はコース全体で統一を強制します。

SKILL.md
Each lesson is one self-contained HTML file, saved to `./lessons/` and titled `0001-<dash-case-name>.html` where the number increments each time. A lesson should be **beautiful**, with clean, readable typography and layout, since the user will return to these later to review. Think Tufte.
成果物は一過性のチャットテキストではなく永続的な学習アセットです。「レッスンが見返されることは稀だが、リファレンスは頻繁に見返される」という認識に基づき、知識は reference ドキュメントへと凝縮されます。

コミュニティ連携を前提とした Wisdom レイヤー設計:モデルが初期回答を試行するものの、実世界での検証はコミュニティ(フォーラムや対面クラスなど)に委ねることを基本方針とし、ユーザーのオプトアウトの意向も尊重します。

SKILL.md
When the user asks a question that appears to require wisdom, your default posture should be to attempt to answer - but to ultimately delegate to a **community**. A community is a place (online or offline) where the user can test their skills in the real world.
スキルの機能境界を明確化しています。知識の伝達やスキルの演習は自動化可能ですが、真の知恵は現実の対人インタラクションからしか得られません。

2コア機能

01ステートフルなマルチセッション教育:カレントディレクトリをワークスペースとし、mission/resources/learning-records/lessons/NOTES を永続化してセッションを跨いで再開可能
02自己完結型 HTML レッスンの生成:連番付与、Tufte 組版、短時間で完了可能な構成、HTML アンカー相互リンク、任意の CLI プレビュー起動
03ZPD による個別難易度キャリブレーション:learning-records と mission に基づき、「適度に挑戦的」な次期レッスンを選定
04忘却防止カリキュラム設計:想起練習/分散学習/交互配置 + 緊密なフィードバックループ + 正解推測を防ぐ等長クイズ選択肢
05高信頼外部知識のキュレーション:RESOURCES.md の注釈付き分類/明示的 Gaps/徹底的剪定、引用で満たされたレッスン、パラメータ記憶の禁止
06リファレンスドキュメント + 規範的用語集システム:一度作成された glossary の用語規約をコース全体で強制遵守
07再利用可能なコンポーネントアセットライブラリ:共通スタイルシートやクイズコンポーネントの再利用を優先し、新規要件はまずコンポーネント化してから参照
08学習記録管理(ADR 方式):理解の証拠が得られた場合のみ記録、superseded 状態の管理や連番のスキャン付与に対応

3外部依存関係

KindDependency / Endpoint
cli本地文件打开命令(具体二进制未指定,如 open/xdg-open 类)
network教学流程引导 agent 检索外部高信任资源/社区作为知识输入(宿主浏览工具行为,skill 内无固定端点、无代码调用)

4推奨統制措置と判定根拠

安全運用のための推奨統制措置
Agent 向け
作業ディレクトリを限定
管理者向け
操作ログを保持
判定根拠(ファイルパスと抜粋)
  • 本地工作目录: ファイルの読み書きおよび成果物の出力: MISSION.md / RESOURCES.md / NOTES.md(ワークスペース直下)
監査ノート: 純粋なプロンプト編成で構築され、実行可能コードやスクリプトは一切含まず、カレントワークスペースに対するローカルの読み書き(学習状態ファイルおよび HTML 成果物)のみを行います。クレデンシャルの読み取り、自発的な外部通信、固定ネットワークエンドポイントへのアクセスはありません。『If possible, open the lesson file for the user by running a CLI command.』に従い、ローカル CLI を呼び出してレッスンの HTML を開く場合があります(条件付きかつユーザー向けのローカルアクション)。また、学習プロセスの中でホストのブラウジングツールを介して高信頼リソースやコミュニティを検索するよう誘導しますが、これらはユーザーの要求に基づくホスト側の挙動です。

5二重目の独立検証

  • [ok] 外部 CLI:'open the lesson file … by running a CLI command' — SKILL.md Lessons 段实存(行 55),且为条件式 'If possible',未指定具体二进制
  • [ok] 无隐藏脚本/可执行代码 — 目录仅 SKILL.md、4 个 FORMAT.md、agents/openai.yaml;glob 枚举无遗漏
  • [ok] 无网络外发/固定端点/凭证读取 — 全目录 grep 无 curl/wget/fetch/api_key/token/env/secret;唯一 URL 是 RESOURCES-FORMAT.md 模板中的 example.com / reddit.com 示例
  • [ok] 仅用户显式触发 — SKILL.md frontmatter disable-model-invocation: true 与 agents/openai.yaml policy.allow_implicit_invocation: false 双端一致
  • [ok] 实现原理与功能声明相符 — description 言 'Teach the user a new skill or concept, within this workspace'——实际能力即 prompt 状态机 + 文件产物,无夸大;skill 自身不含检索/教学引擎,依赖宿主模型能力
  • [discrepancy] GLOSSARY 文件归属一致性 — SKILL.md 工作区清单把 glossaries 归入 ./reference/*.html;GLOSSARY-FORMAT.md 则定义根级 'GLOSSARY.md is the canonical language for this teaching workspace',且 LEARNING-RECORD/RESOURCES FORMAT 以 [[GLOSSARY.md]]/[[MISSION.md]] wiki 链接引用——glossary 究竟存为 reference HTML 还是根 GLOSSARY.md 未对齐,agent 执行时可能出现双份或歧义(仅文档结构问题,无安全影响)

6結論

  • 真のマルチセッション教育フレームワーク:ファイル自体が状態となり、mission と learning-records によってセッションごとの確実な継続と難易度調整が可能
  • 確固たる教育学的根拠:storage/fluency strength、望ましい困難、想起/分散/交互配置、緊密なフィードバックループをプロンプトに組み込み、等長選択肢によるヒント漏れ防止など実践的ディテールで具現化
  • ハルシネーション抑制設計:パラメータ記憶を禁止し、高信頼ソースの引用を強制。RESOURCES に Gaps 把握と剪定機構を持たせることで知識の捏造リスクを低減
  • 見返し可能な学習アセット(HTML レッスン、チートシート、glossary、ADR 形式の記録)を生成し、コンポーネント再利用と用語統一を徹底
  • 抑制されたアタックサーフェス:ユーザーによる明示的なトリガーで動作し、スクリプト・外部通信・クレデンシャルを一切使用しない低リスクなセキュリティ水準
  • 最適な用途: 適しているケース:エージェントワークスペース(Claude Code や Codex 系など)内で特定のテーマを体系的に学びたい自律的学習者。「記録に残す学習」(HTML レッスン、早見表、学習ログの蓄積)を受け入れ、複数セッションにわたって継続して取り組める方に最適。知識中心(語学、理論、フィットネス知識など)および軽量なスキル習得テーマと極めて高い親和性があります。
    不向きな用途: 適していないケース:ディレクトリにファイルを残さずチャットでの即答のみを求める人。実機や物理環境での実演・試行を伴う重厚なスキル(本スキルは HTML 演習とガイダンスの出力のみを行い、実機環境の代替は不可)。医療や財務など公的資格・専門認証を要する領域(人間の指導者や実際の専門コミュニティに相談すべきです)。継続的な投資意欲のない「単発の質問」シナリオ。
    Install Agent-Ready
    ① Verified Mirror 2026-09-06
    Option A · Direct DownloadDownload teach.tar.gz
    sha256: 372546b23d29f964…
    Option B · Copy Guide for Agent
    install.json
    Agent はこの JSON ガイドから自動的にダウンロードして検証します。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit 3cca18b368.