{"id":"92f13fb3-dc3a-4b93-bb90-68ad359c98b9","shortId":"bhbcqm","kind":"skill","title":"Run Ruff, Mypy, and other code-quality tools on Jupyter notebooks with nbQA","tagline":"Apply standard Python formatters, linters, and type checkers to notebook-heavy repositories without manually converting notebooks to scripts.","description":"# Run Ruff, Mypy, and other code-quality tools on Jupyter notebooks with nbQA\n\nApply standard Python formatters, linters, and type checkers to notebook-heavy repositories without manually converting notebooks to scripts.\n\n## Prerequisites\n\nPython 3, pip, nbQA, Jupyter notebooks, underlying QA tools such as Ruff or Mypy\n\n## Installation\n\nUse the upstream install or setup path that matches your environment:\n- $ python -m pip install -U nbqa\n- $ python -m pip install -U \"nbqa[toolchain]\"\n\nRequirements and caveats from upstream:\n- In your [virtual environment](https://realpython.com/python-virtual-environments-a-primer/), run (note: the $ is not part of the command):\n- Format .md files saved via [Jupytext](https://github.com/mwouts/jupytext) (requires jupytext to be installed):\n- See [command-line examples](https://nbqa.readthedocs.io/en/latest/examples.html) for examples involving [doctest](https://docs.python.org/3/library/doctest.html), [flake8](https://flake8.pycqa.org/en/latest/), [mypy](...\n\nBasic usage or getting-started notes:\n- Run ruff, isort, pyupgrade, mypy, pylint, flake8, black, blacken-docs, and more on Jupyter Notebooks\n- Here's an example of how to set up some pre-commit hooks: put this in your .pre-commit-config.yaml file (see [usage as pre-commit hook](https://nbqa.readthedocs.io/en/latest/pre-commit.html))\n- https://github.com/DataS-DHSC/os-maps-example\n\n- Source: https://github.com/nbQA-dev/nbQA\n- Extracted from upstream docs: https://raw.githubusercontent.com/nbQA-dev/nbQA/HEAD/README.md\n\n## Documentation\n\n- https://nbqa.readthedocs.io/\n\n## Source\n\n- [Agent Skill Exchange](https://agentskillexchange.com/skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa/)","tags":["run","ruff","mypy","and","other","code","quality","tools","jupyter","notebooks","with","nbqa"],"capabilities":["skill","source-agentskillexchange","skill-run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa","topic-agent-skills","topic-ai-agents","topic-ai-tools","topic-awesome-list","topic-claude-code","topic-codex","topic-cursor","topic-llm","topic-mcp","topic-npx-skills","topic-openclaw","topic-skills-catalog"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/agentskillexchange/skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add agentskillexchange/skills","source_repo":"https://github.com/agentskillexchange/skills","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (1,731 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:12:14.263Z","embedding":null,"createdAt":"2026-05-18T13:19:02.761Z","updatedAt":"2026-05-18T19:12:14.263Z","lastSeenAt":"2026-05-18T19:12:14.263Z","tsv":"'/3/library/doctest.html),':156 '/datas-dhsc/os-maps-example':217 '/en/latest/),':160 '/en/latest/examples.html)':149 '/en/latest/pre-commit.html))':214 '/mwouts/jupytext)':136 '/nbqa-dev/nbqa':221 '/nbqa-dev/nbqa/head/readme.md':228 '/python-virtual-environments-a-primer/),':118 '/skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa/)':237 '3':69 'agent':232 'agentskillexchange.com':236 'agentskillexchange.com/skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa/)':235 'appli':15,48 'basic':162 'black':176 'blacken':178 'blacken-doc':177 'caveat':109 'checker':22,55 'code':7,40 'code-qu':6,39 'command':127,144 'command-lin':143 'commit':197,210 'convert':30,63 'doc':179,225 'docs.python.org':155 'docs.python.org/3/library/doctest.html),':154 'doctest':153 'document':229 'environ':93,115 'exampl':146,151,188 'exchang':234 'extract':222 'file':130,204 'flake8':157,175 'flake8.pycqa.org':159 'flake8.pycqa.org/en/latest/),':158 'format':128 'formatt':18,51 'get':166 'getting-start':165 'github.com':135,216,220 'github.com/datas-dhsc/os-maps-example':215 'github.com/mwouts/jupytext)':134 'github.com/nbqa-dev/nbqa':219 'heavi':26,59 'hook':198,211 'instal':82,86,97,103,141 'involv':152 'isort':171 'jupyt':11,44,72,183 'jupytext':133,138 'line':145 'linter':19,52 'm':95,101 'manual':29,62 'match':91 'md':129 'mypi':3,36,81,161,173 'nbqa':14,47,71,99,105 'nbqa.readthedocs.io':148,213,230 'nbqa.readthedocs.io/en/latest/examples.html)':147 'nbqa.readthedocs.io/en/latest/pre-commit.html))':212 'note':120,168 'notebook':12,25,31,45,58,64,73,184 'notebook-heavi':24,57 'part':124 'path':89 'pip':70,96,102 'pre':196,209 'pre-commit':195,208 'pre-commit-config.yaml':203 'prerequisit':67 'put':199 'pylint':174 'python':17,50,68,94,100 'pyupgrad':172 'qa':75 'qualiti':8,41 'raw.githubusercontent.com':227 'raw.githubusercontent.com/nbqa-dev/nbqa/head/readme.md':226 'realpython.com':117 'realpython.com/python-virtual-environments-a-primer/),':116 'repositori':27,60 'requir':107,137 'ruff':2,35,79,170 'run':1,34,119,169 'save':131 'script':33,66 'see':142,205 'set':192 'setup':88 'skill':233 'skill-run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa' 'sourc':218,231 'source-agentskillexchange' 'standard':16,49 'start':167 'tool':9,42,76 'toolchain':106 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-tools' 'topic-awesome-list' 'topic-claude-code' 'topic-codex' 'topic-cursor' 'topic-llm' 'topic-mcp' 'topic-npx-skills' 'topic-openclaw' 'topic-skills-catalog' 'type':21,54 'u':98,104 'under':74 'upstream':85,111,224 'usag':163,206 'use':83 'via':132 'virtual':114 'without':28,61","prices":[{"id":"461caa55-bc8d-4e62-8e1c-d0a001381a75","listingId":"92f13fb3-dc3a-4b93-bb90-68ad359c98b9","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"agentskillexchange","category":"skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:19:02.761Z"}],"sources":[{"listingId":"92f13fb3-dc3a-4b93-bb90-68ad359c98b9","source":"github","sourceId":"agentskillexchange/skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa","sourceUrl":"https://github.com/agentskillexchange/skills/tree/main/skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa","isPrimary":false,"firstSeenAt":"2026-05-18T13:19:02.761Z","lastSeenAt":"2026-05-18T19:12:14.263Z"}],"details":{"listingId":"92f13fb3-dc3a-4b93-bb90-68ad359c98b9","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"agentskillexchange","slug":"run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa","github":{"repo":"agentskillexchange/skills","stars":8,"topics":["agent-skills","ai-agents","ai-tools","awesome-list","claude-code","codex","cursor","llm","mcp","npx-skills","openclaw","skills-catalog"],"license":"mit","html_url":"https://github.com/agentskillexchange/skills","pushed_at":"2026-05-18T19:02:17Z","description":"The open catalog of AI agent skills — 2,000+ security-scanned skills for Claude Code, Cursor, Codex, and more.","skill_md_sha":"75025a54f3e9b1b84aef8b5bd297562648a2fc5b","skill_md_path":"skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/agentskillexchange/skills/tree/main/skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"Run Ruff, Mypy, and other code-quality tools on Jupyter notebooks with nbQA","description":"Apply standard Python formatters, linters, and type checkers to notebook-heavy repositories without manually converting notebooks to scripts."},"skills_sh_url":"https://skills.sh/agentskillexchange/skills/run-ruff-mypy-and-other-code-quality-tools-on-jupyter-notebooks-with-nbqa"},"updatedAt":"2026-05-18T19:12:14.263Z"}}