Communitygithub.com

パレ (簡素化スキル)

ソフトウェアシステムの簡素化監査とレビューを実施します。排除、直接状態、ローカル所有権、深いモジュール、ネイティブ機能、YAGNIを優先し、複雑さの移転を拒否します。

パレ (簡素化スキル) とは?

このスキルは、ソフトウェアシステムの簡素化を専門に行うエージェントスキルです。`audit`モードではシステム全体のサブシステム簡素化監査を読み取り専用で実施し、`review`モードでは特定の変更候補を簡素化の観点からレビューします。システムの複雑さを排除、再利用、派生、局所化、縮小という簡素化ラダーに従って評価し、不必要な抽象化や複雑さの移転を拒否します。発見事項にはタグ(`delete`、`native`、`yagni`、`state`、`owner`、`scope`、`test`、`shrink`、`proof`)を用いて、リスク、証拠、確信度を報告します。変更の実行は行わず、証拠に基づいた簡素化の推奨と実装スライスの提示のみを行います。

対応~Claude Code~Codex CLI~Cursor
npx skills add quantipixels/skills

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

パレ́

排除、直接状態、ローカル所有権、深いモジュール、ネイティブ機能、YAGNIを優先します。複雑さの移転を拒否します。

モード:

  • audit — 境界が定められたソフトウェアシステム/サブシステムの簡素化監査。読み取り専用。テスト/ビルドなし。
  • review — 1つの固定されたソフトウェア候補。読み取り専用。プロバイダー/判定なし。

欠陥判定/状態パリティ、実装、技術アーキテクチャをこの読み取り専用の簡素化結果の外に保持します。

証拠

ソフトウェアシステム/候補、ベースライン、指示、除外事項を固定します。現在のコンシューマー、実装/設定、履歴、生成物/フレームワークの到達可能性、および実質的な簡素化クレームを区別するために必要なシステムネイティブの証拠のみを検査します。検索またはツールの欠如はそれ自体では削除の証明にはならず、ツール/メトリクスの出力は簡素化の判定ではなく証拠です。

制御フロー/状態空間/ネスト/ファンアウト/ライフサイクル/複雑さ/テストボリュームが調査を実質的に支配する場合は、複雑さと証明を読んでください。繰り返し発生する保守性/所有権パターンが実質的である場合は、保守性パターンを読んでください。パターンとメトリクスはシグナルであり、所見ではありません。

簡素化ラダー

実際のフロー/コンシューマー/契約を理解した後、最初の適切な削減を採用します:

  1. 排除 — そのメカニズムが存在する必要がない、または既存の要素に必要な動作、契約、コンシューマー、所有者がない。
  2. 再利用 — 現在の実装/システム機能 → stdlib/フレームワーク/プラットフォーム → インストール済み依存関係/ツール。
  3. 派生 — タイミング/所有権/コストを維持しながら、保存/重複状態を排除。
  4. 局所化 — ポリシー/状態を実際の所有者/深いモジュールに配置。
  5. 縮小 — 最小限の直接メカニズム。推測によるバリエーションなし。

ファイルや関数が大きい、またはスコアが高いという理由だけで抽出や間接化を推奨しないでください。新しい抽象化は、正味の意味的負担を取り除き、現在のバリエーションまたは独立した実際の境界を所有する場合にのみ簡素化となります。

監査

重複のないソース、エントリポイント、ビルド、テスト、ツール、プラットフォーム、ランタイム/設定、生成されたサブシステムを棚卸しします。実装/依存関係/設定/サポートアーティファクトを保持 | 削除安全 | ブロックに分類します。個別の削除、表現、所有権、アルゴリズム、複雑さ(該当する場合)、証明パスを実行します。

削除の安全性には、検索以上のものが必要です: 呼び出し元、動的/フレームワーク/生成された到達可能性、設定/データ、ビルド、コンシューマー、履歴、契約、証明所有者を確認します。より強力な完全な所有者が存在しない場合、公開/セキュリティ/データ整合性/並行性/リカバリ/アダプタ/ランタイム/相互作用/アクセシビリティの契約を保持します。

テストはカウントやカバレッジではなく、耐久性のある契約価値によって監査します。証拠が、テストが重要な契約を独立して反証できない、プロダクションロジックを再計算/ミラーリングする、動作ではなくモック/コレオグラフィを検証する、プライベート構造を保護する、プロジェクトが所有していないフレームワーク/ライブラリの動作をテストする、より強力な既存の証明を複製する、不釣り合いなスキャフォールディングを必要とする、または構築履歴としてのみ存続することを示す場合、そのテストは簡素化の候補です。テストが実装が小さくても重要な安定した不変条件を一意に保護する場合、削除を推奨しないでください。

実質的な削減を影響/リスク/労力/依存関係でランク付けし、実装スライスを表現します。実行はしません。散在する呼び出し元の知識、転送レイヤー、重複ポリシー、浅いシームが深化の機会を示している場合、誤った責任と呼び出し元の負担を特定します。置換モジュール/インターフェース/シームの選択自体が重要なアーキテクチャ上の問題である場合、pare内での置換設計ではなくarchitectを使用します。

レビュー

提供された候補を固定します。それ以外の場合は、正確な現在の変更境界を使用します。凝集性、結合、再利用、YAGNI、語彙、無効/重複状態、所有権、深さ、証明、実質的な意味的複雑さをチェックします。

さらに以下もチェックします:

  • 変更エンベロープのドリフト: 簡潔な要求された動作または証明理由のない、触れられたサブシステム/ファイル/契約。
  • 新しい依存関係、並列実装、互換性パス、推測的な抽象化、または無関係なクリーンアップによるスコープ拡大。
  • 主にテスト容易性のために導入され、独立した実際のプロダクション境界を持たないプロダクションアーキテクチャ。
  • 原因となる状態や所有者を排除/強化することで消滅する可能性のあるエッジケースの仕組み。
  • 安定したシーム、独立したオラクル、反証可能性、より強力な既存の証明、およびメンテナンス負荷に対する耐久性のあるテスト。

テスト合格、カバレッジ、行数削減、ツールスコアは証拠としてのみ扱います。明らかにデッドまたは冗長なコードは、安全な削除が証拠によってサポートされている場合、クリーンアップ推奨として表面化されることがあります。その存在だけではブロッキング所見にはなりません。可能性のある欠陥はatunwoにルーティングします。競合するプロジェクト/ドメイン語彙はamoseにルーティングします。実質的な簡素化所見が新しい重要なモジュール/インターフェース/シームの設計を必要とする場合、その技術的形態はarchitectに委ね、ここには証拠に裏付けられた簡素化の必要性のみを保持します。

意図的な簡素化に文書化された上限/再訪トリガーがある場合、現在の証拠がそれをサポートしていれば保持します。観察可能な再訪トリガーのない実質的な意図的制限は、別個の負債システムを作り出す理由ではなく、保守性の問題です。

所見

delete、native、yagni、state、owner、scope、test、shrink、proofなどのタグを使用し、以下のように報告します:

<タグ> <コスト/結果>. <より小さな形態>. [場所]
リスク: <実質的なリスク>
証拠: <証拠 / 将来の証明所有者>
確信度: <レベル>

推奨する前に、同一性、到達可能性、所有権、証明、移行、関連するワークスペース状態を再確認します。テスト/ビルドを実行したり変更したりせずに、将来の検証/権限を述べます。

スコープ/同一性、ランク付けされた削減、保持された契約、証明所有者、ブロッカー、実装スライス、必要な実行権限、将来の検証、残存リスクを返します。

関連スキル