Scaffold exercises
创建能通过 linting 的 exercise directory structures,包含 sections、problems、solutions 和 explainers。当用户想 scaffold exercises、创建 exercise stubs,或设置新的 course section 时使用。From its SKILL.md
npx -y skills add popsiclelmlm/skills-cn --skill scaffold-exercisesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.6 KB, 994 tokens by cl100k_base, as published. Nobody here has run it
Scaffold Exercises
创建能通过 pnpm ai-hero-cli internal lint 的 exercise directory structures,然后用 git commit 提交。
Directory naming
- Sections:
exercises/内的XX-section-name/(例如01-retrieval-skill-building) - Exercises:section 内的
XX.YY-exercise-name/(例如01.03-retrieval-with-bm25) - Section number =
XX,exercise number =XX.YY - Names 使用 dash-case(小写、hyphens)
Exercise variants
每个 exercise 至少需要以下 subfolders 之一:
problem/— 带 TODOs 的 student workspacesolution/— reference implementationexplainer/— conceptual material,没有 TODOs
Stub 时默认使用 explainer/,除非 plan 明确另有说明。
Required files
每个 subfolder(problem/、solution/、explainer/)都需要一个 readme.md,并且:
- 不为空(必须有真实内容,哪怕只有一行 title 也可以)
- 没有 broken links
Stub 时,创建带 title 和 description 的最小 readme:
# Exercise Title
Description here
如果 subfolder 有 code,它还需要一个 main.ts(>1 行)。但对 stubs 来说,只有 readme 的 exercise 也可以。
Workflow
- Parse the plan — 提取 section names、exercise names 和 variant types
- Create directories — 对每个 path 使用
mkdir -p - Create stub readmes — 每个 variant folder 一个带 title 的
readme.md - Run lint — 使用
pnpm ai-hero-cli internal lint验证 - Fix any errors — 迭代直到 lint 通过
Lint rules summary
Linter(pnpm ai-hero-cli internal lint)会检查:
- 每个 exercise 都有 subfolders(
problem/、solution/、explainer/) - 至少存在
problem/、explainer/或explainer.1/之一 - primary subfolder 中存在且非空的
readme.md - 没有
.gitkeepfiles - 没有
speaker-notes.mdfiles - readmes 中没有 broken links
- readmes 中没有
pnpm run exercisecommands - 每个 subfolder 都需要
main.ts,除非它是 readme-only
Moving/renaming exercises
重新编号或移动 exercises 时:
- 使用
git mv(不是mv)重命名 directories,以保留 git history - 更新 numeric prefix 以保持顺序
- 移动后重新运行 lint
Example:
git mv exercises/01-retrieval/01.03-embeddings exercises/01-retrieval/01.04-embeddings
Example: stubbing from a plan
给定这样的 plan:
Section 05: Memory Skill Building
- 05.01 Introduction to Memory
- 05.02 Short-term Memory (explainer + problem + solution)
- 05.03 Long-term Memory
创建:
mkdir -p exercises/05-memory-skill-building/05.01-introduction-to-memory/explainer
mkdir -p exercises/05-memory-skill-building/05.02-short-term-memory/{explainer,problem,solution}
mkdir -p exercises/05-memory-skill-building/05.03-long-term-memory/explainer
然后创建 readme stubs:
exercises/05-memory-skill-building/05.01-introduction-to-memory/explainer/readme.md -> "# Introduction to Memory"
exercises/05-memory-skill-building/05.02-short-term-memory/explainer/readme.md -> "# Short-term Memory"
exercises/05-memory-skill-building/05.02-short-term-memory/problem/readme.md -> "# Short-term Memory"
exercises/05-memory-skill-building/05.02-short-term-memory/solution/readme.md -> "# Short-term Memory"
exercises/05-memory-skill-building/05.03-long-term-memory/explainer/readme.md -> "# Long-term Memory"
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.