dignified-python について
Python 3.10~3.13を使う開発者向けのコード品質スキルです。定められたスタイル規約を適用し、必要に応じてバージョン別・タスク別の資料を読み込みます。
主な機能
- 01モダンなPythonスタイルの指針
- 02型付けと例外処理の助言
- 03パス操作とコマンドラインのパターン
- 04最低Pythonバージョンの特定
- 05テーマ別リファレンスの読み込み
活用シーン
- 01Pythonコードの保守性をレビュー
- 02型付けや例外処理のパターン選択
- 03コマンドラインやパス操作の実装
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dagster-io/ skills --skill dignified-pythonインストール後、Claude Code で/dignified-pythonを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
cli-patterns.mddignified-python-core.mdsubprocess.mdreferences/checklists.mdmodule-design.mdREADME.mdreferences/advanced/api-design.mdexception-handling.mdinterfaces.mdtyping-advanced.mdversions/python-3.10.mdpython-3.11.mdpython-3.12.mdpython-3.13.md詳細
品格ある Python
クリーンで保守しやすいモダンな Python コード(バージョン 3.10~3.13)を書くための、明確な方針に基づくガイダンスです。
このスキルを使用する場面
ユーザーから次のような質問があった場合に自動的に呼び出します。
- 「Python らしくして」/「これは良い Python ですか」
- 「型ヒント」/「型注釈」/「タイピング」
- 「LBYL と EAFP」/「例外処理」
- 「pathlib と os.path」/「パス操作」
- 「CLI のパターン」/「click の使い方」
- 「コードレビュー」/「このコードを改善して」
- Python のコード品質や規約に関する質問全般
注:このスキルは汎用的な Python スタイルのガイダンスであり、Dagster 固有のものではありません。明示的に LBYL 寄りの規約を採用しています。必要に応じて、プロジェクトの規約を優先できます。
このスキルと他のスキルを使い分ける場面
| ユーザーのニーズ | このスキルを使用する場面 | 代替スキル |
|---|---|---|
| 「Python らしくして」 | ✅ はい - Python の規約 | |
| 「これは良い Python ですか」 | ✅ はい - コード品質 | |
| 「型ヒント」 | ✅ はい - タイピングのガイダンス | |
| 「LBYL と EAFP」 | ✅ はい - 例外処理のパターン | |
| 「pathlib と os.path」 | ✅ はい - パスの処理 | |
| 「dagster のベストプラクティス」 | ❌ いいえ | /dagster-best-practices |
| 「X のパイプラインを実装して」 | ❌ いいえ | 実装には /dg |
| 「どのインテグレーションを使うべきか」 | ❌ いいえ | /dagster-expert |
| 「CLI の引数解析」 | ✅ はい - CLI のパターン |
コア知識(常に読み込み)
@dignified-python-core.md
バージョンの検出
次の順に確認し、プロジェクトの最小 Python バージョンを特定します。
pyproject.toml-requires-pythonフィールドを確認します(例:requires-python = ">=3.12")setup.pyまたはsetup.cfg-python_requiresを確認します.python-versionファイル -3.12や3.12.0のようなバージョンが記載されています- バージョン指定が見つからない場合は、Python 3.12 をデフォルトにします
特定したら、適切なバージョン固有のファイルを読み込みます。
- Python 3.10:
versions/python-3.10.mdを読み込みます - Python 3.11:
versions/python-3.11.mdを読み込みます - Python 3.12:
versions/python-3.12.mdを読み込みます - Python 3.13:
versions/python-3.13.mdを読み込みます
条件付き読み込み(タスクのパターンに応じて読み込み)
上記のコアファイルで Python コードのパターンの 80% 以上をカバーします。特定のパターンを検出した場合に限り、次の追加ファイルを読み込みます。
パターン検出の例:
- タスクに「click」または「CLI」が含まれる場合 ->
cli-patterns.mdを読み込みます - タスクに「subprocess」が含まれる場合 ->
subprocess.mdを読み込みます
リファレンスドキュメントの構成
このスキルのリファレンス資料は、トピックごとに整理されています。
コアリファレンス
dignified-python-core.md- 基本的な規約(常に読み込み)cli-patterns.md- コマンドラインインターフェースのパターン(click、argparse)
バージョン固有のリファレンス(versions/)
python-3.10.md- Python 3.10 以降で利用可能な機能python-3.11.md- Python 3.11 以降で利用可能な機能python-3.12.md- Python 3.12 以降で利用可能な機能python-3.13.md- Python 3.13 以降で利用可能な機能
高度なトピック(references/advanced/)
exception-handling.md- LBYL のパターン、エラー境界interfaces.md- ABC と Protocol のパターンtyping-advanced.md- 高度なタイピングのパターンapi-design.md- API 設計の原則
各リファレンスドキュメントを読む場面
references/advanced/exception-handling.md
次の場合に読みます:
- try/except ブロックを書くとき
- 例外を発生させる可能性のあるサードパーティ API をラップするとき
from eまたはfrom Noneを見かけたとき、または書くとき- LBYL による代替手段があるか分からないとき
references/advanced/interfaces.md
次の場合に読みます:
- ABC または Protocol クラスを作成するとき
- @abstractmethod デコレーターを書くとき
- ゲートウェイ層のインターフェースを設計するとき
- ABC と Protocol のどちらを使うか選ぶとき
references/advanced/typing-advanced.md
次の場合に読みます:
- typing.cast() を使用するとき
- Literal 型エイリアスを作成するとき
- 条件分岐ブロックで型を絞り込むとき
references/module-design.md
次の場合に読みます:
- 新しい Python モジュールを作成するとき
- モジュールレベルのコード(単純な定数以外)を追加するとき
- モジュールレベルで @cache デコレーターを使用するとき
- モジュールレベルで Path() や計算処理を見かけたとき
- インラインインポートを検討するとき
references/advanced/api-design.md
次の場合に読みます:
- 関数にデフォルトのパラメーター値を追加するとき
- 5 つ以上のパラメーターを持つ関数を定義するとき
- ThreadPoolExecutor.submit() を使用するとき
- 関数シグネチャを確認するとき
references/checklists.md
次の場合に読みます:
- Python コードをコミットする前の最終確認をするとき
- すべてのルールに従ったか確信が持てないとき
- 要件をすばやく確認する必要があるとき
このスキルの使い方
- コア知識は自動的に読み込まれます(デフォルト、pathlib、インポート、アンチパターン)
- バージョン検出は一度だけ行います。Python の最小バージョンを特定し、適切なバージョンファイルを読み込みます
- 参考ドキュメントは、上記の条件に応じて必要なときに読み込まれます
- 追加パターンには、追加の読み込みが必要な場合があります(CLI パターン、サブプロセス)
- 各ファイルは自己完結型で、対象領域に関する完全なガイダンスを提供します
コメント
Markdown 対応