Claude-skill-registry first-principles
設計原則から再考。行き詰まった時に根本から考え直す。前提を疑い、本質的な解決策を探る。トリガー: /first-principles, 原点回帰, 根本から, ゼロベース
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/first-principles" ~/.claude/skills/majiayu000-claude-skill-registry-first-principles && rm -rf "$T"
manifest:
skills/data/first-principles/SKILL.mdsource content
First Principles Thinking
行き詰まった時、複雑になりすぎた時に、根本から考え直すためのスキル。
いつ使うか
- 実装が複雑になりすぎた
- 何を作ろうとしていたか見失った
- 技術的な解決策に固執している
- トレードオフの判断に迷っている
- 「なぜこうなっているのか」がわからなくなった
思考フレームワーク
Step 1: 本質的な問題の特定
## 今、何を解決しようとしている? **表面的な問題**: (技術的な実装の話) **本質的な問題**: (ユーザー/ビジネスにとっての価値) **確認質問**: - この問題が解決されると、誰がどう嬉しい? - この機能がなかったら、どんな困りごとがある?
Step 2: 前提の洗い出しと疑問
## 暗黙の前提 現在の実装で当然としている前提を列挙: 1. [ ] <前提1> → 本当にそうか? 2. [ ] <前提2> → なぜそう思った? 3. [ ] <前提3> → 別の方法はないか? **疑うべき前提**: - 「〜でなければならない」 - 「〜は無理」 - 「みんなそうしている」 - 「前からこうだった」
Step 3: 制約の再確認
## 本当の制約 vs 思い込み | 制約 | 種類 | 根拠 | |------|------|------| | 予算 100万円 | 🔒 固定 | 承認済み | | React使用 | ⚠️ 要確認 | 「チームが慣れている」だけ? | | REST API | ⚠️ 要確認 | GraphQLではダメな理由は? | | 1週間で完成 | 🔒 固定 | リリース日決定済み |
Step 4: ゼロベースでの選択肢
## もし最初からやり直すなら? **制約だけを条件に、白紙から考えた選択肢**: 1. **案A**: <description> - メリット: - デメリット: 2. **案B**: <description> - メリット: - デメリット: 3. **案C(現在の方向性)**: <description> - メリット: - デメリット: **最もシンプルな解決策は?** (機能を削る、別のアプローチ、やらない選択肢)
Step 5: 判断と次のアクション
## 結論 **選択**: 案X **理由**: 1. <reason1> 2. <reason2> **捨てるもの**: - <what to drop> **次のアクション**: 1. [ ] <action1> 2. [ ] <action2>
質問リスト
行き詰まった時に自問する質問:
問題について
- 「そもそも、これは解決すべき問題か?」
- 「問題の定義は正しいか?」
- 「誰のための機能か?」
解決策について
- 「最もシンプルな解決策は何か?」
- 「この機能を作らない選択肢は?」
- 「80%の価値を20%の労力で得る方法は?」
- 「完璧でなくていいなら、どうする?」
前提について
- 「なぜそう思った?」
- 「それは事実か、推測か?」
- 「逆のことが正しい可能性は?」
- 「5年後もこの前提は有効か?」
出力形式
## First Principles 分析 ### 現状 **やろうとしていること**: <description> **行き詰まっている点**: <description> --- ### 本質 **解決すべき本当の問題**: <core problem> **成功の定義**: <what success looks like> --- ### 前提の検証 | 前提 | 検証結果 | |------|---------| | <assumption1> | ✅ 有効 / ❌ 無効 / ⚠️ 要確認 | --- ### 再考後の選択肢 1. **シンプル案**: <description> 2. **現行案の修正**: <description> 3. **やらない案**: <description> --- ### 推奨 **選択**: <option> **理由**: <rationale> **削ぎ落とすもの**: <what to cut>
注意事項
- 分析麻痺を避ける: 考えすぎず、行動につなげる
- 完璧を求めない: 70%の解決策で十分なこともある
- チームと共有: 一人で抱え込まず、視点を借りる
- 時間を区切る: 30分考えて結論が出なければ相談