Communitygithub.com

Jamie-Cui/skills

セッション全体に適用されるポリシーを有効化し、アーキテクチャ上正当化される破壊的変更を許可し、プロジェクト所有の過去のインターフェースとの互換性を設計制約から除外します。ユーザーが明示的に `$allow-breaking-change` を呼び出した場合にのみ使用し、汎用的なリファクタリング、簡素化、アーキテクチャ、互換性、または破壊的変更の議論から暗黙的にトリガーされることはありません。ユーザーが特定のタスクでオーバーライドするか無効化しない限り、現在の会話の残り全体にわたってプロジェクトやタスクをまたいでポリシーをアクティブに維持します。

skills とは?

このスキルは、AIエージェント(Claude Code、Cursor、Codexなど)が作業する際に、プロジェクト所有の過去のインターフェースとの互換性を維持する必要をなくすためのポリシーを提供します。ユーザーが明示的に `$allow-breaking-change` を呼び出した場合のみアクティブになり、現在の会話セッションが終わるまで、またはユーザーが無効化するまで、すべてのプロジェクトとタスクに適用されます。 主な目的は、アーキテクチャ上の正当性に基づいた破壊的変更を許可し、よりシンプルで堅牢な設計を優先することです。互換性維持のためのアダプター、非推奨期間、並行実装などの追加作業を回避し、すべての呼び出し元、テスト、ドキュメントを新しい契約に更新します。ただし、データ保護のための一方向ロスレスマイグレーションの提供や、外部標準・プラットフォームABIの尊重は引き続き要求されます。 このポリシーは、KISSおよびUnixifyスキルと連携して動作し、互換性保護のガードレールのみをオーバーライドします。破壊的変更の際には、影響を受ける契約やマイグレーション計画を明確に報告することが求められます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jamie-Cui/skills/tree/HEAD/skills/allow-breaking-change

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

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

ドキュメント

破壊的変更を許可

現在の会話の残り全体において、プロジェクト所有の過去の動作との互換性をオプションとして扱います。現在の要件に対して最もシンプルで健全なアーキテクチャを優先し、単なる新奇性のために動作を壊さないでください。

ポリシーの有効化と維持

  1. 明示的な $allow-breaking-change の呼び出しがあった場合のみ有効化します。
  2. 単独の呼び出しの場合、有効化とそのデータ保護の境界を簡潔な一文で確認し、タスクを待ちます。タスクが付随する呼び出しの場合、最初に有効化してからタスクを処理します。
  3. 会話が終了するか、ユーザーが明示的に無効化するまで、計画、設計、レビュー、診断、実装を含むすべてのプロジェクトとタスクにポリシーを適用します。
  4. 「このタスクでは互換性を維持する」といった明確なタスクレベルの指示は一時的なオーバーライドとして扱います。「allow-breaking-change を無効化」といった明確な指示は、会話の残り全体に対する取り消しとして扱います。
  5. アクティブなポリシーは、互換性が決定や結果に影響する場合にのみ言及します。無関係なターンでステータスを繰り返し通知しないでください。
  6. 優先度の高い指示、リポジトリの要件、明示的な現在のタスクの制約には引き続き従います。

過去の互換性なしで決定を行う

  • プロジェクト所有のレガシーAPI、CLI、設定、プロトコル、ファイル形式との後方互換性および前方互換性を決定基準から除外します。
  • 過去の利用者を維持するためだけに、アダプター、非推奨期間、並行実装、バージョンブリッジ、レガシーパーシングを追加しないでください。
  • スコープ内のすべての呼び出し元、テスト、ドキュメント、例、生成されたアーティファクトを新しい契約に更新します。
  • 古いテストを意図に基づいて分類します。互換性のためだけに存在するアサーションは削除または書き換え、正確性、セキュリティ、データ整合性、アクセシビリティ、現在の動作に関する要件は保持します。
  • 実装労力、リグレッションリスク、検証の難しさ、パフォーマンス、運用リスクは引き続き考慮します。互換性を壊す許可は、タスクスコープの拡大や破壊的行為の許可ではありません。
  • 外部標準、プラットフォームABI、アクティブなサードパーティ契約、現在のタスクの一部であるその他の相互運用性要件は引き続き尊重します。

KISSとUnixifyでアーキテクチャを判断する

責任境界、インターフェース、データ表現、システムレイヤーへの重要な変更については、最初にインストールされた $kiss スキルを適用して不要な概念とメカニズムを削除し、次に $unixify を適用して残りの責任、表現、構成インターフェースを整形します。ローカルな機械的変更にはこの追加ワークフローをスキップします。

このポリシーがアクティブな間は、KISSおよびUnixifyの互換性維持ガードレールのみをオーバーライドします。正確性、セキュリティ、データ整合性、明確性、正当化された境界、観測可能な障害動作など、他のガードレールは維持します。

データと操作の保護

  • 保存データを互換性のない表現に移行する必要がある場合は、一方向のロスレスマイグレーションを提供し検証します。マイグレーション後は新しい表現のみをサポートします。
  • ロスレスマイグレーションが不可能な場合は、失われる情報やセマンティクスを特定して報告します。ロッシーマイグレーションを実行する前に、タスク固有の決定を取得します。
  • 現在の可用性要件やローリングデプロイ要件により、混在バージョン運用が必要な場合にのみ、一時的な互換性ブリッジを導入します。ブリッジには明示的な削除条件を設定し、移行後に削除します。

破壊的変更の伝達

選択した設計が破壊的であるという理由だけで許可を要求しないでください。計画、レビュー、または完了報告書で、主要な破壊された契約、影響を受ける呼び出し元やデータ、必要なマイグレーション、実行された検証を簡潔に特定します。

関連スキル