scaffold-exercises
Skill8 starsChanged 2 months agoMITView on GitHub
Scaffold course, workshop, or tutorial exercises following repository conventions. Use when creating exercise folders, problem/solution/explainer variants, numbered lesson files, or workshop boilerplate — even if the user says \"add a new exercise\". Do NOT use for routine application feature scaffolding.
We split this skill into the rules it gives an agent
5 rules. 0 are common, 1 is distinctive, and 4 are very specific to this project.
0
Common
Most of the 79 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 17
Mandatory Variant Subfolders: Every exercise must contain at least one of problem/, solution/, or explainer/ (defaulting to explainer/ for …
- Very specific: line 18
Non-Empty Readme Standards: Every variant folder must contain a non-empty readme.md with a clean # Title, description, and zero broken …
- Distinctive: line 19
Git-Aware Moves: Always use git mv instead of raw filesystem renames when renumbering or restructuring existing exercises to preserve …
- Very specific: line 46
Action: Create folders (mkdir -p) and populate readme.md stubs with titles and descriptions.
- Very specific: line 47
Key Point: If code execution is involved, generate a non-empty main.ts.
“Common” is measured: kept by at least 6 in 10 of the 79 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Scaffold Exercises
Scaffold standardized educational exercise directories, problem/solution/explainer variant subfolders, and boilerplate TypeScript modules that strictly pass repository linter rules.
Core Invariants
- Strict Dash-Case Numeric Hierarchy:
- Section folders:
exercises/XX-section-name/(2-digit zero-padded number). - Exercise folders:
exercises/XX-section-name/XX.YY-exercise-name/(section.exercise format).
- Section folders:
- Mandatory Variant Subfolders: Every exercise must contain at least one of
problem/,solution/, orexplainer/(defaulting toexplainer/for stubs). - Non-Empty Readme Standards: Every variant folder must contain a non-empty
readme.mdwith a clean# Title, description, and zero broken links. - Git-Aware Moves: Always use
git mvinstead of raw filesystem renames when renumbering or restructuring existing exercises to preserve commit history. - Mandatory CLI Lint Gate: Execute and verify
pnpm ai-hero-cli internal lintbefore concluding the scaffolding step.
Architecture & Map of Content (MOC)
[ Curriculum Plan / Outline ] ──► [ Generate Numbered Directories ] ──► [ Scaffold Variant Subfolders ] ──► [ Lint & Commit Gate ]| Variant Folder | Student Purpose | Required Files |
problem/ | Active student workspace with // TODO: markers | readme.md, main.ts |
solution/ | Complete reference implementation | readme.md, main.ts |
explainer/ | Conceptual deep-dive without code tasks | readme.md |
Step-by-Step Procedure (TWI)
Step 1: Parse Curriculum Plan & Compute Hierarchy
- Action: Extract section names, exercise titles, and required variant types from the provided outline.
- Key Point: Formulate proper 2-digit numeric prefixes (
01,02,01.01,01.02). - Why: Consistent numbering ensures exercises display in correct chronological order in the CLI and UI.
Step 2: Scaffold Directory Tree and Variant Files
- Action: Create folders (
mkdir -p) and populatereadme.mdstubs with titles and descriptions. - Key Point: If code execution is involved, generate a non-empty
main.ts. - Inline Checklist:
- Dash-case directory naming strictly enforced
- Non-empty
readme.mdcreated in each variant subfolder - No forbidden
.gitkeeporspeaker-notes.mdfiles introduced
Step 3: Run Internal Linter & Fix Issues
- Action: Execute
pnpm ai-hero-cli internal lintto validate the exercise structure. - Key Point: Iterate on any reported broken links or missing files until the linter passes completely.
- Why: Pre-commit linting prevents breaking curriculum builds and automated runner harnesses.
Anti-Rationalization Guardrails
| Tempting Rationalization | Binding Rule | Engineering Rationale |
"Use raw mv when renumbering exercises." | Mandatory git mv for all renames and moves. | Raw moves break Git blame and make diffs unreadable in PR reviews. |
"Create empty .gitkeep files in exercise folders." | Forbidden. Populate meaningful readme.md stubs. | Linter rules forbid .gitkeep files in exercise packages. |
"Skip running pnpm ai-hero-cli internal lint on stubs." | Mandatory green linter verification. | Missing title headers or invalid subfolder names break downstream test runners. |
Other versions87 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 87
- mattpocock/skills★ 309ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- pedrohcgs/claude-code-my-workflow★ 1.6ksame name
- devcxl/mattpocock-skills-zh★ 522same name
- amazingloft999-droid/mattpocock-skills★ 422same name
- InditexTech/weavejs★ 266same name
- loulanyue/skills★ 231same name
- tt-a1i/matt-skills-with-to-goal★ 192same name
- aurorasoft2/Matt_Pocock_Skills★ 133same name
- VisualxIntelligence/mattpocok-skills★ 55same name
77 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use edit-article, loop-me and 5 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
simo97Skilledit-article
The user will invoke this skill to help them edit an article.
Also in 33 projects that use this
RoentekSkillloop-me
Grill me about specs for the workflows I want to build, within this workspace.
Also in 42 projects that use this
ryotaroh180105Skillclaude-handoff
Hand the current conversation off to a fresh background agent that picks up the work immediately.
Also in 33 projects that use this
simo97Skillrequest-refactor-plan
Use this skill when user wants to create a refactor plan.
Also in 30 projects that use this
kennethkeimSkillubiquitous-language
Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".
Also in 29 projects that use this
- +2 more from simo97
In this repository42 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ai-data-remediationSkill
- ai-engineeringSkill
- codebase-designSkill
- code-reviewSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- engineering-workflow-guideSkill
- git-safety-guardrailsSkill
- goalSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- implementSkill
- implement-specSkill
- improve-codebase-architectureSkill
- j-spaceSkill
- migrate-to-shoehornSkill
- ml-best-practicesSkill
- prototypeSkill
- researchSkill
- resolving-merge-conflictsSkill
- retroSkill
- setup-engineering-workflowsSkill
- setup-pre-commitSkill
- setup-ts-deep-modulesSkill
- skill-conductorSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wait-whatSkill
- wayfinderSkill
- wizardSkill
- workflow-designerSkill
- writing-beatsSkill
- writing-for-agentsSkill
- writing-fragmentsSkill
- writing-shapeSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

