principle-subtract-before-you-add について
システムを進化させる際、機能を足す前に複雑さを減らす開発スキルです。実際の利用状況を基に、小さく壊れにくい変更を促します。
主な機能
- 01構築前に複雑さを削減
- 02磨き込む前に削減
- 03実際の利用状況に基づく設計
- 04推測によるガードの回避
- 05プロンプトと参照の簡素化
活用シーン
- 01機能案の過剰な範囲を確認
- 02システム拡張前の複雑さの削減
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ poteto/ plugins --skill principle-subtract-before-you-addインストール後、Claude Code で/principle-subtract-before-you-addを入力して読み込まれたか確認します。
詳細
追加する前に引き算する
システムを進化させるときは、まず複雑さを取り除いてから構築します。削除によって土台がシンプルになり、次に追加するものも小さく、壊れにくくなります。
理由: 複雑なシステムに追加すると、複雑さが積み重なります。先に削除することで対象範囲が狭まり、本質的な構造が明らかになり、たいてい次の設計も明確になります。まず引き算することを基本にしましょう。
パターン:
- 構築より先に削除する
- 磨き上げる前に削る(品質に投資する前に、まず最小限の形にする)
- 推測上のエッジケースではなく、実際に観察された使い方に合わせて設計する
- 仕様で求められていない、推測に基づくバリデーター、パーサー、ガードは追加しない
- 仕様外の機能を追加すると、それに伴ってバリデーターも必要になります。永続化、起動時の再試行、スキーマの移行には、それぞれ入力を保護するガードが必要です。
- プロンプトを簡素化する(冗長な指示や過剰なテンプレートを削除する)
- 参照先に新しい内容がなければ、空のひな形を残すのではなく削除する
コメント
Markdown 対応