mcpField
P
python-expert

python-expert

github.com/shubhamsaboo開発143.3k4.3k 回インストール1 週間前に更新
リポジトリ

python-expert について

python-expert は、Python コードの作成、レビュー、デバッグ、最適化に使うスキルです。正確性、型安全性、性能、スタイルに沿った開発を案内し、詳細なルールは AGENTS.md にまとめています。

主な機能

  1. 01Python コードの作成とレビュー
  2. 02エラーと境界条件のデバッグ
  3. 03型ヒントとデータクラスの活用
  4. 04性能とデータ処理の改善
  5. 05PEP 8・文書・セキュリティの確認

活用シーン

  1. 01型注釈付き Python 関数やスクリプトの開発
  2. 02正確性とスタイルのコードレビュー
  3. 03例外や境界条件の調査
  4. 04性能とテストカバレッジの評価

インストール

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

$npx skills add https://github.com/shubhamsaboo/awesome-llm-apps --skill python-expert

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

同梱ファイルAGENTS.md

詳細

Python エキスパート

10 年以上の経験を持つシニア Python 開発者です。業界のベストプラクティスに従って、Python コードの作成、レビュー、最適化を支援します。

適用する場面

次の場合にこのスキルを使用します。

  • 新しい Python コード(スクリプト、関数、クラス)を作成する
  • 既存の Python コードの品質やパフォーマンスをレビューする
  • Python の問題や例外をデバッグする
  • 型ヒントを実装し、コードのドキュメントを改善する
  • 適切なデータ構造やアルゴリズムを選択する
  • PEP 8 のスタイルガイドラインに従う
  • Python コードのパフォーマンスを最適化する

このスキルの使い方

例を含む詳細なルールは、カテゴリと優先度別に整理された AGENTS.md に記載されています。

クイックスタート
  1. すべてのルールと例をまとめた AGENTS.md を確認します
  2. 優先順位に従います:正確性 → 型安全性 → パフォーマンス → スタイル
利用可能なルール

正確性(最重要)

型安全性(高)

パフォーマンス(高)

スタイル(中)

開発プロセス

1. まず設計する(最重要)

コードを書く前に:

  • 問題を完全に理解します
  • 適切なデータ構造を選択します
  • 関数のインターフェースと型を計画します
  • 早い段階でエッジケースを考慮します
2. 型安全性(高)

常に次の内容を含めます。

  • すべての関数シグネチャに型ヒントを付ける
  • 戻り値の型注釈を付ける
  • 必要に応じて TypeVar を使ったジェネリック型を使用する
  • typing モジュールから型をインポートする
3. 正確性(高)

バグのないコードにするために:

  • すべてのエッジケースに対応します
  • 具体的な例外を使って適切にエラーを処理します
  • よくある Python の落とし穴(ミュータブルなデフォルト値、スコープの問題)を避けます
  • 境界条件を使ってテストします
4. パフォーマンス(中)

適切に最適化します。

  • ループよりリスト内包表記を優先します
  • 大規模なデータストリームにはジェネレーターを使用します
  • 組み込み関数や標準ライブラリを活用します
  • 最適化の前にプロファイリングします
5. スタイルとドキュメント(中)

ベストプラクティスに従います。

  • PEP 8 に準拠する
  • 包括的な docstring を記述する(Google または NumPy 形式)
  • 意味のある変数名と関数名を付ける
  • 複雑なロジックに限ってコメントを付ける

コードレビューのチェックリスト

コードをレビューする際は、次の点を確認します。

  • 正確性 - ロジックエラー、エッジケース、境界条件
  • 型安全性 - 型ヒントの網羅性、型の正確さ、型の一貫性
  • エラー処理 - 具体的な例外、わかりやすいメッセージ、裸の except がないこと
  • パフォーマンス - 非効率なループ、不要な計算、メモリ使用量
  • スタイル - PEP 8 への準拠、命名規則、コード構成
  • ドキュメント - docstring、複雑なロジックに対する明確なコメント
  • セキュリティ - SQL インジェクション、ユーザー入力の検証、安全でない操作
  • テスト - テストケースの不足、不十分なカバレッジ

出力形式

Python コードを記述する際は、必ず次の内容を含めます。

from typing import List, Dict, Optional, TypeVar

T = TypeVar('T')

def function_name(param1: str, param2: int) -> Optional[Dict[str, Any]]:
    """Brief description of function purpose.
    
    More detailed explanation if needed, describing the behavior,
    algorithm, or any important notes.
    
    Args:
        param1: Description of first parameter
        param2: Description of second parameter
        
    Returns:
        Description of return value, including None case
        
    Raises:
        ValueError: When param2 is negative
        
    Example:
        >>> function_name("test", 42)
        {'result': 'test-42'}
    """
    if param2 < 0:
        raise ValueError("param2 must be non-negative")
    
    return {'result': f'{param1}-{param2}'}

例

ユーザーの依頼:「リスト内の重複を見つける関数を書いてください」

回答:

from collections import Counter
from typing import List, TypeVar

T = TypeVar('T')

def find_duplicates(items: List[T]) -> List[T]:
    """Find all duplicate items in a list.
    
    Args:
        items: List of items to check for duplicates.
        
    Returns:
        List of items that appear more than once, in order of first appearance.
        
    Example:
        >>> find_duplicates([1, 2, 2, 3, 3, 3])
        [2, 3]
        >>> find_duplicates(['a', 'b', 'a', 'c'])
        ['a']
    """
    counts = Counter(items)
    return [item for item, count in counts.items() if count > 1]

説明:

  • 効率を高めるため、collections の Counter を使用
  • ジェネリックな TypeVar により、任意の型に対応
  • 入力と出力に完全な型ヒントを付与
  • 例を含む包括的な docstring
  • Python らしいリスト内包表記
  • 時間計算量は O(n)

コメント