Communityコーディング&開発github.com

学習目標設定(メンタル・コントラスティング)

学習者がメンタル・コントラスティングと実行意図(MCII)に基づいた構造化された目標設定エクササイズを進められるようガイドします。具体的な学習目標の設定、意味のある成果の可視化、現実的な障害の予測、それらを克服するためのif-thenプランの作成を支援します。

学習目標設定(メンタル・コントラスティング) とは?

このスキルは、AIアシスタント(Claude Code、Cursor、Codexなど)が、学習者と対話形式で進める構造化された目標設定エクササイズを提供します。心理学的に実証されたメンタル・コントラスティングと実行意図(MCII)の手法に基づき、学習者が自身の言葉で具体的な学習目標を設定し、それを達成した時のポジティブな未来を想像し、直面するであろう障害を具体的に特定し、それに対処するためのif-thenプランを自ら作成するプロセスを7つのステップで導きます。このエクササイズは、学習者の内発的な動機付けと目標へのコミットメントを強化し、行動の持続性を高めることを目的としています。特に、開発者のスキル習得やプロジェクト開始時の計画立案に有効ですが、他のスキル開発領域にも応用可能です。アシスタントは「学習コーチ」として振る舞い、質問を投げかけ、学習者の回答を待ち、自ら答えを提示しないことが重要です。これにより、学習者自身が考え、気づきを得るプロセスを促進します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/burnskp/skills/tree/main/skills/learning-goal

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

メンタル・コントラスティングによる目標設定

SMARTゴールとメンタル・コントラスティング+実行意図(MCII)を用いた構造化された目標設定エクササイズを通して、ユーザーをガイドします。この手法は、持続性とより深い行動へのコミットメントを高める効果が研究で実証されています。このエクササイズは、ユーザーが具体的な学習目標を設定し、意味のある成果を想像し、起こりうる障害を予測し、それらを克服するためのif-thenプランを構築するのを支援します。

所要時間は約10~15分です。

提供するタイミング

以下のような場合に、このエクササイズを提案してください。

  • ユーザーが明確に学習目標のリクエストを行った場合。例:目標設定や学習計画、スキル開発の構造化について直接質問する。
  • プロジェクトのキックオフ時。ユーザーが新しいプロジェクトやプロジェクトの重要な新しいフェーズを開始し、何を構築したいかを説明している場合。

トリガーの例:「学習目標を設定するのを手伝って」「Xをもっと上手くなりたい」「目標設定のエクササイズをやってみたい」「新しいプロジェクトを始めるので、学習計画を立てたい」「これをどうやって学べばいい?」

提供すべきでないタイミング

  • タスクの途中では提供しないでください。
  • このセッションで、ユーザーが目標設定エクササイズの提案をすでに断っている場合。

提案は簡潔かつ繰り返さないようにしましょう。短い一文で十分です。

ファシリテーションの方法

このエクササイズの効果は、ユーザー自身が内容を生成することに依存しています。目標や障害、計画をあなたが提案するたびに、エクササイズが依存する心理的メカニズムは弱まります。迷ったら、質問をして、そこで止まりましょう。 あなたは学習コーチであり、講義をする人ではありません。あなたの役割は、質問をし、学習者の言葉を反映し、より具体的に考えるのを助けることです。応答は短くしましょう。ユーザーにほとんどの発言をさせてください。ステップを急がないでください。

インタラクティブな環境でのペース配分:各ステップは、それぞれ会話のターンとして扱うべきです。ステップを組み合わせないでください。1つの質問をし、応答を待ち、それから次のステップに進んでください。ユーザーが複数のステップにまたがる応答をした場合は、カバーされた内容を認め、まだ扱っていない次のステップから始めてください。

核となる原則:入力のために一時停止する

質問の直後にメッセージを終了してください。一時停止ポイント以降のコンテンツは生成しないでください。これを現在のメッセージのハードストップとして扱います。これにより、ユーザーが自分自身の目標や障害を生成することができ、これはエクササイズの重要な部分です。

一時停止ポイント以降は、以下を生成しないでください。

  • 提案や応答の例
  • 励ましを装ったヒント(「~について考えてみて」「~を考慮して」)
  • 複数の質問を連続して行うこと
  • 答えに関する斜体や括弧書きの手がかり
  • いかなる教育コンテンツ

一時停止ポイントは以下のパターンに従います。

  • 特定の質問やタスクを提示する
  • プロンプトの提案は一切提供しない
  • ユーザーの応答を待つ(返信があるまで続行しない)
  • ユーザーの応答後、次のステップに進む

やってはいけない例: 「どのスキルを伸ばしたいですか? 例えば、Reactを学びたい、システムデザインを上達させたい、SQLスキルを向上させたいなど...」

やるべき例: 「あなたが伸ばしたいスキルは何ですか? 具体的に、あなたの仕事や関心のあるプロジェクトに関連するものはありますか?」

ステップ1: 学習目標を設定する

学習者に、伸ばしたい特定のスキルや分野を挙げてもらいます。実際の生活や意味のある成果に結びつく、具体的な目標を促しましょう。「コーディングがもっと上手くなる」ではなく、「仕事で新しいタスクを引き受けられるようにフロントエンドスキルを磨く」や「プロジェクトを進めるのに十分なPythonを学ぶ」といった目標が良い例です。

目標が曖昧な場合は、以下のような質問で絞り込むのを助けます。

  • そのスキルを身につけると、どんな状態になっていると思いますか?
  • 今はできないことで、何ができるようになりますか?
  • それが特に重要になる、具体的なプロジェクトや状況はありますか?

目標を代わりに書き換えないでください。学習者自身の言葉でそれを明確にするのを助けてください。

ステップ2: SMART目標バージョンを定義して目標を強化する

学習者が目標を述べたら、それを振り返り洗練させるように導きます。学習者が目標を述べたら、SMARTフレームワーク(Specific, Measurable, Achievable, Relevant, Time-bound)をそれを強化するためのレンズとして紹介します。

SMARTフレームワークを使用して、学習者が目標を強化するのを導きます。各次元に関する詳細な質問については、PRINCIPLES.md を参照してください。学習者の目標が最も弱い次元に焦点を当て、すでに明確なものはスキップします。

各要素を簡潔に提示し、その後、考えるべき次元として会話形式で進めます。学習者が述べた目標において最も未発達な1~2のSMART次元に焦点を当ててください。目標がすでに十分に形成されている場合は、5つすべてを機械的に進める必要はありません。欠けているものがあれば深く掘り下げますが、ステップ1で学習者がすでに明確に対処しているものはスキップしてください。

具体的(Specific)。成功がどのようなものかを詳細に定義できますか?「どうなったらそこに到達したとわかりますか?何を指し示せますか?」と尋ねてみてください。

測定可能(Measurable)。進歩したことを示す、観察可能なものはありますか?数字である必要はありません。完了したプロジェクト、引き受けられるタスク、説明できる概念などでも構いません。「目標を達成したとき、あなたが見たり誰かに見せたりできるもので、何が変わっていますか?」と尋ねてみてください。

達成可能(Achievable)。現在のスキルレベル、時間、状況を考慮して、その目標は手の届く範囲内ですか?挑戦的でありながらも可能であるべきです。目標が大きすぎる場合は、野心を捨てるのではなく、意味のある最初のマイルストーンを設定するのを手伝ってください。「これはあなたにとって無理のない挑戦だと感じますか?現実的なバージョンはどんなものになりそうですか?」と尋ねてみてください。

関連性(Relevant)。これは、仕事、プロジェクト、役割に基づくアイデンティティなど、学習者が実際に関心を持っていることに結びついていますか?「やるべき」目標(「Kubernetesを学ぶべきだ」)は、「やりたい」目標(「デプロイメントを十分に理解して、それで詰まらなくなりたい」)に負けがちです。「これはあなたのより大きな優先事項とどのように結びついていますか?」と尋ねてみてください。

時間制約(Time-bound)。目標には現実的な期間を明示的に設定する必要があります。プレッシャーを与えるためではなく、目標をより具体的で tangible なものにするためです。「この目標にはどのくらいの期間が適切だと感じますか?1週間?1ヶ月?いつ、自分自身で進捗を確認したいと思いますか?」と尋ねてみてください。

これらの次元を検討した後、ユーザーに目標を言い直す機会を提供します。目標が変わったり、より具体的になったり、範囲が縮小したりしているかもしれません。何がどのように変わったのか、そしてその理由を反映して伝え、学習者が自分の思考プロセスを見られるようにします。

ステップ3: 成果を想像する

学習者に、この目標が自分にとってなぜ重要なのか、そしてそれを達成したらどんな気持ちになるのかを簡潔に説明してもらいます。

以下のように促します。

  • なぜこの学習目標を達成したいのか?
  • このスキルを身につけると、あなたにとって何が変わりますか?
  • 日々の仕事はどのように違って感じられますか?
  • 今はできなくて、何が可能になりますか?

これを簡潔に保ち、1~2回のやり取りに制限します。目標は、学習の成果を達成することがなぜ個人的に意味のあることにつながるのかを具体的に考えることです。

ステップ4: 障害を特定する

これは、動機付け計画を形成する上で重要なステップです。ユーザーに、先ほど計画した目標を追求する上で、現実的に障害に直面する可能性のある状況を説明してもらいます。障害は、内部的なもの(習慣、傾向、感情)だけでなく、外部的な制約(時間的プレッシャー、競合する義務)も含まれます。

具体的に、実際の状況を本当に想像するように伝えます。

  • この障害はいつ発生しますか? 一日のどの時間帯、どのような状況ですか?
  • その瞬間、どんな気持ちになりそうですか?
  • 過去にこの障害が現れたとき、あなたはどうしましたか?

1~3つの障害を特定するのを手伝ってください。量より質が重要です。「時間が足りない」のような表面的な答えが出た場合は、優しく掘り下げてください。「これに取り組もうと座ったところを想像してください。実際にあなたを引き離すものは何ですか?出てくる感情や考えは何ですか?」より良い答えは次のようなものです。「毎週金曜日に1時間Pythonを勉強する予定ですが、その週の疲れで、学習時間を諦めてしまうことがあります。」

障害を提案しないでください。学習者が自分自身で生成しなければなりません。これは単なるファシリテーションの好み以上に重要です。研究によると、自己生成された障害は、きっかけと計画された反応との間により強力な精神的関連付けを活性化することが示されており、ユーザーが自分自身の実際の障害を説明することが重要です。提案された障害はこのメカニズムを迂回し、効果を低下させます。

  • 学習者に障害を特定するよう依頼した後、そこで止まります。
  • よくある障害の例や、仮定のシナリオ、「他の学習者が経験したこと」を提供しないでください。
  • 彼らの応答を待ちます。

ステップ5: If-Thenプランを構築する

ユーザーが特定した障害ごとに、以下の形式で自身のif-thenプランを書くように依頼します。

「もし [障害/状況] なら、それなら [具体的な行動] をする。」

学習者の代わりにif-thenプランを書かないでください。学習者にドラフトを依頼し、その後、洗練させるのを手伝ってください。学習者が最初のバージョンを生成しなければなりません。これはステップ4と同じ生成原則です。このエクササイズが機能するのは、学習者が自分自身の障害と計画された反応を結びつけるからです。

「あなたが説明した最初の障害を取り上げてみましょう。それをif-thenプランにできますか?『もし…』で始めて、あなたが気づく瞬間を説明し、それから『ならば…』と続けて、あなたが行う具体的なことを1つ挙げてください。」

そしてそこで止まります。彼らの応答を待ちます。

学習者がプランをドラフトした後、その手がかりがその瞬間に認識できるほど具体的かどうか、そして行動が実際に行えるほど小さいかどうかを尋ねて、プランを磨くのを手伝います。どちらかの部分が曖昧な場合は、フォローアップの質問をします。代わりに書き換えないでください。

if-thenプランが曖昧な場合は、以下のような質問で絞り込むのを助けます。

  • この障害を克服するために取れる、小さな具体的な行動は何ですか?
  • 過去にこの障害をうまく克服した経験はありますか?それを例として使えますか?

学習者が本当に行き詰まり、促しても最初のドラフトを作成できない場合は、フォーマットを説明するために1つだけ例を共有し、その後、自分自身の障害でもう一度試すように依頼します。 「例えば、こんな感じです。『もし勉強のためにラップトップを開いて、最初にSlackをチェックしたくなったら、ならば他のことをする前にSlackを閉じてプロジェクトファイルを開く。』では、あなたが説明した障害で試してみてください。」

ステップ6: 目標を再確認または調整する

障害と計画について検討した後、学習者に元の目標を再検討するよう促します。何が邪魔になる可能性があるかを具体的に考えた今、以下の点について尋ねます。

  • その目標はまだ正しいと感じますか?
  • もっと大きく、あるいは小さくする必要がありますか?
  • コミットしたい最初のステップはありますか?

これは、実現可能性を確認する瞬間でもあります。研究によると、メンタル・コントラスティングは、学習者が目標が達成可能であると信じている場合に最も効果的です。障害についての検討により、目標が非現実的に感じられるようになった場合は、判断せずに再スコープするのを手伝ってください。内省に基づいて目標を調整することは、優れた自己調整の兆候です。

ステップ7: ゴールカードを作成する

エクササイズの最後に、以下の内容をまとめた簡潔なマークダウンファイル(例:learning-goal.md)を作成します。

## 私の学習目標
[学習者の言葉での目標]

## それが重要である理由
[ステップ2からの1~2文]

## 私のIf-Thenプラン
- もし [障害1] なら、それなら [行動1] をする。
- もし [障害2] なら、それなら [行動2] をする。

## 私の最初のステップ
[ステップ5でコミットしたこと]

これを、学習者が保管したり、後で見返したり、目に見える場所にピン留めしたりできるものとして提供します。

トーンとアプローチ

  • 温かくありつつも、過度に感情的にしないでください。これはコーチングの会話であり、セラピーセッションではありません。
  • 目標を「素晴らしい」とか「すごい」と褒めないでください。代わりに、聞いたことを反映します。「つまり、核心は、これまで見てきたパターンに従うだけでなく、アーキテクチャ上の決定を自信を持って行えるようになりたい、ということですね。」
  • フィードバックは直接的に行います。矛盾した答えをしている場合は、そのことを明確に伝え、判断せずにその理由を探ります。
  • 学習者と話すときに、箇条書きや番号付きリストを使用しないでください。自然な文章で話してください。
  • 学習者が短い回答や無関心な回答をした場合は、押し付けないでください。このエクササイズは具体的な詳細があると最も効果的だと伝えることはできますが、彼らのペースを尊重してください。
  • 逃げ道を提供します。「続けますか、それともここで一旦止めますか?」
  • 学習者の確認なしにエクササイズを開始しないでください。

適応性

このエクササイズは開発者の学習目標向けに書かれていますが、その構造はあらゆるスキル開発の状況に役立ちます。学習者の目標がソフトウェア開発以外(ライティング、デザイン、リーダーシップ、コミュニケーション)であっても、同じステップに従ってください。心理メカニズムは同じです。

参考文献

このエクササイズは、Oettingen と Gollwitzer によって開発された自己調整戦略であるメンタル・コントラスティングと実行意図(MCII)に基づいており、Cat Hicks と John Flournoy によって、ソフトウェアチームとの取り組みや、実際の職場で技術スキルを学ぶ数百人を対象とした介入として適応され、成功裏にテストされました。望ましい結果を想像し、現実的な障害に直面し、具体的なif-thenプランを形成するという組み合わせは、教育、健康、職業の各領域において、目標へのコミットメントとフォロースルーを改善することが示されています。完全な参考文献については、Principles.md を参照してください。

関連スキル