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 rules/zenml-io/zenml/commentsgit clone --depth 1 https://github.com/zenml-io/zenmlWhat 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.00250 | $0.00250 |
| Opus 5 | $0.00125 | $0.00125 |
| Sonnet 5 | $0.00050 | $0.00050 |
| Haiku 4.5 | $0.00025 | $0.00025 |
Grade A, and why
comments 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 yesterday.
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.
What it actually says
Commenting Policy: Explain Why, Not What
Goal: Comments should help a future maintainer understand intent and constraints months later—not narrate edits.
Use comments to explain
- Non-obvious design decisions / trade-offs and invariants
- Complex logic or algorithms (what makes them tricky)
- Business rules and constraints that drive the design
- Purpose and contract of functions/classes (especially public APIs)
- Edge cases and gotchas being handled and why they matter
Avoid change-tracking comments
- “Updated from previous version”
- “New implementation”
- “Changed to use X instead of Y”
- “Refactored this section”
Avoid simple explanatory comments
- Avoid comments that are obvious descriptions of what the code does when it's already clear from the code itself.
Guidance
- Prefer self-explanatory code; add comments only where extra context is genuinely needed.
- Write for “future you” 6+ months from now.
- In Python, prefer docstrings for API intent and inline comments only for truly non-obvious lines.
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.
- yesterday First seen · 31 lines · 250 tokens per session scan A dac8999ae81f
comments is a cursor rule published in the GitHub repository zenml-io/zenml (5,568 stars, last pushed yesterday), licensed Apache-2.0. It adds 250 tokens to every session, about $0.0013 per session on Opus 5. 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
workflows
This folder contains all GitHub Actions workflows for the Streamlit repository. Workflows automate CI/CD, testing, releases, and maintenance tasks.
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.
skills
This file provides guidance to AI coding agents (Claude Code, Cursor, Copilot, etc.) when working with skills in this repository.
e2e_playwright
We use playwright with pytest to e2e test Streamlit library. E2E tests verify the complete Streamlit system (frontend, backend, communication, state, visual appearance) from a user's perspective (black-box). They complement Python/JS unit tests, which are faster and focus on internal logic, input/output validation…
embedded_skills
Skills under lib/streamlit/.agents/skills/ ship with the library and load from the user's installed Streamlit, so keep them current as features evolve. developing-with-streamlit uses SKILL.md for routing and references/ for topic files. Follow these conventions when adding or editing guidance.
mod-007b-cannot-remove-or-rename-parameters-without-compat-mapper
Cannot remove or rename parameters in production models without implementing backwardcompatargmapper and incrementing modelcheckpointversion to maintain compatibility.