python-engineering
Skill0 starsChanged 3 days agoMITView on GitHub
Implement maintainable Python features using the project's supported versions, packaging, typing, tests, and runtime conventions.
8 other projects use a version of this.
Adopted by
Most recently taken up by
- nledford/engineering-review-boardtheir own version, first seen Nov 3, 2026
- cmdr-chara/chara-toolkittheir own version, first seen Nov 1, 2026
- cmdr-chara/codex-toolkittheir own version, first seen Nov 1, 2026
- yariv1025/skillstheir own version, first seen Oct 11, 2026
- novatic-cu/nova-skillstheir own version, first seen Sep 20, 2026
- nafeeur/MaskShifttheir own version, first seen Sep 12, 2026
Used with
Projects with it also use rust-engineering, go-engineering and 1 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.
pirafrankSkillrust-engineering
Apply pragmatic Rust engineering conventions when implementing, modifying, reviewing, or refactoring Rust code. Use for Rust CLI tools, system utilities, daemons, filesystem operations, network integrations, and security-sensitive code. Based on the official Rust guidelines and selected Google Rust Style Guide practices.
Also in 4 projects that use this
caseyngSkillgo-engineering
Senior Go engineering standards for production code. Module structure, error handling, interface design, concurrency, context propagation, testing, security, observability. Includes gomobile-specific constraints for cross-language bindings. Compose with code-integrity-guardrail go for verification. Trigger on: any Go implementation task, any gomobile binding, any Go component in pipeline.
Also in 4 projects that use this
SentrySkillsecurity-review
Finds exploitable application security vulnerabilities in code changes. Use for Warden security scans, appsec review, OWASP-style checks, authentication or authorization bugs, injection, XSS, SSRF, path traversal, secrets, unsafe crypto, webhook verification, open redirects, or sensitive data exposure.
Also in 3 projects that use this
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 8
- nledford/engineering-review-board★ 11same name
- ldilov/harness-forge★ 4same name
- cmdr-chara/chara-toolkit★ 2same name
- cmdr-chara/codex-toolkit★ 2same name
- nafeeur/MaskShift★ 2same name
- yariv1025/skills★ 2same name
- caseyng/Claude-skills★ 1same name
- novatic-cu/nova-skills★ 1same name
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 repository34 other files it gives its agents.
- accessibilitySkill
- admin-panelSkill
- ai-agent-interfaceSkill
- ai-chat-interfaceSkill
- ai-dashboardSkill
- ai-engineeringSkill
- analytics-and-data-visualizationSkill
- animation-and-motionSkill
- api-engineeringSkill
- authentication-and-rbacSkill
- backend-architectureSkill
- component-engineeringSkill
- dashboard-designSkill
- database-engineeringSkill
- design-intelligenceSkill
- design-systemsSkill
- frontend-engineeringSkill
- iconographySkill
- image-art-directionSkill
- integrations-and-webhooksSkill
- javascript-typescriptSkill
- performance-optimizationSkill
- premium-landing-pagesSkill
- rag-and-knowledge-systemsSkill
- responsive-designSkill
- saas-dashboardSkill
- security-engineeringSkill
- super-admin-panelSkill
- testing-and-qualitySkill
- unslop-engineSkill
- ux-researchSkill
- visual-designSkill
- visual-regressionSkill
- website-architectureSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 11 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
11
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 10
Use for Python application, library, CLI, automation, data, or backend code.
- Distinctive: line 16
Do not add Python as a second runtime to a TypeScript-only product without an explicit need.
- Distinctive: line 28
Follow the existing package and import structure.
- Distinctive: line 33
Keep side effects (filesystem, network, subprocess, database) explicit and injectable where project tests require it.
- Distinctive: line 35
Use context managers for resources and structured exceptions that callers can handle.
- Distinctive: line 37
Add tests for normal, boundary, and failure behavior with isolated temporary resources.
- Distinctive: line 39
Run the configured formatter, linter, type checker, and tests under the project's supported interpreter.
- Very specific: line 45
Avoid mutable default arguments, broad except Exception, and hidden module-level I/O.
- Distinctive: line 47
Use standard library facilities unless a dependency has a clear purpose.
- Distinctive: line 48
Do not build shell commands by concatenating untrusted values.
- Distinctive: line 50
Document when a function mutates data or performs I/O.
- Distinctive: line 72
Run the repository's formatter, linter, type checker, and test suite.
“Common” is measured: kept by at least 6 in 10 of the 6 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 Engineering
When to use
Use for Python application, library, CLI, automation, data, or backend code. It is also useful when a repository contains Python tooling alongside TypeScript/JavaScript.
When not to use
Do not add Python as a second runtime to a TypeScript-only product without an explicit need. Do not change the supported Python range or package manager as unrelated cleanup.
Inputs and assumptions
Inspect pyproject.toml, lockfiles, supported Python range, virtual
environment, package layout, formatter/linter/type checker, test runner,
and neighboring code. Confirm whether the module is public API or internal.
Workflow
- Follow the existing package and import structure; avoid implicit dependencies on the current working directory.
- Type public functions and domain boundaries. Use precise built-in or project-defined types; model invalid/optional states explicitly.
- Validate external data and configuration at entry points.
- Keep side effects (filesystem, network, subprocess, database) explicit and injectable where project tests require it.
- Use context managers for resources and structured exceptions that callers can handle; do not catch broadly and suppress failures.
- Add tests for normal, boundary, and failure behavior with isolated temporary resources.
- Run the configured formatter, linter, type checker, and tests under the project's supported interpreter.
Decision rules
- Preserve the project's minimum and maximum tested Python versions.
- Avoid mutable default arguments, broad
except Exception, and hidden module-level I/O. - Use standard library facilities unless a dependency has a clear purpose.
- Do not build shell commands by concatenating untrusted values; pass argument arrays and validate paths.
- Document when a function mutates data or performs I/O.
Example
from pathlib import Path
def read_config(path: Path) -> str:
if not path.is_file():
raise FileNotFoundError(f"Configuration file not found: {path}")
return path.read_text(encoding="utf-8")Common failures
- Testing only on the developer's interpreter instead of the declared range.
- Returning
Nonefor unrelated failures without documenting it. - Assuming strings, decoded JSON, or environment values have valid shapes.
- Adding a global cache that leaks test state or tenant data.
Validation
Run the repository's formatter, linter, type checker, and test suite. Exercise missing/invalid input and filesystem/network failures. Confirm packaging and imports work from outside the repository root.
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.

