Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/optimeta/paideia/answer-processingnpx skills add OPTIMETA/PAIDEIA --skill answer-processinggit clone --depth 1 https://github.com/OPTIMETA/PAIDEIAWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00079 | $0.02467 |
| Opus 5 | $0.00039 | $0.01234 |
| Sonnet 5 | $0.00016 | $0.00493 |
| Haiku 4.5 | $0.00008 | $0.00247 |
Grade A, and why
answer-processing scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 205 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Answer Processing
When to load
- User uploads an answer PDF and asks to grade it
/gradeis invoked- User says "I finished the quiz, here's my work"
Core pipeline
answers/<quiz-name>.pdf ← user uploads hand-written scan
↓ (pdf skill, OCR)
answers/converted/<quiz-name>.md
↓ (this skill)
grade report → stdout (compact) + errors/log.md (append)
Step-by-step procedure
Step 1: Locate the answer file
If /grade was called with an argument, use it as a hint. Otherwise find the most recently modified file in answers/ (not answers/converted/).
Step 2: Convert PDF to MD (if PDF)
Use the vision-ocr skill — delegates to a local VLM (Qwen3-VL 8B via ollama) for clean prose + LaTeX transcription (the script reads INTERFACE_LANG from .course-meta so the VLM keeps the handwriting in its original language), with pytesseract as automatic fallback.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/vision_ocr.py" answers/<name>.pdf answers/converted/<name>.md
The script handles model warmup, page-by-page inference, and tier fallback. See .claude/skills/vision-ocr/SKILL.md. The output header tells the grader which tier produced the text:
<!-- SOURCE: ..., qwen3-vl:8b @ 300dpi, N pages -->→ high-confidence<!-- TIER: tesseract fallback -->→ degraded; treat results conservatively
Step 3: Graceful handling of OCR noise
Hand-written math OCR will be imperfect. Expect:
- Greek letters misread as Latin ($\alpha \to a$, $\beta \to B$, $\pi \to T$ or $n$)
- Fractions rendered as flattened text ($\tfrac{dU}{dT} \to dUdT$ or similar)
- Subscripts/superscripts lost or inlined
Do not grade on algebraic correctness of OCR output. Instead, apply strategy-based grading:
Step 4: Strategy extraction from noisy MD
Read the converted MD file. For each problem, identify:
- Which pattern(s) did the user invoke? Look for:
- Named theorems / techniques the user wrote out ("Maxwell relation", "Stokes theorem", "by induction")
- Variables they held fixed (even if notation is mangled)
- Key intermediate objects (a chosen potential, a change of variable, an ansatz)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 205 lines · 79 tokens per session scan A de8c5dd4f8d6
answer-processing is a skill published in the GitHub repository OPTIMETA/PAIDEIA (91 stars, last pushed 1mo ago), licensed MIT. It adds 79 tokens to every session and 2,467 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
linza-operator
Use when operating LINZA MCP as a local-first agent workspace. Guides agents through doctor checks, guidenextsteps, agentworkspace actions, teach/grow review loops, dry-run apply gates, artifact safety, calibr trace review, and context export without exposing raw tool lists to users.
strata:bootstrap
One-time onboarding pass to seed the Strata vault from an existing codebase's docs. Scans CLAUDE.md, docs/, .planning/, and similar for candidates, then dispatches each one to a strata:bootstrap-worker subagent in parallel batches, the worker reads its file, classifies, writes the right kind of vault note, and returns…
strata:consolidate
Promote durable notes out of aging per-branch pr-context dirs into the branch-agnostic lessons/ scope (rule-based, no LLM). Use when the user says "clean up old branch notes", "graduate these to lessons", "tidy pr-context", or after a wave of merged PRs. Dry-run by default; --apply to perform. Command-only — run it…
digital-eguide
A two-spread digital e-guide preview — page 1 is a cover (display title, author, "What's inside" stats, table of contents teaser); page 2 is a spread (lesson body with pull-quote and a step list). Lifestyle / creator brand tone. Use when the brief asks for an "e-guide", "digital guide", "lookbook", "lead magnet"…
docs-page
A documentation page — inline-start nav, scrollable article body, inline-end table of contents. Use when the brief mentions "docs", "documentation", "guide", "API reference", or "tutorial".
slidev
Create and present web-based slidedecks for developers using Slidev with Markdown, Vue components, code highlighting, animations, and interactive features. Use when building technical presentations, conference talks, code walkthroughs, teaching materials, or developer decks.