一键导入
study
Daily review session — show due cards, collect ratings, advance the schedule
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Daily review session — show due cards, collect ratings, advance the schedule
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Placeholder skill so the pack manifest validates.
Default skill for the Create pack — file casual user input (text, voice, image) into the material pool
Generate a platform-specific post draft from recent material
Fetch a URL, extract key points, and file as material
First-time setup for the Create companion — learn which platforms the user posts to and pick default voices
Evening proactive prompt — surface fresh thoughts the user might want to capture
| name | study |
| pack | vocab |
| description | Daily review session — show due cards, collect ratings, advance the schedule |
| command | true |
| triggers | ["study","review words","vocab session","背单词","复习"] |
Walk the user through today's due cards (and a small handful of new ones), collect Again/Hard/Good/Easy ratings, advance the schedule.
Complete one focused session: up to daily_target cards (default 15). Log every rating into reviews. Update each card's interval_index and next_due.
Load the queue
Use the db tool to pull:
SELECT * FROM cards WHERE next_due <= date('now') AND status != 'mastered' ORDER BY next_due, id LIMIT ? (limit = daily_target).WHERE status = 'new' LIMIT ?.Empty queue
Quiz loop (per card)
word + ipa (no definition).def_zh, def_en, example_en.msg type: "keyboard": Again / Hard / Good / Easy.Advance the schedule Read the active interval curve once at session start:
SELECT days_csv FROM intervals WHERE id = (SELECT v FROM user_state WHERE k = 'active_interval_id').days_csv into an array D = [d0, d1, ...].For each rating:
interval_index = 0, lapses += 1, next_due = date('now', '+1 day'), status = 'learning'.interval_index (re-show at same step), next_due = date('now', '+' || D[interval_index] || ' days').interval_index = min(interval_index + 1, len(D) - 1), next_due = date('now', '+' || D[interval_index] || ' days'), status = 'review'.interval_index = min(interval_index + 2, len(D) - 1), same next_due math. If at the last step, mark status = 'mastered'.Log the rating:
{
"action": "practice",
"skill_type": "vocab.study.review",
"content": "<word>",
"metadata": "{\"card_id\":42,\"result\":\"good\",\"response_ms\":3200}"
}
End-of-session summary
user_state.total_reviewed.