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.
git clone --depth 1 https://github.com/cpuguy96/StepCOVNetWrote 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/rules/cpuguy96/stepcovnet/python-style)<a href="https://agentmods.dev/rules/cpuguy96/stepcovnet/python-style"><img src="https://agentmods.dev/badge/rules/cpuguy96/stepcovnet/python-style/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/cpuguy96/stepcovnet/python-style"><img src="https://agentmods.dev/badge/rules/cpuguy96/stepcovnet/python-style.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00000 | $0.02302 |
| Opus 5.5 | $0.00000 | $0.00921 |
| Sonnet 5.5 | $0.00000 | $0.00460 |
| Haiku 4.5 | $0.00000 | $0.00230 |
Grade A, and why
python-style scanned grade A with 0 findings 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 1mo 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 212 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Python style
Applies to all Python in src/, scripts/, and tests/.
Follow the Google Python Style Guide for formatting and docstrings unless this file says otherwise.
Lint: After editing Python, run Ruff from the project venv at repo root (config in pyproject.toml). Use the same scope as CI (ruff check .), not only changed folders:
venv\Scripts\python.exe -m ruff check .
venv\Scripts\python.exe -m ruff format src scripts tests
venv\Scripts\pydoclint.exe src/stepcovnet/<package>/
venv\Scripts\pyright.exe src/stepcovnet/<package>/
Before push: venv\Scripts\python.exe pre_submit.py --fast for ruff; full pre_submit.py --skip-install before PR. Or install hooks once: pre-commit install --install-hooks --hook-type pre-commit.
Use a narrower path when scope is small. Fix any remaining diagnostics Ruff, pydoclint, and pyright report. Config: [tool.pydoclint] and [tool.pyright] in pyproject.toml.
Google Style Guide mapping
Follow the Google Python Style Guide unless this file or pyproject.toml says otherwise.
| Google topic | Enforced by | Notes / deviations |
|---|---|---|
| Line length (80 cols) | Ruff format (line-length = 88) |
88 columns — Black-compatible; do not wrap to 80 in new code. |
| Imports | Ruff I + PLC0415 + rules above |
Module-level only in src/; see exceptions table in Imports section. |
Naming (N) |
Ruff N |
N806 ignored for ML locals (X, y, …). |
PTH) |
Ruff PTH |
Full repo: ruff check . at repo root (same scope as CI). Fix violations in touched files; do not commit with a red tree. |
Simplify (SIM) |
Ruff SIM |
Prefer combined with contexts where Ruff suggests. |
| Docstrings (§3.8) | pydoclint + rules below | Google-style Args / Returns / Raises on public and _private functions; see docstring section. |
| Type hints (§2.22) | pyright (typeCheckingMode = basic) |
Run on packages you change; fix missing imports and obvious type errors. |
main() guard, exceptions, strings |
Agent review | No dedicated linter — match surrounding module style. |
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.
- 1mo ago First seen · 212 lines · 0 tokens per session scan A 3bfed749dd75
python-style is a cursor rule published in the GitHub repository cpuguy96/StepCOVNet (22 stars, last pushed 5d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 2,302 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
typescript
Changes to these high-fan-out internals can affect every message, delta, element, or rerun. Keep work in them minimal, and benchmark changes with representative stress-test apps.
python_lib
Tips and guidelines specific to the development of the Streamlit Python library, not applicable to scripts and e2e tests.
python_tests
We use the unit tests to cover internal behavior that can work without the web / backend counterpart. We aim for 95%+ unit test coverage of our Python code in lib/streamlit.
overview
Streamlit is an open-source (Apache 2.0) Python library for creating interactive web applications and dashboards with focus on data apps and internal tools.
python
Cursor rule "python" from streamlit/streamlit, covering python development guide, key principles, docstrings, package structure and dependencies.
mod-011-use-proper-optional-dependency-handling
Use checkminversion() to check optional dependencies without importing, and @requireversion decorator to protect version-specific features; pyproject.toml is the single source of truth for dependencies.