К основному содержанию
скилл CX Codex

scaffold-exercises · pedrohcgs — скилл для Claude Code: задачи с ответами

Собирает задачник по теме: аналитические, эмпирические и кодовые задачи плюс отдельный файл с решениями. Пригодится, если есть лекция и нужен к ней разбор.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add pedrohcgs/claude-code-my-workflow --skill scaffold-exercises -a claude-code
Открыть на GitHub

Что делает scaffold-exercises

Скилл берёт тему и флаги, читает указанные материалы — лекцию в .tex или .qmd, статью, заголовок датасета — и сначала выдаёт Pre-Flight Report: сложность, число задач по типам, датасет, учебные цели. Только после этого генерирует сами задачи.

Типов три. Аналитические требуют вывода или доказательства, эмпирические — оценки и интерпретации на датасете, кодовые — реализации на R или Stata. Если датасет не передан, скилл симулирует маленький с фиксированным зерном, чтобы ключ ответов воспроизводился. У каждой задачи есть короткое пояснение, зачем она нужна.

На выходе два файла в quality_reports/teaching/: <topic-slug>_problems.md без ответов и <topic-slug>_solutions.md с разборами. Решения не должны попадать в студенческий файл — это ключевое требование. Кодовые решения скилл пытается выполнить через Bash; если R или Stata нет, он помечает их как DRAFTED — NOT RUN, а не выдаёт за проверенные. Для эмпирической задачи с переменными, которых нет в датасете, работа останавливается: колонки он не придумывает. Это не инструмент проверки студенческих работ и не таймер для экзамена.

Какие задачи решает

  • собрать задачник по теме лекции с ключом ответов
  • смешать вывод, оценку и код в одном наборе задач
  • получить воспроизводимый датасет для эмпирических задач
  • держать решения в отдельном файле от студенческого
  • откалибровать сложность задач под intro, core или advanced

Примеры запросов агенту

  • /scaffold-exercises instrumental variables --difficulty core --count 8
  • /scaffold-exercises consumer theory --types analytical,coding --no-solutions
  • /scaffold-exercises quantile regression --dataset data/wage.csv

Как установить scaffold-exercises

1Через Skills CLI (Vercel)

npx skills add pedrohcgs/claude-code-my-workflow --skill scaffold-exercises -a claude-code

2Вручную: положить файлы

~/.claude/skills/scaffold-exercises/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scaffold-exercises/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о scaffold-exercises

Как установить scaffold-exercises в Claude?

Выполните npx skills add pedrohcgs/claude-code-my-workflow --skill scaffold-exercises -a claude-code. Скилл окажется в ~/.claude/skills/scaffold-exercises/SKILL.md.

Что делает scaffold-exercises?

Готовит задачник по теме: секции, задачи, разобранные решения и короткие пояснения. Студенческий набор и ключ ответов пишутся отдельными файлами.

Можно ли выпустить только задачи без решений?

Да, флаг --no-solutions пишет только студенческий набор и останавливает работу.

Исходный текст

SKILL.md · MIT
---
name: scaffold-exercises
description: 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.
argument-hint: "[topic] [--difficulty intro|core|advanced] [--count N] [--types analytical,empirical,coding] [--dataset path] [--no-solutions]"
allowed-tools: ["Read", "Grep", "Glob", "Write", "Bash"]
effort: medium
---

# `/scaffold-exercises` — Problem Set Scaffolder

Generate 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", "quantile regression") and optional flags. See [Flags](#flags).

---

## When to use

- You have a lecture or reading and want a matching assignment with an answer key.
- You want a mix of problem types (derive, estimate, code) at a controlled difficulty, with solutions emitted **separately** so the student file stays clean.

Do **not** use this to grade submissions, auto-check answers, or build a timed exam — it scaffolds *practice/graded* material, not assessment infrastructure.

---

## Problem types

| 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.

---

## Workflow

### Phase 0: Set topic, difficulty, counts, types (Pre-Flight)

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:

```markdown
## 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.

### Phase 1: Generate problems

For each problem, write a number, a section heading, the prompt, and any data/notation it needs. Conventions:

- **Motivation before mechanics** — one sentence on why the problem is worth solving, matching `create-lecture`'s pedagogy.
- **Notation reuse** — match symbols to the source lecture; never introduce a clashing symbol for an already-defined object.
- **Difficulty calibration** — *intro* checks one concept; *core* chains 2-3 steps; *advanced* requires a non-obvious insight or identification argument.
- **Self-contained** — each problem states its own assumptions; no "as in lecture 4" dangling references.

### Phase 2: Generate worked solutions + explainers

For every problem, write:

1. A **worked solution** — full derivation, expected estimate, or runnable code (depending on type). Coding solutions must actually run; if `Bash` + R/Stata are available, execute the snippet and paste real output.
2. A **"why this matters" explainer** — 1-2 sentences linking the answer to the broader concept (the imported pattern's signature: every problem ships with a short rationale, not just a number).

### Phase 3: Write student set + solution key

Emit two files (paths configurable; default under `quality_reports/teaching/`, beside `/respond-to-eval`'s teaching plans. A new top-level directory such as `exercises/` fails `scripts/check-repo-hygiene.py` once committed, unless it is added to that script's `ROOT_ALLOW_DIRS`):

- `quality_reports/teaching/<topic-slug>_problems.md` — the **student set**: sections, problems, any data, NO answers.
- `quality_reports/teaching/<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.

---

## Output / Report format

Student set:

```markdown
# 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.

---

## Exit behavior

- Print the two output paths (absolute), the per-type counts, and the seed if a dataset was simulated.
- If a coding solution could not be executed (no R/Stata, or it errored), flag it as **DRAFTED — NOT RUN** rather than implying it was verified.
- If any empirical problem references variables not present in the supplied dataset, stop and surface the mismatch instead of inventing columns.

---

## Flags

- `--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).

---

## Cross-references

- [`.claude/skills/create-lecture/SKILL.md`](../create-lecture/SKILL.md) — build the lecture these exercises practice; shares notation-reuse + motivation-first conventions.
- [`.claude/skills/data-analysis/SKILL.md`](../data-analysis/SKILL.md) — for empirical problems whose reference solution needs a full R estimation pipeline.
- [`.claude/skills/simulation-study/SKILL.md`](../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`](../lit-review/SKILL.md) — source advanced problems from current papers on the topic.
- [`.claude/skills/interview-me/SKILL.md`](../interview-me/SKILL.md) — turn a fuzzy "I want a set on…" into concrete learning objectives first.
- [`templates/skill-template.md`](../../../templates/skill-template.md) — house style for authoring/extending this skill.

---

## What this skill does NOT do

- **Does not grade** student submissions or auto-check answers against a key.
- **Does not run a timed exam** or enforce assessment policy (point weights, rubrics, proctoring).
- **Does not invent data** — empirical problems use a supplied dataset or an explicitly seeded simulation, never fabricated numbers.
- **Does not leak solutions** into the student file, and does not deploy/publish anything (no `/deploy`).
- **Does not auto-invoke** other skills — it references siblings; it does not call them.

© pedrohcgs · MIT · pedrohcgs/claude-code-my-workflow

Похожие скиллы

Всё по теме «Тексты и документация» →

Сначала — scaffold-exercises от других авторов.

scaffold-exercises Matt Pocock Скилл создаёт структуру учебных упражнений с секциями, задачами, решениями и пояснениями. Пригодится при запуске нового раздела курса. 480 196установок stata-data-cleaning Awesome Econ AI Community Скилл помогает экономистам готовить воспроизводимые do-файлы в Stata: очищать сырые выборки, находить дубликаты и размечать переменные. CX Codex +1 351установок Animation Principles - Teaching Others dylantarre Помогает объяснить 12 принципов анимации ученикам, менти и коллегам разного уровня: что показать первым и на чём обычно спотыкаются. CX Codex +1 495установок gentle-teaching jwynia Скилл для ИИ-ассистента, который учит думать самому: вместо готового решения даёт вопросы, принципы и разбор ваших попыток. CX Codex +1 477установок stata-mcp SepineTam MCP-сервер, который даёт ИИ-агенту вызывать локальную Stata: регрессии, эконометрика, воспроизведение статей. Лицензия и данные остаются у вас. CX Codex +1 ★ 270звёзд репо google-agents-cli-scaffold официальный Google Скилл ведёт агента по командам agents-cli: создаёт каркас агент-проекта, добавляет деплой и CI/CD, обновляет существующий проект до свежего шаблона. CX Codex +1 511 300установок power-apps-code-app-scaffold официальный github Создаёт каркас Power Apps Code App с React и TypeScript. Подходит для старта проекта с коннектором Power Platform. 8 700установок

Из того же набора11

syllabus Превращает список тем или литературы в программу курса: описание, недели, цели, оценивание и политики. Пригодится преподавателям и ассистентам. CX Codex +1 ★ 1 668звёзд репо slide-excellence Многопоточная проверка лекционных слайдов: визуал, педагогика, вычитка. Пригодится перед выступлением или сдачей колоды. CX Codex +1 ★ 1 668звёзд репо replication-package Собирает депозит для журнала: README, манифест данных, карту «таблица → скрипт:строка» и чек-лист DCAS. Пригодится после принятия статьи. CX Codex +1 ★ 1 668звёзд репо lit-review Проводит поиск и синтез литературы по теме: ключевые работы, тематические блоки, пробелы и готовые цитаты в BibTeX. Пригодится, когда нужен обзор перед статьёй или заявкой. CX Codex +1 ★ 1 668звёзд репо interview-me Проводит многошаговое интервью и превращает сырую идею исследования в структурированную спецификацию: вопрос, гипотезы, идентификация, данные, стратегия. CX Codex +1 ★ 1 668звёзд репо deep-audit Разбирает теорию, доказательство, статью или кодовую базу на части, гоняет по ним независимых скептиков и чинит всё подтверждённое. Нужен, когда одного прохода ревью мало. CX Codex +1 ★ 1 668звёзд репо credible-claims Скилл для делегированной и ИИ-ассистированной исследовательской работы: сначала бриф, потом запись утверждений. Помогает не путать быстрое выполнение с доказательством. CX Codex +1 ★ 1 668звёзд репо compress-session Скилл выжимает из текущего диалога структурированную заметку с решениями, открытыми вопросами и следующими шагами, пока контекст не ушёл в автосжатие. CX Codex +1 ★ 1 668звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой