scaffold-exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
How do I install this agent skill?
npx skills add https://github.com/akillness/jeo-skills --skill scaffold-exercisesIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The skill is generally safe for scaffolding educational content but uses shell commands to create directories and files based on user-provided names, which presents a potential command injection surface if inputs are not sanitized.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Scaffold Exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
This skill is imported from mattpocock/skills (MIT) and is model-invoked upstream.
When to use this skill
- Create exercise directory structures with sections, problems, solutions, and explainers that pass linting.
- Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
Instructions
Scaffold Exercises
Create exercise directory structures that pass pnpm ai-hero-cli internal lint, then commit with git commit.
Directory naming
- Sections:
XX-section-name/insideexercises/(e.g.,01-retrieval-skill-building) - Exercises:
XX.YY-exercise-name/inside a section (e.g.,01.03-retrieval-with-bm25) - Section number =
XX, exercise number =XX.YY - Names are dash-case (lowercase, hyphens)
Exercise variants
Each exercise needs at least one of these subfolders:
problem/- student workspace with TODOssolution/- reference implementationexplainer/- conceptual material, no TODOs
When stubbing, default to explainer/ unless the plan specifies otherwise.
Required files
Each subfolder (problem/, solution/, explainer/) needs a readme.md that:
- Is not empty (must have real content, even a single title line works)
- Has no broken links
When stubbing, create a minimal readme with a title and a description:
# Exercise Title
Description here
If the subfolder has code, it also needs a main.ts (>1 line). But for stubs, a readme-only exercise is fine.
Workflow
- Parse the plan - extract section names, exercise names, and variant types
- Create directories -
mkdir -pfor each path - Create stub readmes - one
readme.mdper variant folder with a title - Run lint -
pnpm ai-hero-cli internal lintto validate - Fix any errors - iterate until lint passes
Lint rules summary
The linter (pnpm ai-hero-cli internal lint) checks:
- Each exercise has subfolders (
problem/,solution/,explainer/) - At least one of
problem/,explainer/, orexplainer.1/exists readme.mdexists and is non-empty in the primary subfolder- No
.gitkeepfiles - No
speaker-notes.mdfiles - No broken links in readmes
- No
pnpm run exercisecommands in readmes main.tsrequired per subfolder unless it's readme-only
Moving/renaming exercises
When renumbering or moving exercises:
- Use
git mv(notmv) to rename directories - preserves git history - Update the numeric prefix to maintain order
- Re-run lint after moves
Example:
git mv exercises/01-retrieval/01.03-embeddings exercises/01-retrieval/01.04-embeddings
Example: stubbing from a plan
Given a plan like:
Section 05: Memory Skill Building
- 05.01 Introduction to Memory
- 05.02 Short-term Memory (explainer + problem + solution)
- 05.03 Long-term Memory
Create:
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
Then create 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"
Examples
- Apply this skill to one narrow scope first, confirm the output matches the shape described above, then widen to the full task.
- When a step needs a fact from the repository or the environment, look it up instead of asking the user for it.
Best practices
- Keep the upstream procedure intact; record deviations explicitly instead of silently improvising.
- Stop and hand control back to the user at every decision point this skill marks as theirs.
- Prefer small reversible changes, and state assumptions rather than burying them.
References
- Upstream skill:
mattpocock/skillsskills/misc/scaffold-exercises/SKILL.md(commit3cca18b, MIT) - Project standards:
.agent-skills/skill-standardization/SKILL.md - Validator script:
.agent-skills/skill-standardization/scripts/validate_skill.sh
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/akillness/jeo-skills/scaffold-exercises">View scaffold-exercises on skillZs</a>