| name | create-progress-report |
| description | Build a designed, self-contained HTML progress report for the child — how she's actually doing, and what to work on next — surfaced in the Progress tab for both parent and child. |
Create a progress report
One self-contained HTML file that both parent and child can read: an honest picture
of how she's doing and a clear answer to what to work on next. A snapshot, not
a narrative essay — lead with the concrete and recent, then stop. If in doubt, cut a
section rather than pad it.
-
Gather real evidence — the substance, not just filenames.
- Every activity's own
conversation.json (e.g.
find . -maxdepth 4 -name conversation.json, skipping materials/, reports/,
memory/, conversations/). Read what actually happened: which problems came
up, whether she got them on her own or needed hints, how many attempts, what
tripped her up, any celebrate moments and why. This is the real signal — a list
of activity titles and dates is not enough. For "Right now"/"How she's
doing"/"What to work on next" you only need what's recent — don't bother with
anything under archive/ (activities Pulse has retired for being untouched a
while) for these sections.
- Each activity's
attempts/*.json — what she's actually completed, and what the
attempt shows.
- The
<Subject>/<Topic>/ activity folders and materials/ — what exists, so you
can name what's covered versus not started.
- For the Overall section you need the FULL history, not just the recent few:
skim across the whole workspace INCLUDING
archive/ — lifetime totals (topics
attempted, tests completed, star total) must never quietly shrink just because
an old activity aged out of the routine views.
- Never invent a score, a percentage, or a diagnosis that isn't directly backed by
something you read.
-
Write it to reports/progress.html — always overwrite in place. This is one
living document, fully regenerated each time; never append a dated entry or keep
old wording "for history". Note the "as of" date inside the content
(date -u +%Y-%m-%d). Style per skills/_shared/html-design.md.
Lead with what can be SEEN — meter rows and chips per skills/_shared/html-design.md's
"Showing data" — and keep prose to what a picture can't carry. Warm teacher's
report to a family, not a dashboard; she reads this too.
Cover these, in this order:
- Right now — the subject/topic of her most recent real activity and the last
concrete thing she did, with the actual outcome. One or two lines; this is the
headline, not a preamble.
- Subject by subject — the heart of the page, and mostly visual. One
.card
per subject (a .grid of them), each with a friendly icon/emoji, and inside it
one meter row per topic: the topic name, its real value as text ("2 of 8
attempted", "9.5/15 on the school paper", "not started"), and a bar in the
matching state — secure, needs work, or not started. Only subjects that really
exist in her workspace or materials, and one warm sentence per subject saying
what the bars mean in plain words. This replaces reciting her subjects in prose.
- Strengths and Where she's stuck — a couple of bullets each, as two
explicit call-outs so neither hides inside the subject cards. Every bullet names
the specific MOVE, not the chapter: "subtracting mixed numbers when borrowing is
needed" or "reading what the fraction is of", never "weak at fractions". This
precision is what makes the section reusable — a later test is built from these
bullets, and a topic-level label can't be targeted. Ground each one in something
you actually read ("solved the a=1 case unaided twice, still stalls when a≠1"),
never a generic compliment, and say plainly if the evidence is thin rather than
inflating it. Note the direction of travel where you can see it (improving,
stuck, or too early to tell).
- What to work on next — the most useful next thing and why it follows from
the weaknesses above, then one or two smaller supporting steps. Concrete enough
to act on today ("ten minutes of mixed-denominator word problems, since that's
where the last three misses clustered"), never "keep practising fractions".
- How to improve it — for the top one or two weaknesses, the method that
actually fits that KIND of difficulty, in plain words the parent can act on.
Match the method to the failure: a procedure she executes inconsistently wants
retrieval practice and spaced review; a method she can't start unaided wants
worked examples with the support faded out step by step; two ideas she keeps
confusing want them interleaved and contrasted rather than drilled separately.
Name the technique, then say in one line what doing it looks like tonight.
Use
web_search when a current, board-specific technique or a well-evidenced
approach for that exact difficulty would add something you don't already know —
and say briefly where it comes from. Don't search to pad; skip it when the fit
is already obvious.
- Overall — a few compact cumulative facts from the FULL history: topics
attempted, tests completed, star total and trend, one durable strength and one
durable growth area that keep recurring across attempts. Numbers only here; the
per-topic detail already lives in the subject cards above, so don't repeat it.
Close with one encouraging line addressed to her by name.
The Academic Map covers different ground — what EXISTS (which topics have
materials, study material, a test). This page is how she's DOING on them, so
overlapping subject names is expected; don't turn this into an inventory.
Skip anything you'd only be padding with — no "recent activity" list restating
what's already above, no closing note that adds nothing new.
-
Tell the parent it's ready and appears in the Progress tab, visible to
both them and the child. Say the one next step in plain words too, so the value
lands even if they don't open it.