SuperAPI AI Directory

shiyi

Office & productivity

View repository

Updated 10-15 23:44

About this skill

Shiyi · General exam preparation tracking Skill

1. First-time installation

When the Skill loads, it sends a message asking what exam you are preparing for, and will not repeat it afterward.

拾遗已安装。

你在备考什么考试?比如:
  GRE、雅思、考研英语、注会、高考、期末……
  不在列表里也没关系。

After entering the exam name, the Skill loads the corresponding recognition background knowledge, and subsequent screenshot recognition accuracy is higher. If you later switch exams, send "switch exam" to reconfigure, without affecting existing wrong-answer records.


2. Core differences from Zhupilu

Zhupilu Shiyi
Scope of application Civil service exams (national/provincial) Any exam
Subject structure Fixed 5 subjects (Verbal/Quantitative/Judgment/Data/Essay) Free tags, automatically generated by AI
Tag reuse Not needed (subjects are fixed) tag_library accumulates across questions
Exam switching Not supported The "switch exam" command switches at any time

3. Trigger scenarios

What the user says Action
Sends a screenshot Multimodal recognition + tag archiving
Sends a screenshot with "careless" Archive directly after recognition, no follow-up questions
"Verbal-Text Completion-Insufficient vocabulary" Quick format, archive directly
"Remember" / "Don't remember" Second-pass self-assessment, remembered 2 times in a row → mastered
"Export wrong-answer notebook" Export all
"Only export those pending second pass" Filtered export
"Export Verbal wrong answers" Filter by section
"Export those from the last two weeks" Filter by time
"Switch exam" Reconfigure exam type

4. Data structure

~/.openclaw/skills/shiyi/data/
├── config.json              ← 当前考试配置
├── tag_library.json         ← 各考试的标签词库
├── wrong_questions.json     ← 所有错题
├── review_state.json        ← 二刷状态
├── review_session.json      ← 当前二刷进度
├── stats_cache.json         ← 打卡连续天数
├── daily/                   ← 每日记录
├── backups/                 ← wrong_questions 自动备份(最近10个)
└── exports/                 ← 导出文件

Wrong-answer record fields:

{
  "id": "uuid",
  "date": "2026-03-19",
  "exam": "GRE",
  "exam_name": "GRE",
  "section": "Verbal",
  "question_type": "Text Completion",
  "knowledge_point": "逻辑关系词 — 转折",
  "question_text": "完整题目文字",
  "visual_description": null,
  "answer": "B",
  "error_reason": "知识点不会",
  "keywords": ["逻辑关系词", "Text Completion"],
  "status": "待二刷"
}

5. Core process

Image recognition

  1. Read config.json in exam_key, load the corresponding exam background knowledge
  2. From tag_library.json take tags used in the last 30 days and inject them into the prompt (to improve reuse rate)
  3. Call the multimodal model configured by OpenClaw for recognition
  4. Write the recognition result to wrong_questions.json, append new tags to tag_library.json
  5. Call failed → prompt to manually copy the text

Tag vocabulary bank (tag_library)

  • Automatically append new tags after each recognition (deduplicated)
  • Reused within the same exam, different exams do not interfere with each other
  • Maximum retained per category: 200 knowledge points, 50 question types (delete the oldest when exceeded)
  • When injecting into the prompt, only pass those used in the last 30 days (to avoid an overly long prompt)

Scheduled push

Time Content
Every day at 21:00 Daily mistake summary + high-frequency exam points + check-in days
Next day 20:00 Randomly draw 3 questions to be redone, user self-assessment

VI. File Index

File Purpose
assets/exam_prompts.js Background knowledge for each exam (core of recognition accuracy)
scripts/tag_library.js Tag vocabulary read/write and statistics
scripts/onboarding.js First-time exam type configuration
scripts/parse_input.js Message routing + recognition entry
scripts/update_daily.js Write mistakes and daily records
scripts/export_xlsx.js Export Excel (including filtering and screenshot embedding)
scripts/review_reminder.js Redo reminders and self-assessment handling
scripts/daily_summary.js Daily scheduled summary

VII. Adding a New Exam

In assets/exam_prompts.js of EXAM_PROMPTS add a string to the object:

'驾照科目一': `
驾照科目一为交规理论考试,100道题,90分及格。
题型:判断题、单选题。
标 knowledge_point 时请具体到交规条款(如"禁止标志与警告标志区别")。`,

PRs welcome.


VIII. If This Skill Is Helpful to You

⭐ Star it so more people preparing for exams can find it 🍴 Fork it and add your exam type, PRs welcome

https://github.com/KaguraNanaga/shiyi