Agent skill

Lint

by roryeckel in roryeckel/wyoming_openai

Run all linters (ruff, pyright) and fix issues in a loop until the codebase is clean.

Apache-2.0Auto-check passedDevelopment

Install Lint

skills CLI
$ npx skills add roryeckel/wyoming_openai --skill lint -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install roryeckel/wyoming_openai lint --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/roryeckel/wyoming_openai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/lint .claude/skills/lint && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
lint
GitHub stars
219
Token cost
~707 tokens
SKILL.md length
317 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

Run all linters (ruff, pyright) and fix issues in a loop until the codebase is clean.

  • Works in 3 steps: Ruff auto-fix — -m ruff check . --fix… → Ruff check — -m ruff check . (remaining… → Pyright — -m pyright --pythonpath…
  • Tasks that involve Linting and formatting
  • Calls git, python and ruff

What it does

Lint is an agent skill from roryeckel/wyoming_openai. Run all linters (ruff, pyright) and fix issues in a loop until the codebase is clean.

Its SKILL.md is about 710 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Linting and formatting. It works with Ruff, Python, OpenAI and Home Assistant. The repository describes itself as: OpenAI-Compatible Proxy Middleware for the Wyoming Protocol. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Linting and formatting

Example prompts

  • “/lint”

Requirements

  • Python 3

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Ruff auto-fix — -m ruff check . --fix (safe, auto-fixable issues)
  2. Ruff check — -m ruff check . (remaining issues that need manual fixes)
  3. Pyright — -m pyright --pythonpath (type-checking)

What it can do on your machine

Read from SKILL.md and the folder at commit f064e00. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • python
    • ruff

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Lint loads about 707 tokens when it runs. Until then it costs about 23 tokens; SKILL.md has 317 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~23
When it runs · the whole SKILL.md, loaded when a task matches
~707

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from roryeckel/wyoming_openai at commit f064e00, republished under its Apache-2.0 licence (© roryeckel). 317 words, ~707 tokens.

Download SKILL.mdSave it as .claude/skills/lint/SKILL.md (or your agent's skills folder).
name
lint
description
Run all linters (ruff, pyright) and fix issues in a loop until the codebase is clean.
disable-model-invocation
true

Current State

  • Branch: !git branch --show-current
  • Dirty files: !git diff --name-only

Run all project linters and resolve every issue. Loop until the codebase passes cleanly.

Python environment

Use the repository's selected or activated virtual environment for every linter invocation. Do not assume a particular environment name or location. Resolve the interpreter from the active environment (for example, with python -c "import sys; print(sys.executable)") and refer to it below as <venv-python>.

Run Ruff and Pyright as modules through <venv-python> rather than using system-level commands. Pass the same interpreter to Pyright with --pythonpath so its import resolution uses the environment containing the project's dependencies. If no project environment is selected, stop and report that linting requires the development environment to be activated or selected.

Linter pipeline

Run the linters in this order each iteration:

  1. Ruff auto-fix — <venv-python> -m ruff check . --fix (safe, auto-fixable issues)
  2. Ruff check — <venv-python> -m ruff check . (remaining issues that need manual fixes)
  3. Pyright — <venv-python> -m pyright --pythonpath <venv-python> (type-checking)
Resolution loop
while linters report errors:
    1. Run <venv-python> -m ruff check . --fix  (let ruff auto-fix what it can)
    2. Run <venv-python> -m ruff check .
       - If errors remain, read the offending files and fix them
    3. Run <venv-python> -m pyright --pythonpath <venv-python>
       - If errors remain, read the offending files and fix them
    4. If no errors in steps 2 and 3, break
Rules
  • Max 5 iterations. If issues persist after 5 loops, stop and report the remaining errors to the user.
  • Ruff first, pyright second. Ruff fixes (especially import sorting) can eliminate pyright false positives, so always run ruff before pyright.
  • Use ruff check . --fix before manual fixes. Never manually fix what ruff can auto-fix.
  • Minimal changes. Only touch lines the linters flag. Do not refactor, add docstrings, or "improve" surrounding code.
  • Preserve behavior. Fixes must not change runtime behavior. If a fix requires a judgment call (e.g., an Any type that needs a real annotation), prefer the narrowest correct type.
  • Report clearly. After each iteration, briefly state which linter you ran and how many errors remain. When done, summarize what was fixed.
  • If $ARGUMENTS contains a file path or glob, pass it to both linters to scope the run (e.g., <venv-python> -m ruff check $ARGUMENTS and <venv-python> -m pyright --pythonpath <venv-python> $ARGUMENTS).

© roryeckel, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/lint of roryeckel/wyoming_openai.

Open the folder on GitHubat commit f064e00

Compare with similar skills

Lint next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Lint compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Lint this skillroryeckel/wyoming_openai219—~707Automated safety check: PassApache-2.0
Ha Code QualityFutureTense/keymaster349—~462Automated safety check: PassMIT
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k—~2.2kAutomated safety check: PassMIT
Kedro Babysitkedro-org/kedro11k—~4kAutomated safety check: PassCustom licence
Saleor Commit Workflowsaleor/saleor23k—~575Automated safety check: PassBSD-3-Clause

Similar skills

  • Ha Code Quality

    FutureTense/keymaster

    Standards and commands for linting, code formatting, typing validation (Ruff, MyPy, Codespell, ESLint, Pre-commit/Prek, Tox), and adherence to Home Assistant Python 3.14 standards in Keymaster.

    349 GitHub stars~462 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Kedro Babysit

    kedro-org/kedro

    Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…

    11k GitHub stars~4k tokensUpdated today
    DevelopmentAuto-check passed
  • Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.

    23k GitHub stars~575 tokensUpdated today
    DevelopmentAuto-check passed
  • Adding Ty Diagnostics

    astral-sh/ruff

    Official

    A skill your agent uses when a user says "add a ty rule", "add a ty diagnostic", "write this new ty diagnostic", "change a ty error message", "review ty diagnostics", or asks to add, update, or…

    50k GitHub stars~556 tokensUpdated today
    DevelopmentAuto-check passed

More from roryeckel/wyoming_openai

  • Community Triage

    roryeckel/wyoming_openai

    GitHub issues, pull requests, bug reports, scope questions, and support threads.

    219 GitHub stars~2.9k tokensUpdated 4 days ago
    Auto-check passed
  • Bump Version

    roryeckel/wyoming_openai

    Bump the version number of wyoming-openai. An agent skill from roryeckel/wyoming_openai.

    219 GitHub stars~349 tokensUpdated 4 days ago
    Auto-check passed

Categories

Questions about Lint

What does Lint do?

Run all linters (ruff, pyright) and fix issues in a loop until the codebase is clean. Lint is an agent skill from roryeckel/wyoming_openai. Run all linters (ruff, pyright) and fix issues in a loop until the codebase is clean.

When should I use Lint?

Lint fits situations like: tasks that involve Linting and formatting.

How do I install Lint in Claude Code?

Run `npx skills add roryeckel/wyoming_openai --skill lint -a claude-code`. Or copy the skill folder (.agents/skills/lint in roryeckel/wyoming_openai) into .claude/skills/lint in your project. Claude Code loads it when a task matches its description.

How do I install Lint in Codex?

Run `npx skills add roryeckel/wyoming_openai --skill lint -a codex`. Or copy the skill folder (.agents/skills/lint in roryeckel/wyoming_openai) into .agents/skills/lint in your project. Codex loads it when a task matches its description.

Can I use Lint in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add roryeckel/wyoming_openai --skill lint -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lint, .gemini/skills/lint, .github/skills/lint and .opencode/skills/lint in your project.

What does Lint need to run?

Going by SKILL.md and its folder, Lint needs the command-line tools its instructions call (git, python and ruff). Our summary lists: Python 3.

Does Lint access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Lint safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Lint use?

Lint is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Lint use?

About 707 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Lint?

Skills that share tags, products or a category with Lint: Ha Code Quality (FutureTense/keymaster, 349 stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Summarise Ecosystem Results (astral-sh/ruff, 50k stars) and Kedro Babysit (kedro-org/kedro, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Lint?

roryeckel (a GitHub user) maintains it in roryeckel/wyoming_openai, which has 219 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 4, 2026.

Source: roryeckel/wyoming_openai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.