JaneZ-2006/Anti-Over-Defense

過剰な防御的設計を防ぎ、コーディングタスクを直接的な成果物に集中させるためのCodexスキルです。

Anti-Over-Defense とは?

このスキルは、AIエージェント(特にCodex)がタスクを実行する際に、過剰なエンジニアリングや防御的設計に陥るのを防ぎ、必要最小限の実装に集中させることを目的としています。開発者がAIに対して明確で効率的なコード生成を期待する場面で有効です。具体的には、エラーハンドリングの過剰追加、将来の拡張を見越した不要な抽象化、パフォーマンス最適化の先送りや過度な設計などを抑制します。SKILL.mdには、タスクの直接的な完了を優先し、過度な堅牢性や柔軟性を求めないこと、必要以上に複雑なパターンを避けることなどが指示されています。このスキルにより、AIは余計な処理を減らし、コードの可読性と納期を重視した成果物を生成できるようになります。

対応~Claude Code✓Codex CLI~Cursor
npx skills add JaneZ-2006/Anti-Over-Defense

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

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

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

ドキュメント

Anti-Over-Defense は何をしますか?

過剰なエンジニアリングを防ぎ、コーディングタスクを直接的な成果物に集中させるためのCodexスキルです。

概要

このスキルは、AIエージェントがタスクに対して過剰に防御的な設計や実装を行うことを抑制します。特に、本来不要なエラーハンドリング、過度な抽象化、将来の拡張を見越した過剰なコード構造を避け、現時点での要件に集中した効率的なコード生成を促します。

目的

  • 過剰なエンジニアリングを防止し、コードの複雑性を低減する
  • タスク完了までの時間を短縮し、納期を重視する
  • コードの可読性と保守性を犠牲にすることなく、必要最小限の機能に集中する

使用方法

このスキルはCodexエージェント内で自動的に適用されます。特に以下のような状況で効果を発揮します:

  • 要件が明確で、追加機能が不要な場合
  • プロトタイプやMVP(Minimum Viable Product)の開発時
  • コードレビューやリファクタリングで、過剰な設計を指摘したい場合

動作の詳細

エージェントは以下の原則に従います:

  1. 要件に忠実に:指定された要件を超える機能は追加しない
  2. シンプルさを優先:必要以上に複雑なデザインパターンや抽象化を避ける
  3. エラーハンドリングは最小限に:システムが実際に必要とする範囲に限定し、過度なtry-catchやバリデーションを避ける
  4. 将来の拡張を想定しない:現時点で要求されていない将来の機能や変更を考慮した設計を行わない
  5. 直接的な実装:必要ならば、中間層やラッパーを追加せずに直接的なアプローチを取る

例

良い例(このスキルを適用した場合)

def calculate_total(items):
    return sum(item['price'] * item['quantity'] for item in items)

悪い例(過剰なエンジニアリング)

from abc import ABC, abstractmethod
from typing import List, Dict, Any

class ItemProcessor(ABC):
    @abstractmethod
    def process(self, item: Dict[str, Any]) -> float:
        pass

class PriceCalculator(ItemProcessor):
    def process(self, item: Dict[str, Any]) -> float:
        return item['price'] * item['quantity']

class TotalCalculator:
    def __init__(self, processor: ItemProcessor):
        self.processor = processor

    def calculate(self, items: List[Dict[str, Any]]) -> float:
        return sum(self.processor.process(item) for item in items)

注意事項

  • このスキルは、厳格なエラーハンドリングや堅牢性が求められるプロダクションシステムには適さない場合があります。
  • 必要に応じて、特定のタスクではこのスキルを明示的に無効にすることも検討してください。

関連情報

  • 開発者: JaneZ-2006
  • 対応プラットフォーム: Codex

関連スキル