# Ruff Formatter

> Fix Python code formatting issues using the Ruff formatter. Use when: (1) Formatting errors are detected by ruff format --check, (2) Python files need to be formatted to match project style, (3) Pre-commit hooks or CI fail due to formatting issues.

- Skill: `frizzle-chan/ruff-formatter` (Agent Skill)
- Install (CLI): `npx skillmds@latest add frizzle-chan/ruff-formatter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/frizzle-chan/ruff-formatter/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: frizzle-chan (https://skillmd.com/u/frizzle-chan)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/frizzle-chan/ruff-formatter

---


# Ruff Formatter

Fast Python code formatter, drop-in replacement for Black with >99.9% compatibility.

## Quick Reference

```bash
# Format all files in current directory
ruff format .

# Format specific file(s)
ruff format path/to/file.py

# Check without modifying (CI/pre-commit)
ruff format --check .

# Show diff of what would change
ruff format --diff .
```

## Fixing Formatting Issues

When `ruff format --check` fails:

1. Run `ruff format .` to auto-fix all formatting
2. Review changes with `git diff`
3. Commit the formatted code

For import sorting issues, run linter first:
```bash
ruff check --select I --fix .  # Sort imports
ruff format .                   # Then format
```

## Format Suppression

Disable formatting for specific code:

```python
# fmt: off
matrix = [
    [1, 0, 0],
    [0, 1, 0],
    [0, 0, 1],
]
# fmt: on

x = 1  # fmt: skip
```

## Configuration

In `pyproject.toml` or `ruff.toml`:

```toml
[tool.ruff.format]
quote-style = "double"      # or "single"
indent-style = "space"      # or "tab"
line-length = 88            # default
docstring-code-format = true
```

## Exit Codes

- **0**: Success (files formatted or already formatted)
- **1**: With `--check`: files need formatting
- **2**: Error (invalid config, CLI error)

