Scaffold a graded problem set with sections, problems, worked solutions, and short "why this matters" explainers across analytical, empirical, and coding types. Use when user says "make a problem set on X", "scaffold exercises for this lecture", "create practice problems", "generate homework with a solution key", "build a graded assignment on topic Y". Emits a clean student set plus a separate solution key — NOT for grading submissions or auto-checking student answers.
npx skills add https://github.com/pedrohcgs/claude-code-my-workflow --skill scaffold-exercises
/scaffold-exercises — Problem Set ScaffolderGenerate a graded problem set as two files: a clean student set (problems only) and a solution key (worked solutions + a one-line explainer per problem). Pattern imported from mattpocock/skills, adapted for economics teaching — the primary lens is graded coursework that mixes derivation, estimation, and code.
Input: $ARGUMENTS — a topic (e.g., "instrumental variables", "consumer theory", "staggered DiD") and optional flags. See Flags.
Do not use this to grade submissions, auto-check answers, or build a timed exam — it scaffolds *practice/graded* material, not assessment infrastructure.
| Type | What the student does | Solution artifact |
| --- | --- | --- |
| analytical | Derive / prove / characterize (theory: optimization, identification, comparative statics) | Step-by-step derivation with the key lemma named |
| empirical | Estimate + interpret on a provided or simulated dataset | Expected estimate, sign/magnitude reasoning, common-mistake note |
| coding | Implement an estimator or simulation in R or Stata | Runnable reference snippet + expected output shape |
If no dataset is supplied for an empirical problem, generate a small simulated one with a fixed seed (YYYYMMDD) so the answer key is deterministic and reproducible.
Read any source material the user points at (lecture .tex/.qmd, a paper, a dataset header) and produce a Pre-Flight Report before generating problems:
## Pre-Flight Report — Problem Set
**Topic:** [topic]
**Source(s) read:** [lecture/paper/dataset — one-line takeaway each]
**Difficulty:** intro | core | advanced
**Counts by type:** analytical=N, empirical=N, coding=N (total = `--count`)
**Dataset:** [provided path | simulated with seed YYYYMMDD | none]
**Learning objectives:** [2-4 bullets the set should exercise]
Resolve every flag here (interactive choices are gathered before generation, not mid-run). If the topic is too vague to write objectives, ask one clarifying question and stop. Otherwise proceed.
For each problem, write a number, a section heading, the prompt, and any data/notation it needs. Conventions:
create-lecture's pedagogy.For every problem, write:
Bash + R/Stata are available, execute the snippet and paste real output.Emit two files (paths configurable; default under the working directory):
exercises/<topic-slug>_problems.md — the student set: sections, problems, any data, NO answers.exercises/<topic-slug>_solutions.md — the solution key: each problem restated, its worked solution, and its explainer.The split is load-bearing: never leak a solution into the student file. With --no-solutions, write only the student set and stop.
Student set:
# Problem Set: [Topic] (Difficulty: core)
## Section 1 — Analytical
**1.** [Motivation sentence.] [Prompt.]
## Section 2 — Empirical
**2.** Using `data/<file>` (vars: ...), [estimate + interpret prompt].
## Section 3 — Coding (R)
**3.** [Implement-X prompt.]
Solution key mirrors the numbering, adding ### Solution and > Why this matters: blocks per problem. Close your chat reply with a one-line manifest: files written, problem count by type, and whether code solutions were executed or only drafted.
--difficulty — intro | core | advanced (default core); calibrates step depth as in Phase 1.--count — total number of problems (default 6); split across types per the Pre-Flight counts.--types — comma-separated subset of analytical,empirical,coding (default all three).--dataset — path to a real dataset for empirical problems; omit to simulate one with a seeded DGP.--no-solutions — write only the student set; skip the solution key (Phase 2/3 key file)..claude/skills/create-lecture/SKILL.md — build the lecture these exercises practice; shares notation-reuse + motivation-first conventions..claude/skills/data-analysis/SKILL.md — for empirical problems whose reference solution needs a full R estimation pipeline..claude/skills/simulation-study/SKILL.md — when a problem demonstrates an estimator's finite-sample behavior; reuse its seeded-DGP discipline..claude/skills/lit-review/SKILL.md — source advanced problems from current papers on the topic..claude/skills/interview-me/SKILL.md — turn a fuzzy "I want a set on…" into concrete learning objectives first.templates/skill-template.md — house style for authoring/extending this skill./deploy).Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take pedrohcgs/scaffold-exercises from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.