lint

Run all project linters (ruff, mypy, sqlfluff) and report results. Invoke with /lint.

14 stars

Best use case

lint is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Run all project linters (ruff, mypy, sqlfluff) and report results. Invoke with /lint.

Teams using lint should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/lint/SKILL.md --create-dirs "https://raw.githubusercontent.com/spideystreet/medox/main/.claude/skills/lint/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/lint/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How lint Compares

Feature / AgentlintStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Run all project linters (ruff, mypy, sqlfluff) and report results. Invoke with /lint.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# /lint

Run all project linters and report a unified summary.

## Linters

| Tool | Scope | What it checks |
|------|-------|----------------|
| `ruff check` | `src/` `scripts/` `tests/` | Python lint (E, F, I, UP) |
| `ruff format --check` | `src/` `scripts/` `tests/` | Python formatting |
| `mypy` | `src/` | Python type checking |
| `sqlfluff lint` | `dbt/models/` `dbt/tests/` | SQL style & conventions |

## Steps

1. **Parse argument** (optional)
   - `python` → run only ruff + mypy
   - `sql` → run only sqlfluff
   - `all` or no argument → run everything

2. **Run selected linters** — run all applicable commands in parallel:

   **Python linting (ruff check):**
   ```bash
   uv run ruff check src/ scripts/ tests/
   ```

   **Python formatting (ruff format):**
   ```bash
   uv run ruff format --check src/ scripts/ tests/
   ```

   **Python types (mypy):**
   ```bash
   uv run mypy src/
   ```

   **SQL linting (sqlfluff):**
   ```bash
   uv run sqlfluff lint dbt/models/ dbt/tests/ --config dbt/.sqlfluff
   ```

3. **Auto-fix** — if ruff or sqlfluff report fixable violations, ask the user:
   > "N fixable violations found. Apply auto-fix?"

   If yes:
   ```bash
   uv run ruff check --fix src/ scripts/ tests/
   uv run ruff format src/ scripts/ tests/
   uv run sqlfluff fix dbt/models/ dbt/tests/ --config dbt/.sqlfluff
   ```

4. **Report summary** — print a table like:

   ```
   Linter          Status   Issues
   ruff check      PASS     0
   ruff format     FAIL     3 files
   mypy            PASS     0
   sqlfluff        PASS     0
   ```

   Use PASS/FAIL per linter. If all pass, end with: `All linters passed.`

Related Skills

We are still matching the closest adjacent skills for this page. In the meantime, continue through the full directory.