Skip to content
cccskills
FreePublished on GitHub

scaffold-exercises

Turn a course plan into numbered exercise folders with problem, solution, and explanation variants. Create starter readme files, check naming and links with the project’s linter, and fix structural errors before committing.

OriginalShow the original description

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.

See how to install

Good for

  • Set up exercise folders for a new course section
  • Create problem, solution, and explanation stubs
  • Renumber exercises and check their structure

Files included (2)

  • SKILL.md3.5 KB
  • agents/openai.yaml108 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

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/ inside exercises/ (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 TODOs
  • solution/ - reference implementation
  • explainer/ - 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

  1. Parse the plan - extract section names, exercise names, and variant types
  2. Create directories - mkdir -p for each path
  3. Create stub readmes - one readme.md per variant folder with a title
  4. Run lint - pnpm ai-hero-cli internal lint to validate
  5. 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/, or explainer.1/ exists
  • readme.md exists and is non-empty in the primary subfolder
  • No .gitkeep files
  • No speaker-notes.md files
  • No broken links in readmes
  • No pnpm run exercise commands in readmes
  • main.ts required per subfolder unless it's readme-only

Moving/renaming exercises

When renumbering or moving exercises:

  1. Use git mv (not mv) to rename directories - preserves git history
  2. Update the numeric prefix to maintain order
  3. 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"

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

ask-matt

FreeSummaryAI rating 90

Choose which related skill to use and in what order for planning, building, debugging, or maintaining software. It explains routes through the available workflows and helps select the next step based on your situation and project size.

  • Choosing a workflow from idea to implementation
  • Finding the right starting point for bug investigation
  • Planning a build that spans multiple sessions
mattpocock/skills296.3KUpdated Oct 13, 2026

chief-of-staff

FreeSummaryAI rating 60

Coordinate subagents, separate agents assigned tasks, to pursue a long-running goal in one session. Maintain dialogue with the user while improving working conditions, shared rules, and access to information needed for future tasks.

  • Coordinating agents around a long-term goal
  • Continuing user dialogue during background work
  • Improving shared rules and working conditions
mattpocock/skills296.3KUpdated Oct 13, 2026

claude-handoff

FreeSummaryAI rating 90

Summarize an ongoing conversation and launch a fresh background agent to continue the work. The handoff includes the next focus, references to existing documents, and suggested skills, with sensitive information removed.

  • Continue ongoing work with a fresh agent
  • Hand off work with a specific next focus
  • Organize document references for the next session
mattpocock/skills296.3KUpdated Oct 13, 2026

code-review

FreeSummaryAI rating 90

Review code changes from a chosen Git reference against two separate criteria: documented coding standards and the original requirements. Independent reviewers check each criterion, then present findings separately so convention problems and requirement gaps remain visible.

  • Reviewing changes on a branch or pull request
  • Checking changes since a chosen commit or tag
  • Checking compliance with documented coding standards
mattpocock/skills296.3KUpdated Oct 13, 2026

codebase-design

FreeSummaryAI rating 90

Design modules that offer substantial behavior through a small interface, the rules callers must understand. Use shared design terms to simplify usage, contain complexity, choose where implementations can vary, and make behavior easier to test.

  • Simplifying a module's interface
  • Bringing scattered complexity into one module
  • Choosing where implementations can be swapped
mattpocock/skills296.3KUpdated Oct 13, 2026

diagnosing-bugs

FreeSummaryAI rating 80

Investigate difficult bugs and performance slowdowns by building a repeatable test or script that detects the exact symptom. Reduce the failing case, compare possible causes, and verify the fix with checks that catch the bug if it returns.

  • Investigating an error that is hard to reproduce
  • Finding the cause of a performance slowdown
  • Testing an intermittent failure repeatedly
mattpocock/skills296.3KUpdated Oct 13, 2026

See all skills by mattpocock

Report a problem with this skill