python-development
Skill0 starsChanged 8 months agoMITView on GitHub
Use when creating, modifying, refactoring, or reviewing Python code — one-off snippets, single-file uv scripts, or packaged projects. Enforces the Astral toolchain (uv, ruff, ty with strict type checking), poe task runners, src/<package>/ layout, class-based OOP design, file/class/method docstrings, concise comments, structured logging, and pytest testing.
14 other projects use a version of this.
Adopted by
Most recently taken up by
- kinhluan/skillstheir own version, first seen Nov 8, 2026
- salasebas/skillstheir own version, first seen Nov 8, 2026
- microsoft/agent-frameworktheir own version, first seen Oct 13, 2026
- tstapler/dotfilestheir own version, first seen Oct 10, 2026
- ProjAnvil/MindForgetheir own version, first seen Oct 9, 2026
- sammcj/agentic-codingtheir own version, first seen Oct 8, 2026
Used with
Projects with it also use javascript-typescript, golang-development and 7 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
pepebot-spaceSkilljavascript-typescript
JavaScript and TypeScript development with ES6+, Node.js, React, and modern web frameworks. Use for frontend, backend, or full-stack JavaScript/TypeScript projects.
Also in 4 projects that use this
kinhluanSkillgolang-development
Implement, review, debug, or modernize Go code and modules with idiomatic APIs, concurrency, error handling, testing, profiling, and tooling. Use for Go services, libraries, CLIs, goroutine/channel issues, module management, or performance work.
Also in 3 projects that use this
carloss765Skillrust-development
Comprehensive guidelines for writing safe, concurrent, and performant Rust code. Use when working with .rs files, building systems software, or high-performance applications.
Also in 3 projects that use this
harrissohail6Skilldatabase-design
Database schema design and SQL best practices. Use when designing tables, writing queries, or optimizing database performance.
Also in 3 projects that use this
NVIDIASkillgithub
Interact with GitHub using the gh CLI restricted to REST API only (no GraphQL). Use when the user wants to work with GitHub issues, pull requests, repos, releases, or Actions — especially in sandboxed environments where the GraphQL endpoint may be blocked. Trigger keywords - github, gh, pull request, PR, github issue, github actions, workflow, release, gh api.
Also in 3 projects that use this
MicrosoftSkillapi-design
Guide for designing and documenting RESTful APIs. Use when asked to design an API, create endpoints, or document an API.
Also in 3 projects that use this
Other versions14 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 14
- microsoft/agent-framework★ 15ksame name
- Community-Access/accessibility-agents★ 409same name
- sammcj/agentic-coding★ 169same name
- d-padmanabhan/agent-engineering-handbook★ 17same name
- tstapler/dotfiles★ 8same name
- HK-hub/AgentSkills★ 6same name
- kinhluan/skills★ 6same name
- ProjAnvil/MindForge★ 3same name
- CODE-SAURABH/OpenSkills★ 2same name
- pepebot-space/skills★ 2same name
4 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository23 other files it gives its agents.
- AGENTS.mdAGENTS.md
- adr-generationSkill
- bash-scriptingSkill
- browser-controlSkill
- github-actionsSkill
- gitignore-standardsSkill
- git-operationsSkill
- html-reportSkill
- java-developmentSkill
- mermaid-diagramsSkill
- meta-workspaceSkill
- powershell-scriptingSkill
- project-backlogSkill
- project-documentationSkill
- project-setupSkill
- refinement-tribunalSkill
- skill-cli-developmentSkill
- technical-writingSkill
- testing-standardsSkill
- typescript-developmentSkill
- web-auth-bridgeSkill
- worktree-isolationSkill
- writing-ai-instructionsSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 7 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 11 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Default to FullProject when ambiguous.
- Very specific: line 27
All tool config lives in pyproject.toml.
- Very specific: line 31
All FullProject source code lives in src/<package>/ — no flat layouts, no main.py at the root.
- Very specific: line 39
No module-level mutable state.
- Distinctive: line 50
Every file starts with a docstring stating what the file is for.
- Very specific: line 51
Every class, method, and function has a docstring — one line by default.
- Very specific: line 52
Use short comments as logical headers for blocks of code (# Validate inputs, # Build report).
- Distinctive: line 53
No inline commentary on obvious code.
- Very specific: line 58
Never bare except: or silent suppression.
- Very specific: line 65
Script: create the file with uv init --script <file>.py and add dependencies with uv add --script <file>.py <dep>.
- Distinctive: line 66
Write code following code-standards.md.
- Distinctive: line 67
Write tests following testing.md.
- Very specific: line 68
Verify: uv run poe fix then uv run poe check (FullProject), or the script commands in modes.md.
- Distinctive: line 72
Read only what the task needs:
- Distinctive: line 94
When ambiguous, choose the left side:
“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Python Development
Produce Python in one of three modes. This file holds the rules that always apply; load the reference files listed under Progressive Discovery only when the task needs them.
Modes
| Mode | Use when | Output |
| OneOff | Snippet, REPL expression, quick inline answer | 1–5 lines (max 10), no file |
| Script | Single reusable file, no package needed | One .py file with PEP 723 inline metadata, run with uv run |
| FullProject | Package, reusable tool, CLI, or multi-file code | src/<package>/ project managed by uv |
Default to FullProject when ambiguous. Details and guardrails: references/modes.md.
Core Rules (Script and FullProject)
Toolchain
- uv for Python versions, environments, dependencies, locking, and running (
uv add,uv sync,uv run). Neverpip,venv,poetry, orrequirements.txt. - ruff for linting and formatting; ty for type checking with every rule set to error (
[tool.ty.rules] all = "error"). - poe (
poethepoet) for project tasks:uv run poe checkmust pass before delivery. - All tool config lives in
pyproject.toml; no separate config files.
Layout
- All FullProject source code lives in
src/<package>/— no flat layouts, nomain.pyat the root. - Tests live in
tests/, mirroring the source modules.
Design
- STRONGLY prefer classes. Put behaviour in methods; avoid module-level functions.
- The only accepted module-level functions are pytest fixtures in
conftest.py. Entry points are classmethods (package.__main__:Application.main). @dataclass(frozen=True, slots=True)for configuration and value objects; regular classes for stateful services.- No module-level mutable state; module level holds only imports, constants,
logger, and class definitions. - Guard clauses at method entry; max 3 levels of nesting.
Typing
- Annotate every parameter and return type;
from __future__ import annotationsin every module. - No
Any, no bare# type: ignore, no unexplainedcast(). - Convert untyped boundaries (argparse
Namespace, JSON, env vars) to typed dataclasses immediately.
Documentation and comments
- Every file starts with a docstring stating what the file is for.
- Every class, method, and function has a docstring — one line by default; add Google-style
Args:/Returns:/Raises:only when they say something the signature doesn't. - Use short comments as logical headers for blocks of code (
# Validate inputs,# Build report). - No inline commentary on obvious code. Inline comments only for niche behaviour, workarounds, or surprising exceptions.
Errors and output
- Specific exceptions only; custom hierarchy rooted at
AppErrorinexceptions.py; chain withraise ... from err. - Never bare
except:or silent suppression. - Diagnostics go through
logging(stderr); program output goes to stdout viasys.stdout.write. Noprint()outside OneOff.
Procedure
- Pick the mode (modes.md).
- FullProject: scaffold with
uv init --package --build-backend uv <name>, add dev tools withuv add --dev ruff ty pytest pytest-cov poethepoet, then apply thepyproject.tomlsettings from project-setup.md. - Script: create the file with
uv init --script <file>.pyand add dependencies withuv add --script <file>.py <dep>. - Write code following code-standards.md; copy file skeletons from templates.md.
- Write tests following testing.md.
- Verify:
uv run poe fixthenuv run poe check(FullProject), or the script commands in modes.md. Fix every finding before delivering; never weaken tool config to make it pass.
Progressive Discovery
Read only what the task needs:
| Read | When |
| references/modes.md | Choosing a mode; writing a OneOff or a PEP 723 script |
| references/project-setup.md | Creating or reconfiguring a project: uv, layout, pyproject.toml, ruff, strict ty, poe tasks, verification |
| references/code-standards.md | Writing or reviewing code: OOP rules, docstrings, comments, typing, errors, logging, naming |
| references/cli.md | Building a command-line interface or entry point |
| references/testing.md | Writing or reviewing tests, fixtures, coverage |
| references/templates.md | Copy-paste skeletons for every FullProject file |
| references/examples.md | Worked OneOff, Script, and procedural-to-OOP refactor examples |
Scope
In scope: Python scripts, CLI tools, libraries, and automation; refactors; packaging; testing.
Out of scope unless requested: web frameworks (Django, Flask, FastAPI), notebooks, ML pipelines, GUIs, C extensions, Docker or deployment. Async code is in scope only when the task needs concurrency.
User requirements override these defaults unless they break a core rule above; when they do, say so and ask.
Trade-offs
When ambiguous, choose the left side:
- Maintainability over brevity
- Explicit types over inference
- Classes over procedural convenience
- Tooling-enforced rules over instruction-only rules
- Failing loudly over guessing
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

