Scaffold Exercises
Matt PocockCommunityCreated by Matt Pocock
- Skill
- Review and audit
- Education and learning
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a standardized workflow for scaffolding educational exercise content. It guides the creation of directory structures, naming conventions, and required documentation files to ensure they meet specific linting requirements. The process includes parsing exercise plans, generating the necessary folder hierarchy, stubbing out readme files, and running internal validation tools to ensure the structure is correct.
What it does
- Generates directory structures for course sections and exercises using specific naming conventions.
- Creates stub readme files for problem, solution, and explainer variants.
- Validates exercise structures against internal linting rules.
- Provides instructions for safely moving or renaming exercises using version control commands.
- Ensures exercise directories contain the required files and content.
When to use it
- When setting up a new course section or module.
- When creating stubs for new exercises based on a curriculum plan.
- When renumbering or reorganizing existing exercise directories.
- When preparing exercise content to pass automated linting checks.
Advantages
- Ensures consistency across all course exercise directories.
- Automates the repetitive setup of folder hierarchies and boilerplate files.
- Reduces errors by integrating automated linting into the creation process.
- Maintains git history integrity during exercise reorganization.
Usage examples
- “Scaffold a new section 06 called Advanced Prompting with exercises 06.01 and 06.02.”
- The agent creates the directory structure exercises/06-advanced-prompting/ with subfolders 06.01-exercise-name and 06.02-exercise-name, populates them with readme stubs, and runs the linter.
- “Rename exercise 01.03 to 01.04 in the retrieval section.”
- The agent provides the correct git mv command to rename the directory while preserving history and prompts to re-run the linter.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/mattpocock/scaffold-exercises/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip scaffold-exercises.zip -d .agents/skills
Documentation by Matt Pocock
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.YYNames 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 hereIf 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 pathCreate stub readmes - one
readme.mdper variant folder with a titleRun lint -
pnpm ai-hero-cli internal lintto validateFix 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/existsreadme.mdexists and is non-empty in the primary subfolderNo
.gitkeepfilesNo
speaker-notes.mdfilesNo broken links in readmes
No
pnpm run exercisecommands in readmesmain.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 historyUpdate 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-embeddingsExample: 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 MemoryCreate:
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/explainerThen 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"Files
- ATTRIBUTION.mdAdded by AutoGineer870 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md3.5 KiB
- agents/openai.yaml108 B
agents/openai.yaml
interface: display_name: "Scaffold Exercises" short_description: "Scaffold lint-ready course exercises"
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs a command-line tool, Needs Node.js
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Matt Pocock
- Publisher
- Matt Pocock (Community)
- Source
- mattpocock/skills · skills/misc/scaffold-exercises · commit 4ae2317
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Matt Pocock or Matt Pocock.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download scaffold-exercises.zip