Python Guide
lightly-ai/lightly-studio
Read before writing or reviewing any Python code in this repository.
Generates Python LeetCode practice environments and manages a 307-problem catalog with the lcpy CLI.
$ npx skills add wislertt/leetcode-py --skill leetcode-py -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install wislertt/leetcode-py leetcode-py --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/wislertt/leetcode-py.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs .claude/skills/leetcode-py && rm -rf skills-srcUse ~/.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/
Install the "leetcode-py" agent skill from https://github.com/wislertt/leetcode-py/tree/main/docs into .claude/skills/leetcode-py/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "leetcode-py", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/wislertt/leetcode-py/tree/main/docsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add wislertt/leetcode-py --skill leetcode-py -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install wislertt/leetcode-py leetcode-py --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wislertt/leetcode-py.git skills-src && mkdir -p .agents/skills && cp -r skills-src/docs .agents/skills/leetcode-py && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "leetcode-py" agent skill from https://github.com/wislertt/leetcode-py/tree/main/docs into .agents/skills/leetcode-py/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "leetcode-py", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wislertt/leetcode-py --skill leetcode-py -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install wislertt/leetcode-py leetcode-py --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wislertt/leetcode-py.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/docs .cursor/skills/leetcode-py && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "leetcode-py" agent skill from https://github.com/wislertt/leetcode-py/tree/main/docs into .cursor/skills/leetcode-py/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "leetcode-py", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/wislertt/leetcode-py.git --path docs--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add wislertt/leetcode-py --skill leetcode-py -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install wislertt/leetcode-py leetcode-py --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wislertt/leetcode-py.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/docs .gemini/skills/leetcode-py && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "leetcode-py" agent skill from https://github.com/wislertt/leetcode-py/tree/main/docs into .gemini/skills/leetcode-py/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "leetcode-py", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install wislertt/leetcode-py leetcode-pyInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add wislertt/leetcode-py --skill leetcode-py -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/wislertt/leetcode-py.git skills-src && mkdir -p .github/skills && cp -r skills-src/docs .github/skills/leetcode-py && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "leetcode-py" agent skill from https://github.com/wislertt/leetcode-py/tree/main/docs into .github/skills/leetcode-py/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "leetcode-py", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add wislertt/leetcode-py --skill leetcode-py -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install wislertt/leetcode-py leetcode-py --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/wislertt/leetcode-py.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/docs .opencode/skills/leetcode-py && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "leetcode-py" agent skill from https://github.com/wislertt/leetcode-py/tree/main/docs into .opencode/skills/leetcode-py/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "leetcode-py", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
leetcode-pyGenerates Python LeetCode practice environments and manages a 307-problem catalog with the lcpy CLI.
Leetcode Py is an agent skill from wislertt/leetcode-py. Generates Python LeetCode practice environments and manages a 307-problem catalog with the lcpy CLI. Use when a repository needs coding interview practice scaffolding: generating problem directories (README, solution stub, parametrized pytest suite, helpers, notebook); setting up collections like Blind 75, Grind 75, Grind 169, NeetCode 150, NeetCode 250, or Algo Master 75; testing LeetCode solutions with loguru-logged, parametrized suites; visualizing TreeNode, ListNode, or GraphNode structures; or scraping…
Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1560 other files (for example `README.md`). Compatibility notes: Requires Python 3.10+. The lcpy CLI runs in any repo; bake tasks need this repo cloned.
It sits in Business, Finance & HR, covering Interview preparation, Unit testing and Web scraping. It works with Python and pytest. The repository describes itself as: Python LeetCode practice environment with automated problem generation, data structure visualizations, and comprehensive testing. Includes all Grind 75, partial Blind, Neetcode… The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 9155db3. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
pipuvnpxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
leetcode-py.wisl.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Python 3.10+. The lcpy CLI runs in any repo; bake tasks need this repo cloned.
From compatibility in the SKILL.md frontmatter.
Leetcode Py loads about 1.4k tokens when it runs. Until then it costs about 202 tokens; SKILL.md has 397 words of instructions outside code blocks.
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.
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.
The full file from wislertt/leetcode-py at commit 9155db3, republished under its Apache-2.0 licence (© wislertt). 397 words, ~1,443 tokens.
.claude/skills/leetcode-py/SKILL.md (or your agent's skills folder). This skill also uses 1559 other files; get the full folder from GitHub.leetcode-py is a Python LeetCode practice environment generator. lcpy generates complete problem directories from JSON templates bundled with the package, so a repo never carries hand-written test scaffolding. This repository is itself one such practice environment kept in sync by the same generator.
| Command | Purpose |
|---|---|
lcpy gen -n 1 | Generate the Two Sum directory (README, stub, tests, helpers, notebook). |
lcpy gen -t grind-75 | Generate every problem in a collection. |
lcpy list | List the 307 bundled problems in a formatted table. |
lcpy scrape -n 198 | Fetch a problem's data from LeetCode as JSON. |
bake p-test -p two_sum | Run one problem's test suite (this repo only). |
bake test | Run every suite (this repo only). |
One CLI: lcpy generates and lists. bake tasks exist only inside a clone of this repository.
pip install leetcode-py-sdk
# or
uv tool install leetcode-py-sdkmkdir my-practice && cd my-practice
lcpy gen -t grind-75 # a full practice env, no repo checkout neededgen selects problems by number (-n 1), slug (-s two-sum), collection tag (-t blind-75), difficulty (-d Easy), or --all; repeatable flags accept several values. -o sets the output directory and --force overwrites existing files. gen refuses to clobber without --force.
Each problem lands as leetcode/<problem_name>/ with six files:
README.md - the problem statementsolution.py - implementation with a TODO stubtest_solution.py - parametrized pytest suite, 10+ caseshelpers.py - run_* / assert_* functionsplayground.ipynb - percent-format notebook__init__.py - empty package fileSuites are parametrized; the same cases cover multiple solution classes:
import pytest
from leetcode_py import logged_test
from .helpers import assert_two_sum, run_two_sum
from .solution import Solution
class TestTwoSum:
def setup_method(self):
self.solution = Solution()
@logged_test
@pytest.mark.parametrize(
"nums, target, expected",
[
([2, 7, 11, 15], 9, [0, 1]),
([3, 3], 6, [0, 1]), # duplicate values
([-1, -2, -3, -4, -5], -8, [2, 4]), # all negatives
([1, 2], 5, []), # no answer exists
([-1000000000, 1000000000], 0, [0, 1]), # boundary values
],
)
def test_two_sum(self, nums: list[int], target: int, expected: list[int]):
result = run_two_sum(Solution, nums, target)
assert_two_sum(result, expected)For a second approach next to the first, parametrize over the class instead of copying the suite:
@pytest.mark.parametrize("solution_class", [Solution, SolutionMath])
@pytest.mark.parametrize("input_params, expected", test_cases)
def test_method(self, solution_class, input_params, expected):
result = run_helper(solution_class, *input_params)
assert_helper(result, expected)logged_test (from leetcode_py, also exports TreeNode, ListNode, GraphNode) logs each case and its result. Helpers accept the solution class as their first argument and normalize comparison, so [1, 0] passes against expected [0, 1] when order does not matter.
Six tags ship in the catalog: grind-75 (75), grind (169), blind-75 (75), neetcode-150 (154), neetcode-250 (253), algo-master-75 (75). Overlap is allowed. lcpy list -t <tag> filters, lcpy gen -t <tag> generates the whole set.
lcpy is the published CLI (leetcode-py-sdk on PyPI) and runs in any repo; bake tasks need this repo's bakefile.py.gen fails on existing files; add --force.two_sum), LeetCode slugs are kebab-case (two-sum); -s takes the slug, -p in bake p-test takes the directory name.@logged_test wraps the test function and must sit directly above @pytest.mark.parametrize.npx skills add https://leetcode-py.wisl.dev© wislertt, 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
SKILL.md and 1,559 other files in docs of wislertt/leetcode-py.
Open the folder on GitHubat commit 9155db3
Leetcode Py 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Leetcode Py this skillwislertt/leetcode-py | 142 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Python Guidelightly-ai/lightly-studio | 896 | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Python Testingmacalbert/envilder | 138 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Kedro Babysitkedro-org/kedro | 11k | — | ~4k | Automated safety check: Pass | Custom licence | |
| Adk Setupgoogle/adk-python | 22k | — | ~993 | Automated safety check: Notes | Apache-2.0 | |
| Simple Modern Uvjlevy/simple-modern-uv | 301 | — | ~1.9k | Automated safety check: Pass | MIT |
lightly-ai/lightly-studio
Read before writing or reviewing any Python code in this repository.
macalbert/envilder
Mandatory testing conventions including AAA pattern, test naming, assertions, and mocks.
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…
google/adk-python
Sets up a local ADK Python development environment in a git clone of the open-source adk-python repository: a uv virtual environment, all dependency extras, pre-commit hooks, and a first unit-test…
jlevy/simple-modern-uv
Start, selectively modernize, fully migrate, or update Python projects using simple-modern-uv practices: uv, ruff, BasedPyright, pytest, GitHub Actions CI, and tag-driven PyPI publishing.
liaohch3/claude-tap
Tests JavaScript embedded in an HTML file in two layers: pytest checks of the logic ported to Python, and Playwright runs in a real browser for the DOM.
wislertt/leetcode-py
Test quality assurance workflow for LeetCode problems - verifies reproducibility, fixes linting issues, and ensures test structure matches JSON templates.
wislertt/leetcode-py
Batch creation workflow for multiple LeetCode problems - loops through problem creation, solution implementation, and quality assurance for a specified count.
wislertt/leetcode-py
Guide for creating a single LeetCode problem scaffold - scrape, transform to JSON template, generate files, and verify.
wislertt/leetcode-py
Use ONLY when user explicitly requests "update tags" or "/update-tags", or after running .claude/.dev/updatetags.py and seeing "Missing" or "Removed" discrepancy lines.
Generates Python LeetCode practice environments and manages a 307-problem catalog with the lcpy CLI. Leetcode Py is an agent skill from wislertt/leetcode-py. Generates Python LeetCode practice environments and manages a 307-problem catalog with the lcpy CLI.
Leetcode Py fits situations like: A repository needs coding interview practice scaffolding: generating problem directories (README; parametrized pytest suite; setting up collections like Blind 75; testing LeetCode solutions with loguru-logged.
Run `npx skills add wislertt/leetcode-py --skill leetcode-py -a claude-code`. Or copy the skill folder (docs in wislertt/leetcode-py) into .claude/skills/leetcode-py in your project. Claude Code loads it when a task matches its description.
Run `npx skills add wislertt/leetcode-py --skill leetcode-py -a codex`. Or copy the skill folder (docs in wislertt/leetcode-py) into .agents/skills/leetcode-py in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add wislertt/leetcode-py --skill leetcode-py -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/leetcode-py, .gemini/skills/leetcode-py, .github/skills/leetcode-py and .opencode/skills/leetcode-py in your project.
Going by SKILL.md and its folder, Leetcode Py needs the command-line tools its instructions call (pip, uv and npx). Our summary lists: Python 3; Node.js. Compatibility (from SKILL.md): Requires Python 3.10+. The lcpy CLI runs in any repo; bake tasks need this repo cloned..
SKILL.md names 1 domain. In commands or code: leetcode-py.wisl.dev; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
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.
Leetcode Py is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Leetcode Py: Python Guide (lightly-ai/lightly-studio, 896 stars), Python Testing (macalbert/envilder, 138 stars), Kedro Babysit (kedro-org/kedro, 11k stars) and Adk Setup (google/adk-python, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
wislertt (a GitHub user) maintains it in wislertt/leetcode-py, which has 142 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.
Source: wislertt/leetcode-py on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.