关于 piglet
piglet 是用于编写、重构和审查 Python 代码的技能,按常见主题提供指导,并优先考虑正确性、可读性和可维护性,再考虑性能。
主要功能
- 01Python 编写与审查指导
- 02按主题组织参考文件
- 03提供 Bad 和 Good 示例
- 04优先考虑清晰性
- 05复查边缘情况与可读性
适用场景
- 01审查 Python 代码的可维护性
- 02重构控制流或错误处理
- 03选择数据结构与文件 I/O 模式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ psiace/ skills --skill piglet安装后在 Claude Code 中输入/piglet确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/decorators.mdedge-cases.mdexceptions-handling.mdfunctions-and-returns.mdif-else-and-branches.mdimports-and-structure.mdloops-and-iteration.mdrules-and-file-io.mdsolid-python.mdvalues-and-containers.mdvariables-and-naming.mdwalrus-operator.md详细介绍
piglet
基于 One Python Craftsman 中的模式,为编写和审查 Python 代码提供简明指导。
用途和触发条件
- 用于创建、重构或审查 Python(.py)代码。
- 当代码质量问题涉及命名、控制流、数据处理、错误处理、循环、装饰器、导入、文件 I/O、边界情况或海象运算符时使用。
- 优先考虑清晰度和可维护性。只有在性能确实受限时才进行优化。
- 如果有 $friendly-python,可建议搭配使用,以获取更全面的 Python 风格和审查清单。
决策顺序
- 正确性和明确的行为
- 可读性和可维护性
- 扩展成本和变更隔离
- 性能和微优化
工作流
- 在下表中确定主题。
- 应用指导,并对照 Bad 和 Good 示例。
- 如果有 $friendly-python,建议将其与此技能配合使用。
- 重新检查是否引入新的边界情况或可读性退化。
主题
| 主题 | 指导 | 参考 |
|---|---|---|
| 变量和命名 | 使用描述性名称,避免隐式魔法,尽量缩小变量作用域 | references/variables-and-naming.md |
| 分支和条件 | 避免深层嵌套,将复杂条件封装起来 | references/if-else-and-branches.md |
| 数字、字符串和容器 | 替换魔法字面量,选择合适的容器 | references/values-and-containers.md |
| 函数和返回值 | 保持返回类型稳定,避免错误元组 | references/functions-and-returns.md |
| 异常处理 | 只捕获能够处理的异常,尽量缩小作用域 | references/exceptions-handling.md |
| 循环和迭代 | 优先使用迭代器辅助工具,而非嵌套循环 | references/loops-and-iteration.md |
| 装饰器 | 保留签名,避免装饰器陷阱 | references/decorators.md |
| 导入和依赖 | 通过局部导入和边界设计防止循环依赖 | references/imports-and-structure.md |
| 规则和文件 I/O | 使用合适的数据结构和 pathlib | references/rules-and-file-io.md |
| Python 中的 SOLID | 确保继承关系可替换,并明确行为 | references/solid-python.md |
| 边界情况 | 在能让主路径更清晰时,优先采用 EAFP | references/edge-cases.md |
| 海象运算符 | 使用赋值表达式消除重复 | references/walrus-operator.md |
参考资料
- 每个参考文件都会在其 frontmatter 的
urls中列出来源 URL。
评论
支持 Markdown