Backend

dignified-python

dagster-io/skills · updated Apr 8, 2026

$npx skills add https://github.com/dagster-io/skills --skill dignified-python
summary

Production-quality Python coding standards for writing clean, maintainable, modern Python code

  • (versions 3.10-3.13).
skill.md

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-best-practices for Dagster 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-best-practices
"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 references/cli-patterns.md
  • If task mentions "subprocess" -> Load subprocess patterns from core-standards

Reference Documentation Structure

The references/ directory 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 (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
general reviews

Ratings

4.661 reviews
  • Amelia Li· Dec 28, 2024

    Registry listing for dignified-python matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Noah Martinez· Dec 20, 2024

    dignified-python fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Pratham Ware· Dec 16, 2024

    dignified-python is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Camila Liu· Dec 12, 2024

    Useful defaults in dignified-python — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • William Desai· Dec 12, 2024

    Keeps context tight: dignified-python is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Noah Rao· Nov 19, 2024

    Solid pick for teams standardizing on skills: dignified-python is focused, and the summary matches what you get after install.

  • Sophia Gonzalez· Nov 15, 2024

    dignified-python reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Jin Ghosh· Nov 11, 2024

    We added dignified-python from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Yash Thakker· Nov 7, 2024

    Keeps context tight: dignified-python is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Zara Tandon· Nov 3, 2024

    dignified-python has been reliable in day-to-day use. Documentation quality is above average for community skills.

showing 1-10 of 61

1 / 7