| name | scaffold-exercises |
| description | Create educational exercise directories compliant with pnpm ai-hero-cli internal lint |
| allowed-tools | Read Grep Glob Bash Write Edit |
| compatibility | Designed for ai-hero-cli course content structure. Validates with `pnpm ai-hero-cli internal lint`. Primarily for educational content creators building structured learning materials.
|
| metadata | {"tags":"education, exercises, scaffolding, course-content, linting, structure","platforms":"Claude, ChatGPT, Gemini, Codex","version":"1.0","source":"mattpocock/skills"} |
Scaffold Exercises
Create exercise directory structures that pass linting validation for educational content.
When to use this skill
- Creating course sections and exercises for educational content
- Scaffolding structured learning materials with problem/solution variants
- Building content that must pass
pnpm ai-hero-cli internal lint
When not to use this skill
- General project scaffolding โ use
file-organization
- Documentation writing โ use
technical-writing
Directory structure
exercises/
โโโ 01-introduction/
โ โโโ 01.01-getting-started/
โ โ โโโ problem/
โ โ โ โโโ readme.md (required, non-empty, has title)
โ โ โ โโโ main.ts (optional, >1 line if present)
โ โ โโโ solution/
โ โ โโโ readme.md
โ โ โโโ main.ts
โ โโโ 01.02-basic-concepts/
โ โโโ explainer/
โ โโโ readme.md
Naming conventions
- Sections:
XX-section-name/ (two-digit number, lowercase, hyphens)
- Exercises:
XX.YY-exercise-name/ (section.exercise number, lowercase, hyphens)
- Variants:
problem/, solution/, explainer/
Required files per variant
Every variant folder needs:
readme.md โ non-empty, must have at least a title (# Title)
main.ts โ optional, but must be >1 line if present
Workflow
1. Parse requirements
Identify section names, exercise names, and which variants are needed (problem, solution, explainer, or combinations).
2. Create directory hierarchy
mkdir -p exercises/01-section-name/01.01-exercise-name/problem
mkdir -p exercises/01-section-name/01.01-exercise-name/solution
3. Add stub readme files
echo "# Exercise: Getting Started\n\nComplete the task described below." > exercises/01-section-name/01.01-exercise-name/problem/readme.md
4. Validate
pnpm ai-hero-cli internal lint
5. Fix iteratively
The linter checks:
- Exercises have appropriate subfolders
- Readmes are non-empty with titles
- No broken links
- No prohibited files (
.gitkeep, speaker-notes.md)
Moving exercises
Use git mv (not mv) to rename directories โ preserves git history:
git mv exercises/01-old-name exercises/01-new-name
Instructions
- Identify the task trigger and expected output.
- Follow the workflow steps in this skill from top to bottom.
- Validate outputs before moving to the next step.
- Capture blockers and fallback path if any step fails.
Examples
- Example: Apply this skill to a small scope first, then scale to full scope after validation passes.
Best practices
- Keep outputs deterministic and auditable.
- Prefer small reversible changes over broad risky edits.
- Record assumptions explicitly.
References
- Project standards:
.agent-skills/skill-standardization/SKILL.md
- Validator script:
.agent-skills/skill-standardization/scripts/validate_skill.sh