mcpField
S
slim-down

slim-down

github.com/thaitype開発66130 回インストール5 週間前に更新
リポジトリ

slim-down について

膨らみすぎた計画や設計を、有用で拡張可能な一つの段階に絞るスキルです。既存コードを確認し、作業を維持・延期・除外に分類して、完了条件を定めます。

主な機能

  1. 01既存コードと計画の確認
  2. 02維持・延期・除外への分類
  3. 03延期項目の阻害要因を確認
  4. 04目標と完了条件の定義

活用シーン

  1. 01過剰設計された計画の縮小
  2. 02最初に実装する価値ある段階の選定
  3. 03後続作業を妨げない MVP の策定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thaitype/chief --skill slim-down

インストール後、Claude Code で/slim-downを入力して読み込まれたか確認します。

詳細

スリム化 — スコープを絞り、拡張性を保つ

大きくなりすぎた計画や設計を、価値をもたらし、将来の拡張を妨げない1つの小さな段階まで絞り込みます。

まず動くものを作り、そのあとで磨き上げましょう。ただし、後戻りできない設計にはしないでください。

使う場面

  • 計画や設計が過剰に複雑に感じられるとき
  • ユーザーが「これは大がかりすぎる」「まず何が必要?」「MVP」と言ったとき
  • スコープが膨らみ、次に作るものとして現実的な範囲を超えているとき

基本原則

**手を抜かずに、スコープを絞ります。**品質ではなく、機能を減らします。小さくても拡張可能な段階にし、行き止まりや「あとで捨てる」設計を避けます。

ワークフロー

ステップ 1:現状を把握する

何かを削る前に、すでにあるものを理解します。

  • 現在のコードベースを読む — 何が作られていて、どんなパターンが使われているか
  • スリム化する計画/検討結果/仕様を読む
  • 新たに必要な作業と、すでに完了している作業、または一部完了している作業を特定する

次の内容を短くまとめます。

  • 現状 — 今あるもの(2〜3行)
  • 最終目標 — 計画で実現しようとしていること
  • 不足分 — 現状と最終目標の間で欠けているもの
ステップ 2:核心を特定する

次の問いを考えます。「この計画が役に立つために、必ず実現すべきことは何か?」

核心となる価値を1文で表します。ユーザーに提示してください。これが基準となり、ほかのすべてをこれに照らして判断します。

ステップ 3:維持/延期/除外に分類する

計画に含まれるすべての項目を分類します。

基準
維持核心を機能させるために必要です。これなしではリリースできません。
延期価値はありますが、今は必要ありません。後から追加できるように設計します。
除外あれば便利なだけのもの、推測に基づくもの、まだ存在しない問題を解決するものです。

表を提示します。ユーザーが項目を移動できるようにしてください。

分類のルール:

  • 10倍の規模になって初めて必要になるもの → 延期
  • まだ発生していない例外的な状況に対応するもの → 延期
  • なくしても核心が損なわれないもの → 延期
  • 「柔軟性のため」に新しい抽象化レイヤーを追加するもの → 必要性が証明されていない限り除外
  • 現在のコードですでに部分的に対応しているもの → 維持(作り直さず、完成させる)
ステップ 4:拡張性を確認する

延期する項目ごとに、次の点を確認します。

  • 維持する項目によって、後から追加できなくならないか?
  • 今回の段階が、作り直しを強いる行き止まりにならないか?

該当する場合は、その項目を維持に戻すか、設計を調整します。

ユーザーが「拡張できる?」と尋ねたら、仮定ではなくコードに基づいて正直に答えます。

ステップ 5:今回の段階を定義する

何を作るか、短い定義を一緒に作成します。

  • 目標 — 1文
  • 実現すること — 維持する項目の箇条書き
  • 延期すること — 忘れないよう、延期する項目の箇条書き
  • 対象外 — 除外する内容とその理由
  • 完了条件 — 完了をどう確認するか

ユーザーが希望する場合は、ファイルに書き込みます。それ以外の場合は、認識が一致していることを確認します。

削るときに大切なこと

  • **既存コードを尊重します。**すでに動いているものの置き換えは提案せず、それを基盤にします。
  • **除外より延期を優先します。**除外は取り消せないように感じられますが、延期なら選択肢を残し、ユーザーも安心できます。
  • **実現への道筋を示します。**何かを延期するときは、現在の設計で後から追加できることを簡潔に説明します。
  • 具体的にします。「認証を延期する」では曖昧です。「OAuth は延期し、当面は API キーを使う。認証ミドルウェアのインターフェースは変えない」なら実行に移せます。

してはいけないこと

  • スリム化の最中に新しい機能を追加しない
  • アーキテクチャを再設計しない — 既存のものを活用する
  • 具体的な定義を示さずに「とにかく MVP にしましょう」と言わない
  • ユーザーがすでに作ったものを削らない — それはスコープの節約ではなく、作業の無駄です
  • ユーザーが最も安い選択肢を望んでいると決めつけない — ユーザーが求めているのは、最小の有用なものです

コメント