Agent SkillsTaoidle/plan-cascade › python-best-practices

python-best-practices

GitHub

提供Python编码最佳实践指南,涵盖代码风格、类型提示、异常处理及项目结构。用于编写或审查Python代码时参考规范,避免反模式,并推荐ruff、pytest等工具链以提升代码质量。

builtin-skills/python/SKILL.md Taoidle/plan-cascade

触发场景

编写Python代码 审查Python代码 配置Python项目结构 解决Python常见反模式问题

安装

npx skills add Taoidle/plan-cascade --skill python-best-practices -g -y
更多选项

非标准路径

npx skills add https://github.com/Taoidle/plan-cascade/tree/master/builtin-skills/python -g -y

不安装直接使用

npx skills use Taoidle/plan-cascade@python-best-practices

指定 Agent (Claude Code)

npx skills add Taoidle/plan-cascade --skill python-best-practices -a claude-code -g -y

安装 repo 全部 skill

npx skills add Taoidle/plan-cascade --all -g -y

预览 repo 内 skill

npx skills add Taoidle/plan-cascade --list

SKILL.md

Frontmatter
{
    "name": "python-best-practices",
    "license": "MIT",
    "metadata": {
        "author": "plan-cascade",
        "version": "1.0.0"
    },
    "description": "Python coding best practices. Use when writing or reviewing Python code. Covers type hints, error handling, and common patterns."
}

Python Best Practices

Code Style

Rule Guideline
Formatter ruff format or black
Linter ruff check with strict rules
Type hints Always for public APIs
Docstrings Google or NumPy style

Type Hints

def process(items: list[str], max_count: int = 10) -> dict[str, int]: ...
def find_user(user_id: int) -> User | None: ...

Error Handling

Rule Guideline
Specific exceptions Never bare except:
Context managers Use with for resources
Early return Validate inputs, fail fast
# Good
try:
    result = process(data)
except ValidationError as e:
    logger.warning(f"Validation failed: {e}")
    return default

Project Structure

src/package_name/
├── __init__.py
├── core/
└── py.typed
tests/
├── conftest.py
└── test_*.py
pyproject.toml

Common Patterns

Pattern Usage
@dataclass Data containers
@property Computed attributes
Generators Memory-efficient iteration
functools.cache Memoization

Anti-Patterns

Avoid Use Instead
Mutable default args None default, create inside
import * Explicit imports
Global state Dependency injection
# Bad: def add(item, items=[]): ...
# Good:
def add(item, items=None):
    items = items or []
    items.append(item)
    return items

Tools

Tool Purpose
pytest Testing
ruff Linting + formatting
mypy Type checking
uv Dependencies

版本历史

  • 5223f82 当前 2026-07-19 09:26

同 Skill 集合

builtin-skills/go/SKILL.md
builtin-skills/java/SKILL.md
builtin-skills/typescript/SKILL.md
skills/hybrid-ralph/SKILL.md
skills/mega-plan/SKILL.md
skills/planning-with-files/SKILL.md

元信息

文件数
0
版本
5223f82
Hash
cc5f9669
收录时间
2026-07-19 09:26

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-23 12:41
浙ICP备14020137号-1 $访客地图$