Agent skills

Slash commands
for the practice loop

The repo ships its own recipes for coding agents under .claude/skills/ — plain markdown, no dependencies. Each one does a single job this repo has got wrong by hand before: filing a solution, logging a session, graduating an AGAIN, picking what to drill next, keeping the site's data valid.

11lc skills
3families
0dependencies
4+agents
› /lc-python 239 Sliding_Window
  slug      sliding-window-maximum
  file      Sliding_Window/sliding_window_maximum.py
  smoke     3/3 docstring examples pass
  ✓ README row inserted under ## Sliding Window

› /lc-log 239 ok, 76 again!!
  ✓ 20260930 appended to data/progress.txt

› /l3-core next 5
  1. 76   again   Sliding Window
  2. 124  —       Tree
  … 

How they fit together

One practice day, six commands

The skills are not a toolbox so much as a loop. Each one writes exactly one record and names the one it leaves for the next — so a solution, a practice attempt and a mastery verdict never end up in each other's file.

↺ tomorrow, /l3-core reads the log you just wrote

Directory

Every skill, one page each

Grouped by what the skill touches: your solutions, your practice record, or this site. Each card links to the skill's own page — the failure modes it exists to prevent, its steps, and a worked example — and to the SKILL.md an agent actually reads.

File what you solved

lc-pythonfile

File a Python solution

Finds the problem's real slug, writes the house layout (docstring → V0 → IDEA → time/space), smoke-tests it against the docstring's own examples, and inserts the README row in the right table set.

/lc-python 4038 Hash_table
leetcode_python/README.md
lc-javafile

File a Java solution

The package its pattern owns, a clean javadoc header, // V markers that match the method names, a compile and a run — and the [Java] link added to the row the problem already has.

/lc-java 25 LinkedList
leetcode_java/README.md
lc-cheatsheetfile

Update a cheatsheet

Files what a problem taught you into the sheet whose Scope line owns it — as an example, a variation, a new pattern or a whole sheet — then fixes the anchors and 中文 sections the edit moved.

/lc-cheatsheet 1650 into binary_tree as variation
doc/cheatsheet/i18n/zh/

Track the practice

lc-coachtrack

Interview coach

Scores a solution the way an interviewer does on the six-point scale (SH / H / LH / LNH / NH / SNH), writes the debrief packet, names the line that sets the complexity, and says what to drill next.

/lc-coach mock interview me on LC 239
read-only
lc-logtrack

Log the session

Appends today to the practice log in the shape the review plan's parser actually reads — labels comma-terminated, annotations verbatim — so no problem number is silently dropped.

/lc-log 23 ok, 24 again!!, 25
data/progress.txt
lc-againtrack

Graduate an AGAIN

Moves README's status cell after a re-solve. Promotes only on all four: re-derived unaided, invariant stated, complexity line named, edges handled — and always keeps the star run.

/lc-again 128
README.mddata/again_problems.txt
l3-coretrack

The L3 core set

Blind 75 plus the NeetCode 150 problems marked MUST, held fixed so the number means something: where each stands in the log, the ok share, and the next five to drill.

/l3-core next 5
read-onlydata/l3_core.json on refresh
lc-discussiontrack

Scan LC Discuss

Searches recent LeetCode Discuss posts by keyword, reads the ones that describe a real question, maps each to an LC number, checks it against the practice log, and writes a 繁體中文 summary doc.

/lc-discussion google l3
doc/ws/

Maintain the site

lc-algo-demosite

Add a visualizer

Writes a visualizer against the contract the other 36 obey — the shared palette, the canvas wrapper, the structured step trace, and the repaint a theme switch depends on.

/lc-algo-demo monotonic-stack
algo_demo/
lc-site-datasite

Roadmap & quiz data

Adds a roadmap topic or a quiz question so the build-time validators accept it first time — no implied edge, no duplicate id, answers that parse as complexity expressions.

/lc-site-data roadmap monotonic-stack
data/roadmap.jsondata/complexity_quiz.json
lc-zh-translatesite

Translate to 中文

Works the 繁體中文 overlay one section at a time — prose only, every code fence kept as a marker, parked translations adapted rather than started from nothing.

/lc-zh-translate faq/java
i18n/zh/
lc-faq-addsite

File an FAQ answer

Files an interview question into the FAQ its Scope line owns, under the numbered section it belongs to — and writes the Chinese half in the same change.

/lc-faq-add kafka rebalancing
doc/faq/i18n/zh/faq/

No skill matches that. Try readme, log or translate.

Also in the tree — general-purpose skills that predate the lc- recipes and have no page of their own:

Install

Pick the skills, pick the agent, copy one command

Inside a clone of this repo there is nothing to install — the skills are already at .claude/skills/ and Claude Code loads them. To use them anywhere else, build the command here.

Copied into your user-level skills folder, so every repo gets them.

git clone --depth 1 https://github.com/yennanliu/CS_basics.git /tmp/cs_basics
mkdir -p ~/.claude/skills
cp -r /tmp/cs_basics/.claude/skills/{lc-python,lc-coach,lc-log} ~/.claude/skills/

Under the hood

What a skill actually is

No runtime, no server. A skill is a directory an agent reads, and this repo checks every one of them in CI.

01A markdown recipe

SKILL.md carries a frontmatter description the agent matches your request against, an Invocation line, numbered steps, a Do not list and a worked example.

02The directory is the command

Renaming .claude/skills/lc-log/ renames /lc-log. Plain English works too — “log today's practice” loads the same skill.

03Gated like code

script/check_skills.py --install --run installs each skill into a temp dir, re-checks it alone, and runs the commands it tells an agent to type.