study-quiz — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited study-quiz (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Output language: ALL learner-facing content MUST be Simplified Chinese.
Never leak answers before the learner attempts. Durable quiz artifacts are files; conversation is for source-choice confirmation, grading, and next-step guidance.
The question bank is course-level:
<study-dir>/question-bank/question-bank.jsonNever create per-chapter banks. Legacy <study-dir>/question-bank.json is accepted only for old workspaces.
Generated files:
<study-dir>/internal/quizzes/<date>-<topic>.json<study-dir>/open/quizzes/<date>-<topic>.html, produced with build_quiz.py --publish <study-dir><study-dir>/internal/state/exam-style.md<study-dir>/internal/state/mistakes.md<study-dir>/internal/reports/Quiz HTML supports LaTeX $...$ / $$...$$ through MathJax. Use LaTeX for real formulas; Unicode math is fine for short inline expressions.
Before writing questions, inspect the bank:
python3 ~/.claude/skills/study-quiz/scripts/bank.py <study-dir> list --point 3.1.2 3.1.3
python3 ~/.claude/skills/study-quiz/scripts/bank.py <study-dir> stats --point 3.1.2 3.1.3
python3 ~/.claude/skills/study-quiz/scripts/bank.py <study-dir> get Q0003 Q0007Prefer unused or least-used entries. For repeat practice, adapt numbers/scenarios instead of reusing verbatim. Write brand-new questions only for uncovered points or when uploaded/web sources add better exam-style material.
After building a quiz:
python3 ~/.claude/skills/study-quiz/scripts/bank.py <study-dir> add <quiz.json>
python3 ~/.claude/skills/study-quiz/scripts/bank.py <study-dir> use Q0003 Q0007When uploaded or searched papers are available, write internal/state/exam-style.md:
# 命题风格档案:<院校/科目>(来源:<真题年份 或 网络检索+URL+置信度>)
## 试卷结构
## 难度与风格特征
## 高频考点 → 教材章节映射
## 各题型出题模板与评分标准
## 典型真题摘录Then update relevant knowledge.json point importance. Tell the learner the conclusions in one concise Chinese paragraph.
Default delivery is interactive HTML. Write quiz JSON using the schema in build_quiz.py, then render:
python3 ~/.claude/skills/study-quiz/scripts/build_quiz.py \
<study-dir>/internal/quizzes/<quiz>.json --publish <study-dir>Question types:
single: options + integer answer index.multi: options + answer index list; default no partial credit unless partial: true.judge: true/false.text: subjective/calculation; requires reference.Objective questions require explanation: why the right answer is right and why distractors are wrong. Text questions require point-by-point scoring criteria.
Default 2-3 questions per point, easy -> hard. Use uploaded/source questions first, then bank entries, then new questions from lecture JSON. Without exam-style.md, use the subject's normal style.
Cover at least 60% of the chapter's points and all high-importance points. Follow exam-style.md when present.
Pick unresolved mistakes and re-ask them in disguise. Only a correct redo marks the mistake as 复盘通过.
When the learner asks for a full mock, follow the real structure, scoring, and time from exam-style.md. After grading, write internal/reports/mock-<date>.md.
Open or provide the path to the HTML in open/quizzes/. In conversation say one Chinese sentence: the quiz has opened, how many questions it has, and to export/paste the answer record after finishing. Do not repeat quiz questions in chat unless the learner explicitly asks for conversation-mode quizzing.
Answers may arrive from exported HTML records, conversation, or handwritten photos. For handwritten work, invoke study-img --mode answer, transcribe verbatim, confirm uncertain 【?】, then grade.
For each graded question, give verdict, score, correct answer, exact reasoning break, and mapped knowledge point.
After grading:
internal/state/mistakes.md for misses.knowledge.json: status -> 已测验, mastery 1-4 by performance, note = concrete weak spot.history.jsonl, update progress.json, regenerate mind map, refresh dashboard.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.