By nurikk
Runs Python type checking (ty) and formatting/linting (ruff) after file changes
npx claudepluginhub nurikk/claude-plugins --plugin python-qualityA collection of Claude Code plugins.
/plugin marketplace add nurikk/claude-plugins
Note: The GitHub repo is
nurikk/claude-plugins, but the marketplace identifier isnurikk-plugins(used when installing plugins).
| Plugin | Description | Install |
|---|---|---|
| python-quality | Python formatting, linting & type checking with ruff and ty | /plugin install python-quality@nurikk-plugins |
Automatically runs Python quality checks after file changes.
When Claude writes or edits a .py file, this plugin automatically runs:
| Tool | Command | Purpose |
|---|---|---|
| ruff format | uvx ruff format | Auto-formats code (PEP 8 style) |
| ruff check | uvx ruff check --fix | Lints and auto-fixes safe issues |
| ty | uvx ty check | Type checks using Astral's fast type checker |
jq - JSON processor (pre-installed on most systems)Install uv:
# macOS
brew install uv
# Linux/macOS (curl)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
/plugin marketplace add nurikk/claude-plugins
/plugin install python-quality@nurikk-plugins
Or add directly to your ~/.claude/settings.json:
{
"enabledPlugins": {
"python-quality@nurikk-plugins": true
}
}
The plugin auto-formats Python files using ruff, which handles:
Safe lint fixes are applied automatically:
Type errors are reported but don't block the operation. You'll see output like:
error[invalid-return-type]: Return type does not match returned value
--> example.py:3:25
|
3 | def greet(name: str) -> int:
| --- Expected `int` because of return type
4 | return "hello"
| ^^^^^^^ expected `int`, found `str`
/hooksEnsure uvx is in your PATH:
which uvx
Both tools are run via uvx (uv's tool runner), so they don't need to be pre-installed.
claude-plugins/
├── .claude-plugin/
│ └── marketplace.json # Marketplace catalog
├── plugins/
│ └── python-quality/ # Python quality plugin
│ ├── .claude-plugin/
│ │ └── plugin.json
│ ├── hooks/
│ │ └── hooks.json
│ └── scripts/
│ └── python-quality.sh
├── README.md
└── LICENSE
MIT
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Modifies files
Hook triggers on file write and edit operations
Intelligent prompt optimization using skill-based architecture. Enriches vague prompts with research-based clarifying questions before Claude Code executes them
Persistent memory system for Claude Code - seamlessly preserve context across sessions