mcpField
R
restraint

restraint

github.com/raphaelsalaja開発5362 回インストール今日更新
リポジトリ

restraint について

デザインやコードの変更を依頼された範囲に限定するレビュー用スキルです。不要なUIや設定、コードを見つけ、削除と報告の方法も定めています。

主な機能

  1. 01依頼されていないUIやコードの指摘
  2. 02動作する最小構成の優先
  3. 03不要なコードと関連要素の削除
  4. 04不要な設定やフォールバックの回避
  5. 05重大度別の問題報告

活用シーン

  1. 01機能変更に余分なUIがないか確認
  2. 02削除後に関連コードを整理
  3. 03実装案に不要なオプションがないか確認

インストール

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

$npx skills add https://github.com/raphaelsalaja/skills --skill restraint

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

同梱ファイルagents/openai.yaml

詳細

抑制

このスキルは、変更を依頼された内容だけに絞ります。余分なインターフェース、オプション、コードを取り除き、「削除」は完全に消すこととして扱います。

依頼内容を具体化する

ユーザーが求めていない要素、オプション、コードパスは、依頼を機能させるために必要でない限り、指摘事項です。未リリースの作業には、後方互換性は必要ありません。ユーザーが承認していない削除は、編集ではなく提案です。

ラベルの文言は copy に属します。既存の要素を再利用することは reuse に属します。

依頼内容以外は何も追加しない

ユーザーが求めていないセクション、バッジ、件数、キャプション、フッター、ボタン内のアイコン、サウンド、装飾効果は追加しません。すべての行に件数バッジを付けるのは restraint-no-unrequested-ui です。

画面ですでに示されているフィードバックは追加しない

結果がすでに画面に表示されている操作について、トーストやダイアログを追加しないでください。これは restraint-no-redundant-feedback です。

機能する最小限の実装

カスタム要素よりネイティブ要素を、モノレポより単一のアプリを、設定より固定値を優先します。<video controls> で機能するのにカスタムの動画プレーヤーを作るのは restraint-smallest-build です。誰も変更しない設定項目は restraint-no-needless-setting です。

リリース前に防御的なコードを追加しない

未リリースの作業には、レガシーブランチも互換性シムも残しません。これは restraint-no-legacy です。常に設定される値にフォールバックを追加しないでください。これは restraint-no-fallbacks です。

削除は完全に消すこと

ユーザーが削除を求めた場合は、コードとそのスタイル、変数、ルート、メニュー項目を削除します。「レビュー待ちにする」は restraint-delete-dont-defer です。削除したパッケージの変数が theme.css に残っているのは restraint-remove-the-trail です。

クリーンアップを依頼された場合は、未使用のファイル、エクスポート、スタイル、依存関係、残ったプロトタイプを列挙します。承認後に削除してください。

コメントは制約を示すか、削除する

コードの内容を説明するコメントは削除します。コードから読み取れない制約を示す場合に限り、コメントを残します。説明に終始するコメントは restraint-no-narrating-comments です。

対になる例

各チェックは対になっています。問題のある行の隣に、それを置き換える行を示します。

ルール問題のある例置き換え
restraint-no-unrequested-uiすべての行に件数バッジを付けるバッジなし
restraint-no-redundant-feedbackユーザーに見える移動の後にトーストを表示するトーストなし
restraint-smallest-buildカスタムの動画プレーヤー<video controls>
restraint-no-needless-setting誰も変更しない余白の設定項目固定の --gap
restraint-no-legacy「安全のため」に残されたレガシーブランチ削除
restraint-no-fallbacks常に設定される値に対する value ?? defaultValuevalue
restraint-delete-dont-defer「レビュー用に保留しました」削除、または質問を1つ
restraint-remove-the-trail削除したパッケージの変数が theme.css に残っている変数も一緒に削除
restraint-no-narrating-comments// Render the headerコメントなし

報告

重大度。 HIGH は、誰も求めていない機能、設定、コードパス、または「削除済み」とされながら残っている項目です。MEDIUM はフォールバック、レガシーブランチ、残存する変数です。LOW は説明に終始するコメントです。

形式。 根本原因ごとに指摘を1件記載します。

file:line - [rule-id] what is wrong

続いて Rule | Count | Severity のサマリーを記載します。HIGH が1つでも残っている場合は Block、それ以外は Approve とします。読んでいないファイルに Approve を付けてはいけません。実行できなかったチェックはすべて Not verified と記載します。

コメント