practice-problems
**Practice problems, problem first**: extracts problems from a source (a seminar or problem sheet, textbook exercises, lecture slides, a past paper, a handout) and turns each one into an interactive marimo practice item.
Install / Use
npx skills add tame-png/marimo-skills-kit --skill practice-problemsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
MarketingSupported Platforms
Our assessment of practice-problems
practice-problems scores 65/100 on our quality scale, 553rd of 569 Marketing skills we index.
Its SKILL.md is 9.6 KB long, well organised into 9 sections with 1 code example: a thorough specification that gives an agent plenty to work with.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
practice-problems compared with similar skills
All 4 of these similar skills score higher than practice-problems; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| practice-problems (this skill)by tame-png | 65 | 0 | — | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 29d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 29d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 137.2k | 7d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 137.2k | 7d ago | SKILL.md |
Frequently asked questions
- How do I install practice-problems?
- Run
npx skills add tame-png/marimo-skills-kit --skill practice-problems. The install tabs above show the steps for each supported agent. - Which AI agents does practice-problems work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is practice-problems safe to use?
- It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is practice-problems still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHubname: practice-problems description: | Practice problems, problem first: extracts problems from a source (a seminar or problem sheet, textbook exercises, lecture slides, a past paper, a handout) and turns each one into an interactive marimo practice item. The reader sees the problem and attempts it first (a marimo-learn widget, a graded form, a Tangle/explorer variant, or a studio page). Hints come next, then the complete explained solution with a green verification cell, the common mistakes and the source page. Assessed questions get a hint and checker only, with the solution date-gated. Use this skill whenever the user asks for practice problems, practice questions, exercises, drills, "problems from chapter N", "make me questions from this sheet/PDF", "quiz me on …", worked problems they can try first, a problem set, extra practice before an exam or seminar, "practice from the lecture slides", "the slide examples as problems", or a practice note per lecture, in any course (MA2403, MA1115, AF2007, FDS, Bloomberg). For MA2403, solutions are worked the Orange-book way (formula page, table, row and column, interpolation) and then checked in code. Builds on marimo-notes (format, build) and model-routing (who reads the source); for whole study guides or mock exams across many notes use study-pack instead.
Practice problems: ask first, then explain fully
The note format, glossary, ⟦links⟧ and build come from marimo-notes. Widget signatures are in
skills/marimo-notes/references/teaching-widgets.md §2–§5, and the assessed-work gate is in
skills/marimo-notes/references/teaching-patterns.md §Assessed work. This skill adds the problem-first
loop and how to get the problems out of a source.
1. Scope and placement (ask only if unclear)
- Source: which file(s) and pages or question numbers. Only course-sanctioned sources (the dropped book is never used).
- Assessed? Is any question from coursework, marked homework or a quiz before its deadline,
word-for-word or near it? Check the handbook, Blackboard dates and the course hub's deadlines.
Assessed means hint + checker, with the full solution behind
--unlock. - Where it goes:
- a few problems tied to one note go into that note's Self-Check section;
- a set goes into a new
G<n>_<scope>_practice_problems.py(new_note.py --kind guide), linked from the hub and from each source note's Practice line; - lecture-slide examples go into one
<lecture-note stem>_practice.pyper lecture note, linked from the end of that note and from its hub row (§2b).
2. Extract the problems (cheap models)
- Each source PDF gets one question-banker agent (haiku), all in parallel. The brief gives
the path, the page range and the output path in the scratchpad. It returns one row per problem:
id | page | verbatim statement (LaTeX) | given data | printed answer (if any) | type | topic | difficulty | assessed flag | figure PNG path. - Pages with plots, tables or handwriting are rendered to PNG by the agent. Look at the flagged PNGs yourself before trusting the statement.
- A long chapter can go to
doc-extractorfirst, then question-banker on its digest.
2b. From lecture slides (slides mode)
Full recipe in references/slides-mode.md. In short:
scripts/extract_slide_examples.py DECKS… --out <scratchpad>/slides(tier 0). It finds the Example / Try it / Try these slides, marks repeats across decks, flags handwriting (ink) and renders PNGs.- One question-banker per practice note runs on its candidate ids, copying clean statements from an existing slide-examples guide where one exists.
- Opus maps the items to lecture notes, writes the item specs (key, hints, solution route, one tabulated variant per item) and reads every ink PNG.
- notebook-drafter ×N write
<lecture stem>_practice.py. Then link each from the end of its lecture note and from its hub row.
3. Design each item (Opus)
Choose the interaction from what the problem asks for:
| Problem asks for | Attempt widget |
|---|---|
| A number (probability, price, determinant) | NumericEntryWidget(question, correct_answer=<computed>, tolerance) or a .batch().form() with several inputs |
| A choice of method, distribution or conclusion | MultipleChoiceWidget. Distractors = the real common mistakes (wrong tail, trials vs failures, forgot to annualise) |
| The steps of a proof, test or algorithm | OrderingWidget |
| Matching terms, formulas or graphs | MatchingWidget |
| "What will this R/Python print?" | PredictThenCheckWidget |
| Code (a function, a dplyr pipeline) | stub + # BEGIN/END YOUR CODE + test cell + "Run my tests" (teaching-widgets.md §5) |
| A parameter family ("for which k …") | a Tangle sentence or a small explorer, then a numeric check at one value |
| A static revision page, no Python | studio view with a "question" and an "answer" state (studio-explainer) |
- Stats (MA2403) solutions take the Orange route (
references/orange-book-route.md): name the distribution with its ⟦ob p⟧ page, set up, read the table (page, row, column, entry as printed), interpolate, box the answer, then add one line comparing the table with the exact value._tools/orange_tables.pyreproduces each lookup at table precision, and scipy is only the check. - Answers are computed in code (scipy, sympy, polars, live R), never typed. A printed answer from the source goes into the checks box comparison, not into the widget.
- Write a variant (new numbers, same method, (own example)) for any problem that is assessed or too easy to memorise.
4. Item layout (problem first)
## P3 — <short title>with the ⟦source page⟧ link line.- The problem statement (source wording, LaTeX, the figure if any).
- The attempt widget in its own cell, named with a prefix (
p3_attempt). /// details | Hint 1(direction) and/// details | Hint 2(first step). Hints never give the number.- A reveal cell with a "Show me the solution" run button (
p3_giveup). - The solution cell is gated until the reader has answered or given up:
Numeric and multiple-choice widgets report_answered = (p3_attempt.value.get("value") or {}).get("answered", False) mo.stop(not (_answered or p3_giveup.value), mo.md("*Attempt the problem (or press “Show me the solution”) to see the worked solution.*")) mo.md(rf""" /// details | Full solution — P3 open: True **Step 1 — set up.** … *why this step* **Step 2 — …** … $$\boxed{{…}}$$ **Common mistakes.** … /// """)answered.OrderingWidgetreports only{order, correct}, and it sets that while the reader drags, so gate it oncorrect is True(plus the give-up button). Thepp_answeredhelper inStatistical Distributions and Inference/marimo-notes/W1_L3_discrete_and_normal_practice.pyhandles all three kinds, and forms too. The solution explains why at each step in the user's voice, ends with the boxed answer, and names the common mistakes and the related note (?file=link + page). - A verification cell that is NOT gated, so the build always checks the key. It must not
reveal the number before the attempt:
Put_ok = abs(P3_KEY - P3_PRINTED) < 5e-4 if P3_PRINTED is not None else True mo.callout(mo.md(f"**Answer key check (P3):** matches the source: **{_ok}**"), kind="success" if _ok else "danger")P3_KEY(computed) andP3_PRINTEDin one hidden key cell near the top of the file. For an Orange-route item the same cell also checksP3_TABLE(the value read the table way withorange_tables) againstP3_KEYwithin the table's tolerance (ob.tol(...)). That proves the book method gives the right answer to the precision printed. A source answer that disagrees is reported in the checks box, and the key is never edited to match. - Close with a 📊 quiz summary (
add_quiz_summary.py) when there are 3+ public widgets, the checks box and the tags.
Assessed items: steps 1–4 plus a checker form (right/wrong only). Steps 5–6 become the
date-gated solution (new_note.py … --unlock <deadline> pattern), and step 7 stays.
Persistence (optional): progress across reloads via moutils StorageItem
(libraries-widgets.md §1). It is [R] until it has been tried in one note, so check it renders
under marimo run before using it widely.
5. Build and check
.venv/Scripts/python.exe skills/marimo-notes/scripts/build_notes.py "<Course>/marimo-notes/G4_….py" --python .venv/Scripts/python.exe --summary
Then run note-qa. The visual pass must show each problem with no solution visible before an attempt, and the interaction pass must answer one widget and press one give-up button. Script-mode validation leaves widgets unanswered, so solution cells stop silently (expected) and the key-check cells must all be green.
Routing
| Step | Who |
|---|---|
| Find slide examples, repeats, ink | extract_slide_examples.py (script) |
| Extract problems, render figures | question-banker ×N (haiku), parallel; doc-extractor for long chapters |
| Assessed? / widget choice / solutions / variants | Opus |
| Drafting a large set (≥ 8 items) from Opus's item specs | notebook-drafter (sonnet), then Opus reviews every solution |
| Build, visual check | build_notes.py yourself; visual-reviewer (haiku) for the screenshots |
Never
- Show a solution or the numeric answer before the attempt, or before the deadline for assessed work.
- Type an answer key by hand, or change a key to make a check green.
- Use a source the course does not sanction, or quote a whole textbook chapter. Problem statements are for the user's own study notes.
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
137.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
137.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
