scaffold-exercises

Creates exercise directory structures with sections, problems, solutions, and explainers that pass linting.

Updated Apr 6, 2026
One-click install
npx skills add https://github.com/toderian/project_template --skill scaffold-exercises-toderian
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: scaffold-exercises
Source: https://github.com/toderian/project_template/tree/main/plugins/agents-personal/skills/scaffold-exercises
Command: npx skills add https://github.com/toderian/project_template --skill scaffold-exercises-toderian

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Setting up course exercise folders by hand is error-prone: naming conventions, required readme files, and lint rules are easy to get wrong. This Skill scaffolds the full directory tree for sections and exercises so everything passes the project linter on the first run. ## Core Features & Use Cases - Directory scaffolding: Creates numbered section folders (XX-section-name) and exercise folders (XX.YY-exercise-name) with dash-case naming inside exercises/. - Variant stubs: Generates problem/, solution/, and explainer/ subfolders, each with a non-empty readme.md stub containing a title and description. - Lint validation: Runs pnpm ai-hero-cli internal lint and iterates on errors until the structure passes all rules. - Safe renames: Uses git mv to renumber or move exercises while preserving git history. - Use Case: Given a course plan listing sections and exercises, generate the entire stub tree in one pass, then commit it with git. ## Quick Start Scaffold the exercises from my course plan into the exercises directory and make sure lint passes.

Frequently Asked Questions about scaffold-exercises

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I scaffold course exercise directories from a plan?

Parse the plan to extract section names, exercise names, and variant types, then create folders with mkdir -p using the XX-section-name and XX.YY-exercise-name conventions. Add a readme.md stub with a title to each variant subfolder, then run the lint command to validate.

What files are required in each exercise subfolder?

Each problem, solution, or explainer subfolder needs a non-empty readme.md with real content and no broken links. If the subfolder contains code, it also needs a main.ts file with more than one line, though readme-only stubs are acceptable.

How do I rename or renumber exercises without losing git history?

Use git mv instead of mv to rename exercise directories, which preserves git history. Update the numeric prefix to maintain ordering, then re-run the lint command to confirm the new structure still validates.

Why does the exercise lint check fail on my new folders?

Lint fails when readme.md files are empty or missing, when .gitkeep or speaker-notes.md files exist, when readmes contain broken links or pnpm run exercise commands, or when no problem, solution, or explainer subfolder exists. Fix each reported issue and re-run pnpm ai-hero-cli internal lint.

Which exercise variant should I use when stubbing content?

Default to the explainer variant when stubbing unless the plan specifies otherwise. Explainer folders hold conceptual material with no TODOs, while problem folders are student workspaces and solution folders hold reference implementations.