Modern Python Toolchain
XiaomiMiMo/MiMo-Code
Sets up Python projects with uv for packages and environments, ruff for linting and formatting, and pyright for type checking, with rules for running everything through uv.
Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python…
$ npx skills add pproenca/dot-skills --skill python-pep-author -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pproenca/dot-skills python-pep-author --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.experimental/python-pep-author .claude/skills/python-pep-author && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "python-pep-author" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/python-pep-author into .claude/skills/python-pep-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-pep-author", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/python-pep-authorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pproenca/dot-skills --skill python-pep-author -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pproenca/dot-skills python-pep-author --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/.experimental/python-pep-author .agents/skills/python-pep-author && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "python-pep-author" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/python-pep-author into .agents/skills/python-pep-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-pep-author", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pproenca/dot-skills --skill python-pep-author -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pproenca/dot-skills python-pep-author --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/.experimental/python-pep-author .cursor/skills/python-pep-author && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "python-pep-author" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/python-pep-author into .cursor/skills/python-pep-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-pep-author", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pproenca/dot-skills.git --path skills/.experimental/python-pep-author--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pproenca/dot-skills --skill python-pep-author -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pproenca/dot-skills python-pep-author --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/.experimental/python-pep-author .gemini/skills/python-pep-author && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "python-pep-author" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/python-pep-author into .gemini/skills/python-pep-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-pep-author", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pproenca/dot-skills python-pep-authorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pproenca/dot-skills --skill python-pep-author -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/.experimental/python-pep-author .github/skills/python-pep-author && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "python-pep-author" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/python-pep-author into .github/skills/python-pep-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-pep-author", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pproenca/dot-skills --skill python-pep-author -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pproenca/dot-skills python-pep-author --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/.experimental/python-pep-author .opencode/skills/python-pep-author && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "python-pep-author" agent skill from https://github.com/pproenca/dot-skills/tree/master/skills/.experimental/python-pep-author into .opencode/skills/python-pep-author/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "python-pep-author", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
python-pep-authorDrafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python…
Python Pep Author is an agent skill from pproenca/dot-skills. Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python community. Covers all three PEP types (Standards Track, Informational, Process): choosing the right type, scaffolding a valid reStructuredText pep-NNNN file, filling each required section to the acceptance bar, linting the headers, and navigating the sponsor / submission / Steering Council review process. Trigger on "write…
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 14 other files, including scripts, reference files and assets (for example `gotchas.md`, `metadata.json` and `references/header-fields.md`).
It sits in Development, covering Proposals and quotes, Linting and formatting and Project scaffolding. It works with Python. The repository describes itself as: A collection of AI agent skills following the Agent Skills open format. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cf93c57. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.compeps.python.orgdiscuss.python.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Python Pep Author loads about 2.1k tokens when it runs, and up to ~7.3k if it reads all its reference files. Until then it costs about 219 tokens; SKILL.md has 854 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from pproenca/dot-skills at commit cf93c57, republished under its MIT licence (© pproenca). 854 words, ~2,089 tokens.
.claude/skills/python-pep-author/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.A PEP is the design document the Python community uses to propose a new language feature, a stdlib change, an interoperability standard, or a process/informational guideline. This skill takes an author from a rough idea to a correctly-formatted, process-compliant draft ready for submission to the python/peps repository.
The hard parts of a PEP are not the prose — they are getting the type right, the header preamble valid, the sections complete to the acceptance bar, and following the process (vetting, sponsorship, review). This skill bundles two scripts for the deterministic parts and reference docs for the judgement calls.
Do not use this skill for internal company RFCs / design docs (use dev-rfc) — a
PEP is specifically a proposal to the upstream CPython / Python community governed by
PEP 1.
awk, sed, grep, date) for the two scripts — present by default on macOS/Linux.1. Vet the idea ────► 2. Choose the type ────► 3. Scaffold the file
(is it PEP-able?) (Standards/Info/Process) (scripts/new-pep.sh)
│
6. Submit ◄──── 5. Self-check ◄──── 4. Draft each section
(sponsor, PR) (scripts/check-pep.sh) (to the acceptance bar)
│
▼
7. Review & resolution ──► update Status + Resolution headerA PEP that duplicates prior work or isn't community-wide in scope will be rejected on sight. Post the idea to the Ideas category of the Python Discourse first (or the Typing / Packaging category if specialised). Confirm it's original, applicable to the whole community, and not already settled by a past discussion. See references/workflow.md for venues and what to check.
There are exactly three: Standards Track, Informational, Process. The type
determines required headers (e.g. Python-Version, Resolution) and the bar for
acceptance. Pick with references/pep-types.md.
Generate a valid, correctly-headed reStructuredText file rather than hand-typing the preamble (the field set and ordering are exact):
scripts/new-pep.sh \
--title "A short descriptive title" \
--author "Random J. User <random@example.com>" \
--type "Standards Track" \
--python-version 3.15 # Standards Track only; omit otherwiseThis writes pep-9999.rst (9999 = placeholder; PEP editors assign the real number),
sets Status: Draft and today's Created date, and enforces the 44-character title
limit. Run scripts/new-pep.sh with no args for full usage.
Fill the body sections in the canonical PEP 12 order: Abstract → Motivation → Specification → Rationale → Backwards Compatibility → Security Implications → How to Teach This → Reference Implementation → Rejected Ideas → Open Issues → Acknowledgements → Footnotes → Change History → Copyright. Each section has a specific job and a quality bar — read references/sections.md before drafting, and consult references/header-fields.md for any header you need to fill in (Sponsor, Discussions-To, Requires, etc.).
The acceptance bar (from PEP 1): the proposal must be a clear and complete description, represent a net improvement, have a solid implementation that doesn't unduly complicate the interpreter, and be "pythonic". Write to that bar.
Lint the headers and required structure before showing it to anyone:
scripts/check-pep.sh pep-9999.rstIt verifies the required headers are present, the title length, valid Status/Type
values, the Created date format, the mandatory CC0 copyright notice, and an
Abstract section — reporting PASS / WARN / FAIL and exiting non-zero on any FAIL.
Fix every FAIL.
If no co-author is a CPython core developer, you must first find a sponsor
(a core developer who shepherds the PEP). Then fork python/peps, add pep-NNNN.rst,
list authors/sponsors in .github/CODEOWNERS, and open a pull request. PEP editors
review for format and soundness and assign the number. Full steps and the role
definitions are in references/workflow.md.
When the authors (and sponsor) judge it ready, content review and the
accept/reject decision rest with the Steering Council (or an appointed
PEP-Delegate). On a decision, update the Status and add a Resolution
header linking to the pronouncement. The full status lifecycle and valid
transitions are in references/status-lifecycle.md.
| File | Read it when |
|---|---|
| references/workflow.md | Vetting, finding a sponsor, submitting, the review process, the roles, transferring ownership |
| references/pep-types.md | Choosing between Standards Track / Informational / Process |
| references/header-fields.md | Filling any preamble field — formats, required vs optional, examples |
| references/status-lifecycle.md | Setting or changing Status, understanding valid transitions, the Resolution header |
| references/sections.md | Drafting the body — what each section must contain, RST conventions, the acceptance bar |
| Script | What it does |
|---|---|
scripts/new-pep.sh | Scaffolds a valid pep-NNNN.rst from the template, substituting the header fields and enforcing the title-length limit |
scripts/check-pep.sh | Lints a PEP draft against PEP 1 / PEP 12 rules (headers, status/type, date format, copyright, abstract) |
The template the scripts use lives at assets/templates/pep-template.rst — copy it
directly if you'd rather fill the headers by hand.
See gotchas.md. The most common early mistakes: skipping the Discourse
vetting step, choosing Standards Track for what is really a Process PEP, omitting
the mandatory CC0 copyright notice, and a title over 44 characters.
dev-rfc — internal/company RFCs, design docs, and architecture docs (not upstream Python proposals).© pproenca, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 10 other files (scripts, references, assets) in skills/.experimental/python-pep-author of pproenca/dot-skills.
Open the folder on GitHubat commit cf93c57
Python Pep Author next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Python Pep Author this skillpproenca/dot-skills | 214 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Modern Python ToolchainXiaomiMiMo/MiMo-Code | 14k | — | ~1.5k | Automated safety check: Notes | MIT | |
| Modern Python Toolingtrailofbits/skills | 7.4k | — | ~2.5k | Automated safety check: Pass | CC-BY-SA-4.0 | |
| Plugin Forges0912758806p/agentic-sop-to-work | 209 | — | ~242 | Automated safety check: Pass | MIT | |
| Scaffold PythonSpecterOps/skills | 702 | — | ~664 | Automated safety check: Notes | Apache-2.0 | |
| Kedro Babysitkedro-org/kedro | 11k | — | ~4k | Automated safety check: Pass | Custom licence |
XiaomiMiMo/MiMo-Code
Sets up Python projects with uv for packages and environments, ruff for linting and formatting, and pyright for type checking, with rules for running everything through uv.
trailofbits/skills
Sets up Python projects and standalone scripts with uv, ruff, ty, pytest and prek, and helps move existing projects off pip, Poetry, mypy and black.
s0912758806p/agentic-sop-to-work
A skill your agent uses when creating, scaffolding, or linting a Claude Code plugin — generate a grammar-conformant plugin skeleton, or validate a plugin / whole marketplace against house invariants…
SpecterOps/skills
Scaffold a new Python project with a src layout, linting, and tests.
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
saleor/saleor
Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.
pproenca/dot-skills
Audio forensics and voice recovery guidelines for CSI-level audio analysis.
pproenca/dot-skills
Guided, scripted pipeline for running JSX/TSX/React codemods safely across large legacy codebases.
pproenca/dot-skills
Create well-structured RFCs and technical proposals for software projects.
pproenca/dot-skills
Developer-experience friction auditing and fixing — slow onboarding, repeated manual setup steps, missing bootstrap/reset/seed scripts, undiscoverable conventions.
pproenca/dot-skills
Turn a rough idea for a language into a complete, implementable specification — a DSL, query, config/data, template, or protocol language — by interviewing the author dimension by dimension until…
pproenca/dot-skills
Designs new features, extensions, or modifications to Uncle Bob's Acceptance Pipeline Specification — new mutation strategies, Gherkin syntax support, report formats, pipeline stages, IR fields, or…
Works with
Categories
Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python…. Python Pep Author is an agent skill from pproenca/dot-skills. Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python community.
Python Pep Author fits situations like: propose a Python feature; create a Python Enhancement Proposal; someone is preparing a proposal for the Python Discourse.
Run `npx skills add pproenca/dot-skills --skill python-pep-author -a claude-code`. Or copy the skill folder (skills/.experimental/python-pep-author in pproenca/dot-skills) into .claude/skills/python-pep-author in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pproenca/dot-skills --skill python-pep-author -a codex`. Or copy the skill folder (skills/.experimental/python-pep-author in pproenca/dot-skills) into .agents/skills/python-pep-author in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pproenca/dot-skills --skill python-pep-author -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/python-pep-author, .gemini/skills/python-pep-author, .github/skills/python-pep-author and .opencode/skills/python-pep-author in your project.
Going by SKILL.md and its folder, Python Pep Author needs a shell for the scripts in its folder. Our summary lists: Python 3; A Bash shell.
SKILL.md names 3 domains. As links in the text: github.com, peps.python.org and discuss.python.org. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Python Pep Author is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Python Pep Author: Modern Python Toolchain (XiaomiMiMo/MiMo-Code, 14k stars), Modern Python Tooling (trailofbits/skills, 7.4k stars), Plugin Forge (s0912758806p/agentic-sop-to-work, 209 stars) and Scaffold Python (SpecterOps/skills, 702 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pproenca (a GitHub user) maintains it in pproenca/dot-skills, which has 214 GitHub stars. The repository holds 182 skills in this directory. The repository was last updated on August 15, 2026.
Source: pproenca/dot-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.