mcpField
R
restraint

restraint

github.com/playful-design開発1686 回インストール1 週間前に更新
リポジトリ

restraint について

restraint は、ソフトウェア変更が依頼の範囲に沿っているかを確認するスキルです。不要な UI やコード、削除漏れを特定し、ルール ID、重要度、報告形式を示します。

主な機能

  1. 01未依頼の UI とコードの確認
  2. 02動作する最小構成の優先
  3. 03削除対象の完全な削除
  4. 04レガシーコードと不要なフォールバックの指摘
  5. 05重要度と指摘形式の定義

活用シーン

  1. 01変更のスコープ逸脱の確認
  2. 02クリーンアップ後の残存物の確認
  3. 03承認前の不要コードの報告

インストール

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

$npx skills add https://github.com/playful-design/router --skill restraint

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

同梱ファイルagents/openai.yamlLICENSE

詳細

抑制

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

依頼内容を具体化する

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

ラベルの文言は 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 と記載します。

コメント