← All craftbooks

Weak-Spot Drill

Home and everyday lifeevalv1.0.0released 2026-06-05workflow: build-loop

Stop practicing what you already know: read the review record, name the actual weak spots with the numbers as evidence, and build a short targeted drill plus the follow-up schedule that closes them. Locks the ranked weak list FIRST — from the deck's boxes and miss counts, not vibes — then builds the drill page around only that material, then writes the plan that says when the spot counts as closed. Use for targeted practice, 'I keep missing the same ones', closing weak spots, drilling trouble topics, and study sessions that skip what already sticks.

Steps

Entry step: scope. Each step names the specialist role it wants; the full working prompt is expandable.

  1. Rank the weak spotsstudiemaatentry

    weak spots named from the record, with the numbers as evidence

    Show working prompt
    Find the real weak spots before building anything. Step 1: read deck.json from the workspace — every card's box and its got-it/missed stats are the review record. Step 2: rank the weakness with evidence — cards stuck in box 1, cards missed as often as got, and the themes those cards cluster into; write each weak spot with its numbers ('irregular verbs: 5 of 6 cards in box 1, 11 misses against 4 got-its'), never a hunch. Step 3: lock the drill rules — only ranked weak material goes in, ten to fifteen items, each item coming at the card's idea from a fresh angle rather than repeating the card verbatim. Step 4: write an acceptance-criteria checklist ('every drill item traces to a ranked weak card', 'no item drills material the record says is strong', 'the drill checks answers on the spot', 'the follow-up plan says when each spot counts as closed'). Call write_task_note with the ranked list + checklist and write notes/scope.md.
  2. Build the drilldeveloper

    short interactive drill.html over only the weak material

    Show working prompt
    Build the drill as one self-contained page at drill.html. Step 1: write the items from the ranked weak spots only — a strong card in the drill is a miss against the scope; come at each weak idea from a new angle (reversed prompt, a fill-in, a which-of-these) instead of re-showing the card. Step 2: make it interactive — the taker answers item by item, gets told right or wrong on the spot with the correct answer shown, and sees a simple tally at the end. Step 3: keep the tone warm — a drill on weak material stings enough already; the feedback should coach, not scold. Step 4: one file, inline styles and script, and check the script parses before completing. Call write_task_note with the item count and which weak spots each item targets.
  3. Write the follow-up plancoach

    the schedule that closes each weak spot

    Show working prompt
    Write the follow-up at report.md. Step 1: restate the ranked weak spots with their numbers — the report should make sense to someone who never saw the scope notes. Step 2: give the schedule — when to run the drill again, which cards to put back into review through the project's study capabilities, and the spacing between passes. Step 3: define closed — the concrete signal (a clean drill run, the cards climbing out of box 1) that says a spot no longer needs drilling. Step 4: end with one encouraging, honest line about the trend. Keep it under a page. Write report.md and call write_task_note with the report path and the next review date.
  4. Evaluatereviewer

    Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.

    Show working prompt
    Open drill.html, report.md, and deck.json and verify every criterion from notes/scope.md: every drill item traces to a ranked weak card — spot-check each against the record, an item drilling strong material means the drill is padding, and a generic quiz over the whole deck is the classic failure; the drill checks answers on the spot; the report restates the weak spots with their numbers, schedules the re-runs and re-reviews, and defines when each spot counts as closed. Write PASS/FAIL per criterion; on any failure, name the item or spot and loop back to drill.
    
    Then route — this is the whole point of the loop:
    
    - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`.
    - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "drill" })` to loop back. The builder fixes exactly those gaps.
    
    Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.
  5. Finishdeveloper

    All acceptance criteria met. Stamp a short summary and report DONE.

    Show working prompt
    Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.

Triggers

Phrases that suggest this craftbook to a crew.

Source

View this craftbook on GitHub · MIT license