mcpbeat Sign in

Dignified Python Agent Skill

Opinionated production Python standards with automatic version detection (3.10-3.13). Use when writing, reviewing, or refactoring Python in repos that want modern type syntax, explicit condition checks where practical, pathlib operations, interface guidance, and pragmatic production patterns.

29k tokens
context cost
the whole folder, loaded on every use
15
files
instructions only
0
copies elsewhere
how many repositories repackaged it
195
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/dagster-io/skills --skill dignified-python

What comes with it

111 241 bytes besides the instruction
cli-patterns.md
dignified-python-core.md
references/README.md
references/advanced/api-design.md
references/advanced/exception-handling.md
references/advanced/interfaces.md
references/advanced/typing-advanced.md
references/checklists.md
references/module-design.md
subprocess.md
versions/python-3.10.md
versions/python-3.11.md
versions/python-3.12.md
versions/python-3.13.md

The instruction itself

18 sections, as written by the author

Dignified Python

Opinionated Python guidance 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-purpose Python style guidance, not Dagster-specific. It

captures one explicit, LBYL-leaning set of conventions; project conventions can override it when needed.

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):

  • pyproject.toml - Look for requires-python field (e.g., requires-python = ">=3.12")
  • setup.py or setup.cfg - Look for python_requires
  • .python-version file - Contains version like 3.12 or 3.12.0
  • 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.md

Reference Documentation Structure

This skill's reference material is organized by topic:

Core References

  • dignified-python-core.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/advanced/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

  • Core knowledge is loaded automatically (defaults, pathlib, imports,

anti-patterns)

  • Version detection happens once - identify the minimum Python version and load the appropriate

version file

  • Reference documents are loaded on-demand based on the triggers above
  • Additional patterns may require extra loading (CLI patterns, subprocess)
  • Each file is self-contained with complete guidance for its domain

Other skills for the same job

different authors, same section of the catalogue
MCP Builder
by anthropics
vendor ×13

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

30k tokens scripts
Changelog Generator
by frostant
×9

Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.

774 tokens
Finishing A Development Branch
by ZhanlinCui
×7

Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup

1k tokens
MCP Builder
by JayZeeDesign
×7

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

37k tokens scripts
Vercel React Native Skills
by vercel-labs
vendor ×6

React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.

39k tokens
Vercel React Best Practices
by ratacat
×5

React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.

34k tokens
Next Best Practices
by vercel-labs
vendor ×4

Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling

20k tokens
Using Git Worktrees
by ZhanlinCui
×4

Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification

1k tokens

How to use it

Copy the folder

Take dagster-io/dignified-python from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.