problem-solving について
問題解決が行き詰まったり複雑化したりした際に、体系的な手法を選ぶためのスキルです。よくある症状を、前提の反転、パターン認識、極端な規模での検証などに結び付けます。
主な機能
- 01症状に応じた手法の選択
- 02繰り返す特殊ケースの単純化
- 03異なる概念の組み合わせによる発想
- 04分野をまたぐパターンの発見
- 05極端な規模での前提検証
活用シーン
- 01例外が増え続ける実装の整理
- 02従来の方法が行き詰まった際の代案探索
- 03境界条件と本番規模の前提確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ samhvw8/ dotfiles --skill problem-solvingインストール後、Claude Code で/problem-solvingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/attribution.mdcollision-zone-thinking.mdinversion-exercise.mdmeta-pattern-recognition.mdscale-game.mdsimplification-cascades.mdwhen-stuck.md詳細
問題解決のテクニック
さまざまな種類の行き詰まりに対応する体系的なアプローチです。それぞれのテクニックは、特定の問題パターンを対象としています。
使用するタイミング
次のような状況に遭遇したときに適用します。
- 複雑さの増大 - 実装が複数に分かれ、特殊ケースが増え、分岐が過剰になっている
- イノベーションの停滞 - 従来の解決策では不十分で、飛躍的な発想が必要
- 繰り返し現れるパターン - 異なる領域で同じ問題が発生し、解決策を何度も作り直している
- 前提による制約 - 「この方法しかない」と決めつけられ、前提を疑えない
- スケールの不確実性 - 本番環境で使えるか不明で、エッジケースも把握できていない
- 一般的な行き詰まり - どのテクニックが当てはまるかわからない
クイックガイド
症状に合ったテクニックを選びます。
| 行き詰まりの症状 | テクニック | 参考資料 |
|---|---|---|
| 同じものを5通り以上実装していて、特殊ケースが増えている | 簡略化の連鎖 | references/simplification-cascades.md |
| 従来の解決策では不十分で、飛躍的な発想が必要 | 衝突領域思考 | references/collision-zone-thinking.md |
| 異なる場所で同じ問題が発生し、解決策を何度も作り直している | メタパターン認識 | references/meta-pattern-recognition.md |
| 解決策に無理があるように感じる。「この方法でやるしかない」 | 反転演習 | references/inversion-exercise.md |
| 本番環境で機能するか?エッジケースが不明? | スケールゲーム | references/scale-game.md |
| どのテクニックを使うべきかわからない | 行き詰まったとき | references/when-stuck.md |
主なテクニック
1. 簡略化の連鎖
複数のコンポーネントを取り除けるひとつの洞察を見つけます。「これが正しければ、X、Y、Zは不要です。」
重要な洞察: あらゆるものは、ひとつの一般的なパターンの特殊ケースです。
警告サイン: 「もうひとつケースを追加すればいいだけ……」(いつまでも繰り返す)
2. 衝突領域思考
無関係な概念を意図的に組み合わせ、新たな性質を見つけます。「XをYのように扱ったらどうなるでしょうか?」
重要な洞察: 意図的に比喩を組み合わせることで、革新的なアイデアが生まれます。
警告サイン: 「この領域では、もうあらゆることを試しました」
3. メタパターン認識
3つ以上の領域に現れるパターンを見つけ、普遍的な原則を探します。
重要な洞察: パターンがどのように生まれるかに見られるパターンから、再利用可能な抽象化が明らかになります。
警告サイン: 「この問題は独特です」(おそらくそうではありません)
4. 反転演習
中核となる前提を反転させ、隠れた制約を明らかにします。「もし正反対だったらどうなるでしょうか?」
重要な洞察: 有効な反転によって、「ルール」が文脈に依存することが明らかになります。
警告サイン: 「これをやる方法はひとつしかありません」
5. スケールゲーム
極端な条件(1000倍の規模、または1000分の1の規模、瞬間的な処理、または1年がかり)で試し、根本的な事実を明らかにします。
重要な洞察: あるスケールで機能するものが、別のスケールでは機能しないことがあります。
警告サイン: 「問題なくスケールするはずです」(テストしていない)
適用手順
- 行き詰まりの種類を特定する - 症状を上記のテクニックに照らし合わせます
- 詳細な参考資料を読む -
references/から該当するテクニックを読みます - 体系的に適用する - テクニックの手順に従います
- 洞察を記録する - うまくいったこと、いかなかったことを記録します
- 必要に応じて組み合わせる - 複数のテクニックが必要な問題もあります
テクニックの組み合わせ
効果的な組み合わせ:
- 簡略化 + メタパターン - パターンを見つけてから、すべての事例を簡略化する
- 衝突 + 反転 - 比喩を組み合わせてから、その前提を反転させる
- スケール + 簡略化 - 極端な条件によって、何を取り除くべきかを明らかにする
- メタパターン + スケール - 普遍的なパターンを極端な条件で検証する
参考資料
必要に応じて、詳細なガイドを読み込みます。
references/when-stuck.md- 手法を選ぶためのフローチャートと意思決定ツリーreferences/simplification-cascades.md- 連鎖の検出と抽出references/collision-zone-thinking.md- 比喩を組み合わせるプロセスreferences/meta-pattern-recognition.md- パターンを抽象化するテクニックreferences/inversion-exercise.md- 前提を反転させる手法references/scale-game.md- 極端な条件でのテスト手順references/attribution.md- 出典と改変に関する注記