agentsclimarketplace

Correction practice

Skill szsip239/peter-zhou/skills/peter-zhou/correction-practice

Peter Zhou: 周伯通和 Peter Pan 的合体,一个面向学生的超级老师综合 skill

Install
npx -y skills add szsip239/peter-zhou --skill correction-practice

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Generate and print correction practice, then grade returned answer sheets. Use for CorrectionPaper PDFs, PDF/PNG printing, original redo, generated similar practice, PracticeQuestionRecord lifecycle, returned scan/photo/PDF grading, and mastery counters.

SKILL.md

8.2 KB, as published. Nobody here has run it

Correction Practice

Use this subskill when the user wants a correction paper, similar practice, or returned-paper grading.

Core contract:

  • Use scripts/workflow.py start --kind correction_paper for the normal printable-paper generation path. The workflow selects mistakes, requests printability review when needed, then asks the Agent for one bounded correction_practice_candidate.v1; scripts validate and persist it before rendering. --candidate <json> remains a compatibility/testing input.
  • Use scripts/workflow.py start --kind agent_chat_review for “今日 10 分钟复习”. It asks one original redo plus 2-3 transfer questions one at a time. Show only next_action.question; read agent_context_ref privately, return agent_chat_item_grading.v1, and resume once with both the natural-language student answer and grading file. The script returns concise feedback and updates the same mastery counters without PDF/HTML generation. The historical answer-then-grading two-resume path remains compatible for existing runs.
  • If correction selection is empty, accept the workflow's deterministic completed/no_op result. Do not ask the Agent to generate practice from an empty list.
  • Prefer currently non-mastered wrong questions. Questions whose latest original redo is wrong are marked needs_repeat_correction, selected before ordinary low-score questions, and must receive the original redo plus at least one linked transfer question in the next paper.
  • Check scripts/learning_profile.py show --data-dir <dir> --json before generating personalized practice. Use grade/stage, difficulty preference, and weak subjects when present; if missing, ask/persist the first-use profile only when it materially affects the request.
  • Use scripts/correction_practice.py generate to create correction-paper metadata, generated practice records, and printable student PDFs without answers or grading keys.
  • Before any PDF is rendered, let the normal workflow complete its printability_review Agent task. Check every selected original question against its raw crop, clean stem/context/options, answer basis, and student-facing assets. Return correction_printability_review.v1; scripts persist the decision and a content fingerprint through visual_asset_repair.py apply-print-review.
  • Never bypass the printability gate with the compatibility generate command. It rejects unreviewed or stale questions. Rejected questions are excluded from selection; changing the stem, context, formula data, asset metadata, or asset bytes invalidates an earlier approval.
  • Use scripts/print_paper.py as the only printer interface. discover lists configured queues and Bonjour/IPP printers; setup creates an explicit driverless IPP queue only when needed; print --dry-run validates the asset and returns the A4/one-sided/monochrome plan; print submits it through CUPS and returns the job id.
  • Print only complete .pdf or full-page .png assets whose file headers validate. Existing CorrectionPaper PDFs match this contract. Do not print HTML, source scans, raw wrong-question crops, or individual student_facing_assets[] as if they were complete papers.
  • Default to A4, one-sided, monochrome, one copy. Use color or additional copies only when the user explicitly requests them.
  • A direct instruction such as “打印这份试卷” authorizes the physical print side effect. Otherwise show the dry-run plan and ask once before submission. Generating a paper never implies printing it.
  • Prefer an existing discovered CUPS queue. Do not hard-code a printer hostname, URI, or machine-specific queue name in the skill. Run setup only when discovery finds the network printer but no usable queue.
  • Use scripts/correction_practice.py render-html when the user wants an electronic correction paper. The HTML page should save browser drafts and download an AnswerSubmissionBundle with submission_source=correction_paper_html; it must not embed answer keys, solution notes, or raw wrong-question crops.
  • Render the PDF like a normal practice paper, not like a form table: use a clear paper header, numbered questions, K12-style difficulty sections, and answer areas under each question.
  • Do not put raw wrong-question crop screenshots in student PDFs; they can leak original answers or teacher corrections.
  • Original redo items must come from clean reconstructed question text. For visual questions, the full stem is original_question; printable visual data comes from student_facing_assets[].
  • Student-facing redo items use the correction paper's own numbering. Do not print the source paper's original question number/section label in the item title or at the start of the stem.
  • Question numbers should be followed directly by the question content. Do not print source paper names, page numbers, wrong-question ids, linked-practice ids, or knowledge-tag metadata on student papers.
  • When context_text is present, print it as part of the question content before original_question; do not label it as metadata.
  • Multiple-choice options should render inline with extra spacing when the option group fits on one line. If the stem is long, put the whole option group on the next line while keeping A/B/C/D inline; put A/B/C/D on separate lines only when the option group itself is too long.
  • Do not print helper text such as 参考信息:... inside the stem; visual data belongs in student_facing_assets[] and the student should read the figure/table directly.
  • The renderer may embed student_facing_assets[].asset_ref images from student-assets/, but must never embed crop_image_ref from mistake-crops/.
  • Student-facing visual assets must come from safe true-image crops first, then reviewed diagram_spec/SVG redraws for geometry-style figures. Do not use generated-image replication as printable assets.
  • A file existing under student-assets/ is not proof that it is correct. Native-vision printability review must verify labels, values, geometry relationships, crop completeness, contamination, and consistency with the student-visible stem before the asset can be printed.
  • If a visual question has no safe asset_ref, render the textual reconstruction in student_facing_assets[].content.
  • When rendering PDFs, beautify common math notation from stored natural text or LaTeX-style snippets: ^/^{} as superscript, _/_{} as subscript, \sqrt{} as radical text, \frac{}{} as compact fractions, and common operators such as <=, >=, \times.
  • Keep answer areas sized by question type: choice and short-answer items get compact blank space, while calculation, proof, explanation, and visual-data items get more blank working space.
  • Store durable correction-paper generated non-original questions as single-subject PracticeQuestionRecord entries.
  • Use scripts/correction_practice.py build-returned-prompt before reading returned scans/photos/PDFs with model-native vision.
  • Use record-original-attempt and record-practice-attempt so scripts update attempts and mastery counters.
  • For electronic HTML submissions or normalized returned scans, stage answers with scripts/submission_intake.py import, build the agent grading prompt with build-grading-prompt, then persist only through apply-grading. The prompt builder sends submitted answers once and deduplicates minimal canonical grading targets; do not append full mistake-bank or submission records.
  • All answer sources use answer_submission_bundle.v1: explanation HTML, knowledge HTML, correction-paper HTML, returned scans, and Agent chat. Failed inbox submissions are preserved with submission_intake.py mark-failed; they are never silently discarded.
  • Original redo and linked transfer answers each award exactly 1.0 mastery point when correct. Never calculate or paraphrase points from memory: report grading_summary.items[].mastery_changes[]. A wrong latest original redo preserves historical score but derives currently_mastered=false and needs_repeat_correction=true until a later original redo is correct.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.