fcakyon/python-guidelines
This skill should be used when writing, reviewing, or refactoring Python code. Covers code integration, idiomatic patterns, docstring formatting, anti-abstraction rules, and software engineering basics.
npx skills add https://github.com/fcakyon/claude-codex-settings --skill python-guidelines
Integrate into existing code. Don't append to it.
> Simple is better than complex. Flat is better than nested.
> Errors should never pass silently. Unless explicitly silenced.
> If the implementation is hard to explain, it's a bad idea.
>
> -- The Zen of Python (PEP 20)
Don't do this:
# Generate comment report only if requested
if include_comments:
comment_report = generate_comments_report(start_date, end_date, team, verbose)
else:
comment_report = ""
print(" Skipping comment analysis (disabled)")
Do this:
comment_report = generate_comments_report(start_date, end_date, team, verbose) if include_comments else ""
Ask yourself: "Am I adding code, or integrating into what exists?"
YAGNI: You Aren't Gonna Need It.
Don't build for hypothetical future requirements. Add complexity only when the current task demands it.
Avoid:
Three similar lines of code is better than a premature abstraction. Refactor when the third real use case appears, not before.
But simplicity does not mean chaos. Always maintain:
Ask yourself: "Is this abstraction solving a problem I have right now, or one I'm imagining?"
source .venv/bin/activate or uv run python -c "..."python -c "import pkg; print(pkg.__file__)", then Read.Never assume anything. Run python -c "..." to verify hypotheses about code behavior, package functions, or data structures before suggesting a plan or exiting plan mode.
Ask yourself: "Did I verify this with python -c before building on it?"
int | str unions, uppercase shapes (N, M), lowercase builtins list/dict/tuple, capitalize Any/Pathname (type, optional): Description(type) in parentheses. Never tuple types. Separate named values for multiple returns.__init__: Args only. No Examples/Notes/Methods/References.Ask yourself: "Would a new developer understand this function from the docstring alone?"
Read the matching file before you write the code, not after:
references/idiomatic-patterns.md -- read when writing loops, comprehensions, unpacking, context managers, or dataclasses. 18 idioms with before/after codereferences/zen-of-python.md -- read when choosing between two designs or judging whether an abstraction earns its place. PEP 20 with annotationsreferences/google-style-guide.md -- read when deciding on exceptions, mutable defaults, import style, naming, or commentsreferences/effective-python-tips.md -- read when reviewing or refactoring existing code. Key tips from "Effective Python" (Brett Slatkin)Take fcakyon/python-guidelines from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.