Skip to main content

dignified-python

Production-quality Python coding standards for writing clean, maintainable, modern Python code Use when this capability is needed.

跳到安装

来源信息

仓库
tomevault-io/tomes
最近来源活动
2026年7月23日 21:48
检测到的 SKILL.md 语言
英语
星标
1
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
dignified-python
description
Production-quality Python coding standards for writing clean, maintainable, modern Python code Use when this capability is needed.
metadata
{"author":"C00ldudeNoonan"}
# Dignified Python Coding Standards Skill Production-quality Python coding standards for writing clean, maintainable, modern Python code (versions 3.10-3.13). ## When to Use This Skill Auto-invoke when users ask about: - "make this pythonic" / "is this good python" - "type hints" / "type annotations" / "typing" - "LBYL vs EAFP" / "exception handling" - "pathlib vs os.path" / "path operations" - "CLI patterns" / "click usage" - "code review" / "improve this code" - Any Python code quality or standards question **Note**: This skill is **general Python standards**, not Dagster-specific. Use `/dagster-expert` for Dagster concepts/CLI and `/dagster-development` for repo-specific patterns. ## When to Use This Skill vs. Others | User Need | Use This Skill | Alternative Skill | | ---------------------------- | --------------------------- | ------------------------- | | "make this pythonic" | ✅ Yes - Python standards | | | "is this good python" | ✅ Yes - code quality | | | "type hints" | ✅ Yes - typing guidance | | | "LBYL vs EAFP" | ✅ Yes - exception patterns | | | "pathlib vs os.path" | ✅ Yes - path handling | | | "best practices for dagster" | ❌ No | `/dagster-expert` | | "implement X pipeline" | ❌ No | `/dg` for implementation | | "which integration to use" | ❌ No | `/dagster-expert` | | "CLI argument parsing" | ✅ Yes - CLI patterns | | ## Core Knowledge (ALWAYS Loaded) @dignified-python-core.md ## Version Detection **Identify the project's minimum Python version** by checking (in order): 1. `pyproject.toml` - Look for `requires-python` field (e.g., `requires-python = ">=3.12"`) 2. `setup.py` or `setup.cfg` - Look for `python_requires` 3. `.python-version` file - Contains version like `3.12` or `3.12.0` 4. Default to Python 3.12 if no version specifier found **Once identified, load the appropriate version-specific file:** - Python 3.10: Load `versions/python-3.10.md` - Python 3.11: Load `versions/python-3.11.md` - Python 3.12: Load `versions/python-3.12.md` - Python 3.13: Load `versions/python-3.13.md` ## Conditional Loading (Load Based on Task Patterns) Core files above cover 80%+ of Python code patterns. Only load these additional files when you detect specific patterns: Pattern detection examples: - If task mentions "click" or "CLI" -> Load `cli-patterns.md` - If task mentions "subprocess" -> Load subprocess patterns from core-standards ## Reference Documentation Structure The skill root contains detailed guidance organized by topic: ### Core References - **`core-standards.md`** - Essential standards (always loaded) - **`cli-patterns.md`** - Command-line interface patterns (click, argparse) ### Version-Specific References (`versions/`) - **`python-3.10.md`** - Features available in Python 3.10+ - **`python-3.11.md`** - Features available in Python 3.11+ - **`python-3.12.md`** - Features available in Python 3.12+ - **`python-3.13.md`** - Features available in Python 3.13+ ### Advanced Topics (`references/advanced/`) - **`exception-handling.md`** - LBYL patterns, error boundaries - **`interfaces.md`** - ABC and Protocol patterns - **`typing-advanced.md`** - Advanced typing patterns - **`api-design.md`** - API design principles ## When to Read Each Reference Document ### `references/advanced/exception-handling.md` **Read when**: - Writing try/except blocks - Wrapping third-party APIs that may raise - Seeing or writing `from e` or `from None` - Unsure if LBYL alternative exists ### `references/advanced/interfaces.md` **Read when**: - Creating ABC or Protocol classes - Writing @abstractmethod decorators - Designing gateway layer interfaces - Choosing between ABC and Protocol ### `references/advanced/typing-advanced.md` **Read when**: - Using typing.cast() - Creating Literal type aliases - Narrowing types in conditional blocks ### `references/module-design.md` **Read when**: - Creating new Python modules - Adding module-level code (beyond simple constants) - Using @cache decorator at module level - Seeing Path() or computation at module level - Considering inline imports ### `references/api-design.md` **Read when**: - Adding default parameter values to functions - Defining functions with 5 or more parameters - Using ThreadPoolExecutor.submit() - Reviewing function signatures ### `references/checklists.md` **Read when**: - Final review before committing Python code - Unsure if you've followed all rules - Need a quick lookup of requirements ## How to Use This Skill 1. **Core knowledge** is loaded automatically (LBYL, pathlib, basic imports, anti-patterns) 2. **Version detection** happens once - identify the minimum Python version and load the appropriate version file 3. **Reference documents** are loaded on-demand based on the triggers above 4. **Additional patterns** may require extra loading (CLI patterns, subprocess) 5. **Each file is self-contained** with complete guidance for its domain --- > Source: [C00ldudeNoonan/economic-data-project](https://github.com/C00ldudeNoonan/economic-data-project) — distributed by [TomeVault](https://tomevault.io). <!-- tomevault:4.0:skill_md:2026-07-19 -->
在 GitHub 查看