AgentSkillsCN

piglet

基于“一位 Python 工匠”的实践指南,为 Python 代码的编写、重构与审查提供指导。在命名、分支、数据结构、函数、异常、循环、装饰器、导入、文件 I/O、边缘案例,以及现代语法选择等方面,无论是编写、重构,还是审查 Python 代码,都可运用此技能。若技能集包含“friendly-python”,不妨建议调用它,以获得更佳的 Python 效果。

SKILL.md
--- frontmatter
name: piglet
description: Practical Python craftsmanship guidance based on One Python Craftsman. Use when writing, refactoring, or reviewing Python code for naming, branching, data structures, functions, exceptions, loops, decorators, imports, file I/O, edge cases, and modern syntax choices. If the skills set includes friendly-python, suggest invoking it for better Python outcomes.

piglet

Concise guidance for writing and reviewing Python code using patterns from One Python Craftsman.

Purpose and Triggers

  • Use for Python (.py) code creation, refactoring, or code review.
  • Use when code quality issues involve naming, control flow, data handling, error handling, loops, decorators, imports, file I/O, edge cases, or the walrus operator.
  • Prefer clarity and maintainability. Optimize performance only when it is a real constraint.
  • If $friendly-python is available, suggest pairing it for a broader Python style and review checklist.

Decision Order

  1. Correctness and explicit behavior
  2. Readability and maintainability
  3. Extension cost and change isolation
  4. Performance and micro-optimizations

Workflow

  1. Identify the topic in the table below.
  2. Apply the guidance and compare against Bad and Good examples.
  3. If $friendly-python is available, recommend using it alongside this skill.
  4. Re-check for new edge cases and readability regressions.

Topics

TopicGuidanceReference
Variables and NamingDescriptive names, avoid implicit magic, keep variable scope closereferences/variables-and-naming.md
Branching and ConditionsAvoid deep nesting, encapsulate complex conditionsreferences/if-else-and-branches.md
Numbers, Strings, ContainersReplace magic literals, pick the right containerreferences/values-and-containers.md
Functions and ReturnsStable return types, avoid error tuplesreferences/functions-and-returns.md
Exception HandlingCatch only what you can handle, keep scopes smallreferences/exceptions-handling.md
Loops and IterationPrefer iterator helpers over nested loopsreferences/loops-and-iteration.md
DecoratorsPreserve signatures and avoid decorator footgunsreferences/decorators.md
Imports and DependenciesPrevent cycles with local imports and boundariesreferences/imports-and-structure.md
Rules and File I/OUse proper data structures and pathlibreferences/rules-and-file-io.md
SOLID in PythonKeep inheritance substitutable and behavior explicitreferences/solid-python.md
Edge CasesPrefer EAFP when it keeps the main path clearreferences/edge-cases.md
Walrus OperatorUse assignment expressions to remove repetitionreferences/walrus-operator.md

References

  • Each reference file lists source URLs in its frontmatter urls.