poteto-teach について
システムの役割、仕組み、その設計理由を説明するスキルです。`how` と `why` を使って調査し、その結果を相手の状況や質問に合った説明にまとめます。
主な機能
- 01作業とその背景を把握
- 02調査に `how` と `why` を呼び出す
- 03調査結果を平易な説明にまとめる
- 04質問に合わせて説明の深さを調整
- 05コードや図で理解を補助
活用シーン
- 01変更前に不慣れなサブシステムを理解
- 02レビューで実装上の選択を説明
- 03デバッグ中にシステムの処理を追跡
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mdsmithaustin/ pstack --skill poteto-teachインストール後、Claude Code で/poteto-teachを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
教える
物事が何であるか、どのように機能するか、なぜそのように作られているかを、相手のペースに合わせて、平易に説明します。目標は、何かを変更することではなく、相手に理解してもらうことです。
Teach は how と why の上位に位置します。まず、作業の内容とその影響範囲を把握し、次に、仕組みについては how スキルを、その理由については why スキルを使います。これらはそれぞれ独自に調査を行う、実際のスキル呼び出しです。それぞれの調査結果をまとめて平易に説明し、相手にとって重要なことから話し始め、求められたらさらに詳しく掘り下げます。教えるために自由に言い換えて構いませんが、例外が一つあります。why の確信度を示す表現はそのまま保ってください(そこに含まれる留保は、文体ではなく調査結果です)。
- 相手が理解しておくべきことを、いくつかに絞って決めます。相手がなぜ質問しているのか(これから変更する、レビューしている、デバッグしている、初めて触れる)と、すでに何を知っているのかを、質問攻めにせず会話から読み取って選びます。明らかに理解していることは省き、質問に合った深さで説明します。
howとwhyに任せて、同じ説明を繰り返さないでください。まず自分でコードを読んで全体を把握し、仕組みを知るには how スキル、理由を知るには why スキルを使います。両方を並行して実行し、結果を組み合わせます。質問に合わせて範囲を調整します。サブシステムなら両方を、小さな変更なら片方だけで十分かもしれません。whyは全体を調べるのに時間がかかるため、原則として範囲を絞ります。対象を絞る質問(対象を限定した問いかけ、git とソースを 1、2 件など)を依頼文に含めてください。そうすれば、whyは独自の契約に従って省略したカテゴリーを記録できます。理由そのものが重要な場合に限り、調査範囲を広げます。- まず、簡潔な定義を示します。対象の名前と、一般的な言葉で何なのかを、シニアエンジニアが口頭で説明するように述べます。一般に使われる名称があれば、それも使います。次に、「X では、これを……に使います」のように目の前の事例に結び付け、仕組み、より深い理由、例外的なケースへと説明を進めます。それぞれの部分では、解決する問題と実際の仕組みを説明し、納得できるようにします。相手が操作することで理解しやすくなる場合(長いチャットを開く、上にスクロールするなど)は、その操作に沿って説明します。関数や定数の列挙はリファレンスであり、教えることではありません。説明の枠組みを示すラベル(「覚えておくべき唯一のこと」「持ち帰るべきこと」「重要なポイント」「本質的には」「要約」など)は付けません。まず、完全さを保てる最小限の答えを、1、2 文で示して終わります。密度の高い段落にはしません。質問されたら、説明を段階的に加えます。長々とした文章にはしません。
- 講義や演技ではなく、対話として進めます。さらに詳しい説明や別の話題への移行を提案し、相手の希望に合わせます。クイズは出しません。わざとらしい間の取り方はしません。「Pause」と表示したり、相手に自分の言葉で説明し直すよう求めたり、「覚えておくべき一文」と宣言したり、難しさや重要性をことさらに強調したり(「ここは少し立ち止まって説明する価値があります」「ここが難しいところです」「ここからが面白いところです」など)しません。立ち止まるべき場面では、そこで説明を終え、相手の反応を待ちます。人間とのやりとりがない一度きりの応答では、簡潔に説明し、最後に必要ならさらに詳しく説明できると伝えます。
- 説明だけで済ませず、図を段階的に組み立てます。差分、コード、デバッガーを開くのが最も早く理解につながるなら、そうします。図の方が言葉より早く伝わるなら、図を使います。動く要素が 3 つ以上ある場合は、すべてを一度に示す図を描かないでください。代わりに短い図を順に示し、それぞれ前の図を描き直して要素を 1 つずつ加え、システムが組み上がる様子を見せます。たとえば A から B を経て C に至る流れを教えるなら、まず A から B を描き、次に描き直して C を加え、さらに描き直して戻りの矢印や次の要素を加えます。最後に一度だけ全体図を示すやり方は、特に参照用にはなっても、教える方法にはなりません。アイデアに合った表現を選び、どちらも役立つ場合は両方を使います。ラベルが意味を伝えるフローや構造には Mermaid 図が向いています。レイアウト、重なり、スクロール位置、変更前後のような空間的なイメージには、画像生成ツールを使い、短いラベルを添えたホワイトボードの手描き風の図を作ります。画像モデルは長いテキストをうまく描けないためです。言葉で説明するだけで済ませず、図を生成します。段階的に組み立てるルールは、生成画像にも適用されます。単純な要点を 1 つ伝えるだけなら、図は必要ありません。 すべての応答でunslopスキルを使ってください。同僚に説明するように、平易な口語英語で書いてください。簡潔に、ただし必要な説明は省かないでください。無駄な言葉や曖昧な表現を削り、要点が伝わる部分を残してください。比喩や枠組み、これから説明する内容の予告ではなく、具体的な仕組みを説明してください。文章の密度は次の例を目安にしてください。「仮想化は、レンダリング用とディスクからの読み込み用の2つの部分で動作します。項目がバッファの範囲を越えてスクロールすると、そのDOMノードとメモリ内のデータが両方とも破棄されます。」文頭をすべて小文字にせず、通常の英文表記を使ってください。emダッシュは使わないでください。コンマよりピリオドを優先してください。1文につきコンマは1つか2つまでにしてください。節が重なる場合は、文を分けてください。それぞれの概念には名前を1つだけ付け、その名前を一貫して使ってください。「AがなければBもなく、BがなければAもない」のような対称的な文や、「残りはそのままです」「すべて自然に導かれます」といった締めくくりは避けてください。この手順に書かれた語句は指示であり、出力する見出しではありません。見出しや定型句として、その構成をそのまま繰り返さないでください。
**返信:**作業内容や成果物についての報告ではなく、説明そのものを書いてください。まず要点を述べ、その後に、何であるか、どう動くか、なぜそうなっているかを平易に説明してください。さらに、howやwhyで深掘りする価値のある点にも触れてください。
コメント
Markdown 対応