agentsclimarketplace

Recognition

Skill szsip239/peter-zhou/skills/peter-zhou/recognition

Recognize wrong questions from scanned/photo/PDF papers using model-native vision. Use for source manifests, page order reasoning, teacher-mark interpretation, unmarked-paper grading, and RecognitionResult creation.From its SKILL.md

Install
npx -y skills add szsip239/peter-zhou --skill recognition

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

2 things 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.
  • runs commandsInstructs the agent to run 8 commands, including `scripts/source_queue.py prepare` and 7 more.

SKILL.md

6.6 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Recognition

Use this subskill when a source paper or wrong-question image needs visual understanding.

Core contract:

  • Scripts scan files, render PDFs, create source manifests, and persist results.
  • Use scripts/source_queue.py prepare for deterministic source discovery and manifest creation.
  • For the Dashboard action 检查待入库试卷, run scripts/runtime_config.py refresh --json and report status=new as待入库. For 处理待入库试卷, pass all returned manifest_paths to one paper_recognition_batch start command as repeated --source-manifest arguments. Follow only its current next_action; the script advances papers and aggregates review/failure refs.
  • The default source is a local top-level directory configured during first use. If an advanced installation explicitly needs a remote Windows source, scripts/ssh_source_sync.py refresh is an optional SSH adapter; credentials stay in the host's SSH configuration or runtime environment and never enter Peter Zhou configuration or output. Use --retry-failed only when the user or workflow explicitly requests failed-source retry.
  • For PDFs, source manifests include one stitched document_image_path for whole-paper recognition plus individual page PNGs for close reading and crop references.
  • Use scripts/recognize_manifest.py build-prompt to prepare the native-vision prompt from an explicit source manifest.
  • The agent should inspect the whole-paper image first for document-level structure, then use individual page images for close reading and crop-region coordinates.
  • Prefer crop_regions[].image_ref="page" with normalized 0-1000 bbox coordinates; use image_ref="document" only when the region cannot be located reliably on one page image.
  • Treat crop_regions[].bbox as a rough visual anchor, not a pixel-perfect contract. Set crop_regions[].crop_policy="auto_expand" for normal wrong-question screenshots so scripts expand the crop to nearby printed/handwritten evidence. Use crop_policy="exact_bbox" only for clean standalone visual assets or deliberately tight review crops.
  • If a question depends on a visually separate diagram, table, chart, graph, map, circuit, or labeled illustration, include that visual area as an additional crop region for the same wrong question.
  • Set question_kind to text for pure text questions and visual for questions that need a figure, table, chart, graph, map, circuit, geometry figure, or labeled illustration.
  • Store required source context in context_text. For any reading-comprehension item, including Chinese and English, include the original passage or enough passage excerpt to answer the subquestion; do not persist only the subquestion. When the prompt asks to answer with "本文", "文章", "全文", "选文", or a passage, a short summary is not enough.
  • Also transcribe the needed visual data into clean student_facing_assets[], because correction papers do not print raw crop screenshots.
  • For printable visual assets, use this priority: safe true-image crop first, then controlled diagram_spec/SVG redraw for geometry-style figures. Do not use generated-image replication as a canonical student asset.
  • When a clean printed visual area has no student answer, handwriting, or teacher mark, add student_facing_assets[].asset_regions[] for that clean area. The intake script will crop it into student-assets/ and persist an asset_ref for printable correction papers.
  • If no clean visual crop exists, leave out asset_regions. For geometry-style figures, reconstruct the needed relationships through a reviewed diagram_spec/SVG redraw workflow; for other visual data, reconstruct the needed diagram/table/chart information in student_facing_assets[].content and lower confidence if review is needed.
  • Preserve natural math symbols in text, and add formula_latex[] for formulas, roots, fractions, equations, geometry relations, or units that need stable later rendering.
  • When correct_answer comes from teacher correction or from model derivation, state the source in simple_mistake_analysis. If teacher handwriting conflicts with reliable derivation or is hard to read, lower confidence and include a review note such as 批改字迹需复核.
  • The agent reads source manifest images with native vision and returns a structured RecognitionResult.
  • The normal multi-file path is scripts/workflow.py start --kind paper_recognition_batch --source-manifest <manifest-1> --source-manifest <manifest-2> .... Use paper_recognition directly only for one explicit paper or diagnostics. The batch exposes exactly one child paper's prompt/images at a time, preserves each child review report, continues after a terminal child failure, and reuses completed/interrupted children unless --refresh is explicit.
  • Every child workflow first permits the Agent to identify a returned Peter Zhou correction paper from visible content rather than the file name; those files are automatically routed to returned-scan extraction and unified answer grading instead of mistake ingestion.
  • For returned correction papers, trust printed page numbers over file/render order. Submit only visible answers. Review every unanswered item for a missing, cropped, or contradictory stem/diagram through unanswered_item_reviews; blank answers must never become attempts.
  • After returned-scan grading succeeds, the workflow marks the source document and manifest processed and the correction paper answered, so source refresh does not queue the same file again.
  • If native vision fails structurally or technically, use Doubao seed-2.0-pro fallback through runtime configuration.
  • Do not write durable JSON directly from prose output.
  • Validate RecognitionResult records with scripts/validate_record.py; see references/schema.md.
  • Use scripts/recognize_manifest.py select-result so native output stays primary and fallback output cannot create a duplicate mistake set.
  • Persist selected recognition results with scripts/intake_recognition.py ingest, then show the returned derived review report to the user. Normal crops should already be auto-expanded; use intake_recognition.py repair-crops only when a screenshot is still incomplete, too loose, or needs a deliberately different multi-region stitch.
  • For normal operation, do not manually repeat build-prompt, select-result, and ingest; resume the workflow using the exact schema named by next_action.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most education skills give in ~1.3k tokens

Counted across 169 of the 171 authors here whose files we hold, read 2026-08-07

  • Search for existing resources before creating new onesin 7 of 169, across 3 files
  • Check tool responses for errors before proceedingin 7 of 169, across 3 files
  • Reduce request frequency on rate limit errorsin 7 of 169, across 3 files
  • Confirm connection status is ACTIVE before running workflowsin 7 of 169, across 3 files
  • Execute prerequisite steps first in workflowsin 7 of 169, across 3 files
  • Handle pagination by fetching until exhaustedin 7 of 169, across 3 files
  • Re-authenticate if the connection expiredin 6 of 169, across 2 files
  • Always call RUBE_SEARCH_TOOLS first to get schemasin 6 of 169, across 2 files
  • Pass strictly schema-compliant tool argumentsin 6 of 169, across 2 files
  • Run the skill generator if the shared file is missingin 6 of 169, across 3 files
  • Create the coursein 5 of 169, across 3 files
  • List enrolled studentsin 5 of 169, across 3 files

Said here and by no other author read

  • inspect whole-paper images before individual pages
  • prefer page image references over document references
  • set crop_policy to auto_expand for normal screenshots
  • include passage excerpts in context_text
  • transcribe visual data into student_facing_assets
  • state answer source in simple_mistake_analysis

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. 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.