pare について
Parẹ́は、ソフトウェアシステムやコード変更の簡素化候補を調べる読み取り専用のエージェントスキルです。所有権、動作、到達可能性、契約の証拠を基に、可読性と必要な動作を保つ削減案を順位付けします。
主な機能
- 01読み取り専用の簡素化分析
- 02システム棚卸しまたは変更検査
- 03証拠に基づく削除安全性の確認
- 04可読性を保つ削減基準
- 05推奨案と検証要件の順位付け
活用シーン
- 01安全に削除できる候補の特定
- 02コード変更のスコープ逸脱を確認
- 03テストが安定した契約を守る価値を評価
- 04変更を実行せず簡素化作業を計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ quantipixels/ skills --skill pareインストール後、Claude Code で/pareを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/complexity-and-proof.mdmaintainability-patterns.md詳細
Parẹ́
削除、状態の直接的な表現、ローカルな所有、深いモジュール、ネイティブ機能、YAGNI を優先します。複雑さを別の場所に移すことは避けます。簡素化によって可読性を維持するか、向上させる必要があります。
大規模な分析、調査、専門的な作業はサブエージェントに委任し、メインのコンテキストを簡潔に保つため、調査結果と根拠へのリンクを簡潔に返します。
対象範囲は、依頼されたシステム/サブシステム、または正確なコード変更に限定します。以下の共通の根拠と簡素化の基準を使用し、対象範囲に応じてシステムのインベントリ確認または変更箇所の調査を選択します。読み取り専用で作業します。テストやビルドの実行、プロバイダーへの書き込み、候補に対する採用判断は行いません。
不具合の判定、状態を伴う同等性、実装、技術アーキテクチャは、この読み取り専用の簡素化結果の対象外とします。
根拠
ソフトウェアシステム/候補、ベースライン、指示、除外事項を特定します。重要な簡素化に関する主張を見分けるために必要な、現在の利用箇所、実装/設定、履歴、生成物/フレームワークによる到達可能性、システム固有の根拠のみを調査します。検索やツールで見つからないことだけを削除の証明として扱ってはなりません。また、ツールやメトリクスの出力は根拠であり、簡素化の結論ではありません。
制御フロー/状態空間/ネスト/呼び出しの広がり/ライフサイクル/複雑さ/テスト量が調査に大きく影響する場合は、複雑さと証明を読みます。保守性や所有に関するパターンの繰り返しが重要な場合は、保守性パターンを読みます。パターンとメトリクスは兆候であり、所見そのものではありません。
簡素化の段階
重要な候補ごとに、実際のフロー、利用箇所、契約を把握します。必要な動作を維持しながら、全体的な保守負担と理解の負担を軽減できる場合にのみ、削減を選択します。現状のまま維持することも妥当な結果です。以下の段階から、妥当なもののうち最も早い選択肢を優先します。
- 削除 — その仕組みが不要な場合、または既存の要素に必要な動作、契約、利用者、所有者がない場合。
- 再利用 — 現在の実装/システムの機能 → 標準ライブラリ/フレームワーク/プラットフォーム → インストール済みの依存関係/ツール。
- 導出 — タイミング/所有/コストを維持しながら、保存された状態や重複した状態をなくす。
- 局所化 — ポリシー/状態を、本来の所有者である深いモジュールに置く。
- 簡素化 — 実装と呼び出し元全体にわたる意味的・認知的負担を最小限にする。慣用的で読みやすい制御フローを維持し、行数を減らすためだけにコードを圧縮したり、複雑さを呼び出し元へ移したりしない。
ファイルや関数が大きい、あるいはスコアが高いというだけで、抽出や間接化を推奨してはなりません。名前と境界によって一貫した処理が理解しやすくなる場合に、ナビゲーションと呼び出し側の負担も考慮してヘルパーを抽出します。すべてのヘルパーに再利用や独立したライフサイクルの所有が必要なわけではありません。汎用の抽象化には、追加の仕組みを正当化する、現在の変化点または独立して実在する境界が必要です。
可読性の制約
書式ではなく、責務と推論の負担を減らします。有用な空白や改行の削除、文の結合、式の圧縮は、許容されるコード削減の結果ではありません。フォーマッターによる変更や物理的な行数の減少を、簡素化として数えてはなりません。
役立つ名前、中間値、説明コメント、ガード節、明示的なライフサイクルの手順を維持します。制御フロー、状態遷移、エラー、クリーンアップを追いやすくするために、行数が増えてもかまいません。それらの経路について、元の形式と提案する形式を比較します。動作が変わらずテストに合格しても、理解しにくくなる削減は却下します。どの知識、状態、ポリシー、間接化がなくなるのか、そして残るコードの可読性が少なくとも同等である理由を説明します。
システムのインベントリ
対象が既存のシステムまたはサブシステムの場合:
重複しないソース、エントリーポイント、ビルド、テスト、ツール、プラットフォーム、ランタイム/設定、および生成サブシステムをインベントリ化します。実装/依存関係/設定/サポート成果物を retain | delete-safe | blocked に分類します。削除、表現、所有者、アルゴリズム、重要な場合の複雑さ、および証明のパスを個別に実施します。
削除が安全であると判断するには、検索で見つからないことだけでは不十分です。呼び出し元、動的/フレームワーク/生成コードからの到達可能性、設定/データ、ビルド、利用者、履歴、契約、および証明の所有者を確認してください。より強力で完全な所有者が存在しない場合は、公開/セキュリティ/データ整合性/並行性/復旧/アダプター/ランタイム/インタラクション/アクセシビリティの契約を維持してください。
テストは件数やカバレッジではなく、持続的な契約価値に基づいて監査してください。証拠から、テストが重要な契約を単独で反証できない、本番ロジックを再計算または模倣している、動作ではなくモックや処理順序を検証している、非公開の構造を保護している、プロジェクトが所有しないフレームワーク/ライブラリの動作をテストしている、より強力な証明と重複している、不釣り合いな足場を必要とする、または構築の経緯として残っているだけだと分かる場合、そのテストは簡素化の候補です。実装が小さくても、安定した重要な不変条件をそのテストだけが保護している場合は、削除を推奨しないでください。
重要な簡素化を影響/リスク/労力/依存関係に基づいて順位付けし、実装スライスとして示してください。実行してはいけません。行数が増えても、より明確な形であれば評価し、代替案が負担を増やす場合は現行の実装を維持してください。呼び出し元に散在する知識、中継レイヤー、重複するポリシー、または浅い境界が、責務をより深い層に集約する機会を示している場合は、責務の所在が適切でない箇所と呼び出し元の負担を特定してください。必要に応じて architect を使用してください。
変更の確認
対象がコード変更の場合:
提示された候補を固定してください。提示されていない場合は、現在の変更範囲を正確に使用してください。一貫性、結合、再利用、YAGNI、用語、不正/重複状態、所有者、深さ、証明、および重要な意味上の複雑さを確認してください。
さらに、以下を確認してください。
- 変更範囲の逸脱:変更されたサブシステム/ファイル/契約のうち、要求された動作または証明に関する簡潔な理由がないもの。
- 新たな依存関係、並行する実装、互換性パス、先回りした抽象化、または無関係な整理によるスコープ拡大。
- 独立して実在する本番境界がないのに、主にテスト容易性を目的として導入された本番アーキテクチャ。
- 原因となる状態または所有者をなくす/強化することで不要にできるエッジケース向けの仕組み。
- 安定した境界、独立したオラクル、反証可能性、既存のより強力な証明、および保守負担に照らした持続的なテスト。
テスト合格、カバレッジ、行数の削減、またはツールのスコアは、あくまで証拠として扱ってください。明らかに使われていない、または冗長なコードは、安全な削除が証拠で裏付けられる場合、整理の推奨事項として示しても構いません。それが存在するというだけで、阻害要因として報告してはいけません。必要に応じて amose と architect を使用してください。
意図的な簡素化に、文書化された上限/見直しのトリガーがある場合、現時点の証拠が支持するなら維持してください。重要で意図的な制限に、観測可能な見直しトリガーがない場合は保守性の懸念として扱い、別個の負債管理システムを作る理由としてでっち上げないでください。
指摘事項
delete、native、yagni、state、owner、scope、test、shrink、proof などのタグを使用して、次を報告してください。
<tag> <cost/consequence>. <proposed form and why it is simpler to maintain>. [location]
Risk: <material risk>
Proof: <evidence / future proof owner>
Confidence: <level>
推奨する前に、同一性、到達可能性、所有者、証明、移行、および関連するワークスペースの状態を再確認してください。テスト/ビルドを実行したり、変更を加えたりせず、今後必要となる検証/実行権限を明記してください。
対象範囲/同一性、順位付けした簡素化または根拠のある維持判断、維持する契約、証明の所有者、阻害要因、実装スライス、必要な実行権限、今後の検証、および残余リスクを返してください。