math-tasks/.claude/commands/new-doc.md

59 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
description: Create a new math worksheet document (JSON config + HTML + PDF)
allowed-tools: [Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion]
---
You are creating a new math worksheet document. Follow these steps:
## Step 1: Gather requirements
Use AskUserQuestion to ask the user (ask all at once, not one by one):
1. **Theme** — what visual theme? (space, forest, ocean, etc.). Currently only "space" theme with `space-base` template is available.
2. **Pages** — how many pages and what math task for each page? E.g. "Page 1: addition A+B where A 1-20, B 1-10. Page 2: multiplication A×B where A,B 1-5"
3. **Texts** — title, subtitle, and footer bubble text (or use defaults from theme)
4. **Document name** — filename for the output (used as `tasks/<name>.json` and `output/html/<name>.html`)
## Step 2: Create JSON task config
Read `tasks/space-exploration-1.json` as a format reference.
Create a new JSON file in `tasks/<name>.json` with:
- Unique `id` matching the filename
- `labels` with title/subtitle/footerBubble from user input
- `theme` matching the chosen visual theme
- `layout` with columns and problemsPerPage
- `pages` array — one entry per page with:
- `task`: free-text description of the math problems
- `problemCount`: number of problems (typically 20)
- `heroImage`: pick from available hero images (for space: `assets/hero-images/spaceship{1-6}.jpeg`)
- `footerImage`: pick from available footer images (for space: `assets/footers/planet{1-6}.jpeg`)
- `heroDirection`: alternate between `row` and `row-reverse` across pages
Use different hero/footer images for each page.
## Step 3: Generate HTML
1. Read `src/templates/space-base.html` (structure reference)
2. Read `src/examples/space-worksheet.html` (finished output reference)
3. Read the JSON config you just created
Generate the HTML file at `output/html/<name>.html`:
- For each page, generate concrete math problems based on the `task` text
- Assign unique icons from `assets/icons/pack1/` — no icon should repeat across the entire document. Shuffle minerals and plants together randomly
- Randomize problem card alignment (justify-start, justify-center, justify-end) — no visible pattern
- Use `break-after: page` between pages (not on the last page)
- Do NOT use `overflow-hidden` on the footer container (causes PDF hairline artifact)
## Step 4: Generate PDF
Run: `npm run pdf -- output/html/<name>.html`
## Step 5: Report
Tell the user:
- Path to JSON config
- Path to HTML file
- Path to PDF file
- Summary of what was generated (pages, problem types)