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 skills/ruslan-korneev/claude-plugins/ruff-patternsnpx skills add ruslan-korneev/claude-plugins --skill ruff-patternsgit clone --depth 1 https://github.com/ruslan-korneev/claude-pluginsWrote 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/skills/ruslan-korneev/claude-plugins/ruff-patterns)<a href="https://agentmods.dev/skills/ruslan-korneev/claude-plugins/ruff-patterns"><img src="https://agentmods.dev/badge/skills/ruslan-korneev/claude-plugins/ruff-patterns.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.00000 | $0.01005 |
| Opus 5 | $0.00000 | $0.00502 |
| Sonnet 5 | $0.00000 | $0.00201 |
| Haiku 4.5 | $0.00000 | $0.00101 |
Grade A, and why
ruff-patterns 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 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.
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 — 153 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Ruff Patterns
Knowledge about the ruff linter and patterns for solving errors. ZERO noqa policy — always look for the proper solution.
Triggers
Use this skill when the user:
- Asks "how to configure ruff"
- Gets a ruff error and wants to understand how to fix it
- Wants to migrate from black/isort/flake8/pylint
- Asks about a specific rule (E501, F401, etc.)
Main Principle: NEVER USE NOQA
Every ruff error has a proper solution. Using # noqa is:
- Hiding the problem, not solving it
- Technical debt
- A potential source of bugs
Instead of noqa:
- Fix the code properly
- Configure per-file-ignores for specific cases (tests, migrations)
- Disable the rule globally if it doesn't fit the project
More details: ${CLAUDE_PLUGIN_ROOT}/skills/ruff-patterns/references/why-no-noqa.md
Quick Start
Installation
uv add ruff --dev
Basic Usage
# Check
ruff check .
# Format
ruff format .
# Auto-fix safe errors
ruff check --fix .
# Auto-fix all errors (including potentially unsafe)
ruff check --fix --unsafe-fixes .
Recommended Configuration
For FastAPI Projects
[tool.ruff]
target-version = "py312"
line-length = 120
src = ["src"]
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"D", # docstrings
"ANN101", # self annotation
"ANN102", # cls annotation
"FBT003", # boolean positional arg
"PLR0913", # too many arguments
"S101", # assert (allowed in tests via per-file-ignores)
"COM812", # trailing comma conflict
"ISC001", # implicit string concat conflict
]
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = ["S101", "PLR2004"]
"alembic/versions/*.py" = ["ALL"]
"__init__.py" = ["F401"]
[tool.ruff.format]
quote-style = "double"
Full example: ${CLAUDE_PLUGIN_ROOT}/skills/ruff-patterns/examples/fastapi-pyproject.toml
Solutions for Popular Errors
Detailed solution database: ${CLAUDE_PLUGIN_ROOT}/skills/ruff-patterns/references/rule-solutions.md
Quick Reference
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 153 lines · 0 tokens per session scan A 2297be763f35
ruff-patterns is a skill published in the GitHub repository ruslan-korneev/claude-plugins (4 stars, last pushed 6mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 1,005 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-31.
Other skills, from other repositories
writing-python
How Python is written in this repo — free functions over classes, structured returns instead of mutated arguments, comprehensions, no module state, and the stdlib-only, annotation-free, Python 3.8 dialect the AST lints enforce. Covers modular structure and the import-layer rule, DRY without copying a helper into a…
no-silent-pass
Write Python whose failures are visible and checks that actually fire — distinct sentinels for success and error, filters that narrow to nothing without reading as "all clear", output never discarded on a non-zero exit, and selftest cases proven red before they are trusted (mutate the fix, mutate it the other way too…
bump-dependency
Bumps a Python package dependency across Home Assistant Core integrations, regenerates core requirement files, runs verification tests and prek lint, and prepares a pull request with proper release/compare links.
agent-framework-azure-ai-py
Build persistent agents on Azure AI Foundry using the Microsoft Agent Framework Python SDK.
python-feature-lifecycle
Guidance for package and feature lifecycle in the Agent Framework Python codebase, including stage meanings, feature-stage decorators, feature enums, and how to move APIs from one stage to the next.
python-development
Coding standards, conventions, and patterns for developing Python code in the Agent Framework repository. Use this when writing or modifying Python source files in the python/ directory.