Inversion Exercise について
Inversion Exercise は、前提を体系的に反転させて検討する問題解決スキルです。別のアプローチを探り、反転が有効となる状況を見極めます。
主な機能
- 01核となる前提を列挙
- 02前提を一つずつ反転
- 03別の展開を検討
- 04反転の適用範囲を確認
活用シーン
- 01無理のある解決策を再検討
- 02一般的な手法以外の案を探索
- 03状況に左右される前提を特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ obra/ superpowers-skills --skill inversion-exerciseインストール後、Claude Code で/inversion-exerciseを入力して読み込まれたか確認します。
詳細
反転演習
概要
あらゆる前提をひっくり返し、何が機能するかを確かめます。ときには、正反対のことから真実が見えてきます。
基本原則: 反転によって、隠れた前提や別のアプローチが明らかになります。
クイックリファレンス
| 通常の前提 | 反転 | 明らかになること |
|---|---|---|
| レイテンシを減らすためにキャッシュする | キャッシュを可能にするためにレイテンシを追加する | デバウンスのパターン |
| 必要なときにデータを取得する | 必要になる前にデータをプッシュする | プリフェッチ、先行読み込み |
| エラーが発生したら対処する | エラーを起こせなくする | 型システム、コントラクト |
| ユーザーが望む機能を構築する | ユーザーが必要としない機能を取り除く | 追加よりもシンプルさ |
| 一般的なケースに合わせて最適化する | 最悪のケースに合わせて最適化する | レジリエンスのパターン |
プロセス
- 主要な前提を列挙する - 何が「必須」でしょうか?
- それぞれを体系的に反転させる - 「正反対だとしたら?」
- 影響を探る - 何を変えるでしょうか?
- 有効な反転を見つける - 実際にどこかで機能するのはどれでしょうか?
例
問題: ユーザーからアプリが遅いと不満が寄せられる
通常のアプローチ: あらゆるものを高速化する(キャッシュ、最適化、CDN)
反転: 一部の箇所を意図的に遅くする
- 検索にデバウンスを適用する(レイテンシを追加 → より良い結果を可能にする)
- リクエストをレート制限する(制約を加える → 不正利用を防ぐ)
- コンテンツを遅延読み込みする(遅らせる → 初期読み込みを減らす)
洞察: 戦略的に遅くすることで、UXを改善できる
これが必要な危険信号
- 「これを実現する方法は一つしかない」
- しっくりこない解決策を無理に採用している
- なぜそのアプローチが必要なのか説明できない
- 「これがいつものやり方だから」
覚えておくこと
- すべての反転が機能するわけではありません(境界をテストしましょう)
- 有効な反転は、状況に依存することを明らかにします
- 正反対のことが答えになる場合もあります
- 「必須である」という主張に疑問を持ちましょう
コメント
Markdown 対応