Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/hermeticormus/python-conventions-skills/claude-mdgit clone --depth 1 https://github.com/HermeticOrmus/python-conventions-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/hermeticormus/python-conventions-skills/claude-md)<a href="https://agentmods.dev/instructions/hermeticormus/python-conventions-skills/claude-md"><img src="https://agentmods.dev/badge/instructions/hermeticormus/python-conventions-skills/claude-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00844 | $0.00844 |
| Opus 5 | $0.00422 | $0.00422 |
| Sonnet 5 | $0.00169 | $0.00169 |
| Haiku 4.5 | $0.00084 | $0.00084 |
Grade A, and why
python-conventions-skills CLAUDE.md scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- `subprocess.run()` over `os.system` — actual return-code handling How it starts
The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
CLAUDE.md
Python conventions for modern (3.11+) projects. Apply to every .py, pyproject.toml, and requirements*.txt.
Tradeoff: bias toward strict-but-modern defaults. For one-off scripts or legacy codebases (3.8-, untyped, old Django), use judgment.
Type discipline
- Type hints required on every function signature, public attribute, and return value
from __future__ import annotationsat top of files — gives forward-reference types and PEP 604 union (A | B) on older runtimes- Pydantic v2 for any external/IO model — never plain
dict[str, Any]at API boundaries TypedDictfor internal dict shapes that don't need validationLiteral["a", "b"]for string-literal enums (lighter thanenum.Enum)
Stdlib preferences
pathlib.Pathoveros.path— composable, type-safedataclasses(or Pydantic) over manually-written__init__for data containerssubprocess.run()overos.system— actual return-code handlingf-stringsover%or.format()— except for logging, where lazy formatting mattersmatchstatements (3.10+) for tagged-union dispatch — cleaner than chainedisinstance
Async
async defend-to-end — don't mix syncrequestsinto an async stack; usehttpxasyncio.gatherfor parallel;asyncio.TaskGroup(3.11+) for structured concurrency with proper cancellation- Never
time.sleep()in async code —await asyncio.sleep()only
Logging
structlogif available in the project; else stdlibloggingwith structured extras- Never
print()in library code — only allowed in CLIs / scripts where stdout is the deliverable - Lazy formatting:
logger.info("user %s logged in", user_id)notlogger.info(f"user {user_id}...")— avoids string interpolation when log level is filtered
Tooling defaults
rufffor lint + format (replacesblack+flake8+isort)mypy --strictfor type checking when the codebase tolerates itpytestwith fixtures over class-based setup/teardownuvoverpipfor new projects (faster, lockfile by default)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 88 lines · 844 tokens per session scan A ae4ad67acc07
python-conventions-skills CLAUDE.md is an instructions file published in the GitHub repository HermeticOrmus/python-conventions-skills (2 stars, last pushed 3mo ago), licensed MIT. It adds 844 tokens to every session, about $0.0042 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other instructions, from other repositories
yandex-tracker-mcp AGENTS.md
AGENTS.md instructions for aikts/yandex-tracker-mcp, covering agents.md, rules, project overview, commands and architecture.
llm-ide-rules python-app.instructions.md
Instructions for iloveitaly/llm-ide-rules, covering python app, factories and database & orm.
llm-ide-rules pytest-tests.instructions.md
Instructions for iloveitaly/llm-ide-rules, covering pytest tests, example test and file structure.
llm-ide-rules python.instructions.md
Instructions for iloveitaly/llm-ide-rules, covering python, package management, typing, data manipulation and date & datetime.
pyobfus CLAUDE.md
Instructions for zhurong2020/pyobfus, covering pyobfus 开发约定, ⚡ current pending work (cold-start 必读), ⏳ 2026-08-30 — 客户 paid-invoice pdf 已升级 stripe 工程处理, ✅ 2026-08-24 — 0.5.17 / mcp 0.3.8 发布与外部渠道收尾 and ✅ 2026-08-21 — 周期性复查(下载量 + glama + claude plugin),全部无变化.
llm-swarm-router AGENTS.md
Instructions for matthewdcage/llm-swarm-router, covering agent & developer guide, dox rail, project overview, architecture and repository layout.