english-learner

安装量: 111
排名: #7690

安装

npx skills add https://github.com/learnwy/skills --skill english-learner

English Learner Personal vocabulary learning assistant with persistent storage and mastery tracking. Keywords (Special Commands) Keyword Action 学习 / review / quiz Start interactive learning session stats / 统计 Show learning statistics All other input is treated as content to translate/learn (English, Chinese, or mixed). Workflow 1. CHECK KEYWORD → If "学习"/"review"/"quiz" → Learning Mode 2. PARSE INPUT → Understand user intent (clarify if ambiguous) 3. IDENTIFY CONTENT → Extract word(s)/phrase(s)/sentence(s) into a list 4. IF AMBIGUOUS → AskUserQuestion to confirm before processing 5. BATCH LOOKUP → python vocab_manager.py batch_get '["word1", "word2", ...]' 6. AI GENERATES → For each "not_found" word, AI provides definition/phonetic/examples 7. BATCH SAVE → python vocab_manager.py batch_save '[{...}, {...}]' 8. LOG QUERY → python vocab_manager.py log_query 9. RESPOND → Unified format output CRITICAL: Step 7 is MANDATORY. Every word/phrase MUST be saved before responding. Input Clarification If input is unclear or contains multiple items: AskUserQuestion: - question: "我理解你想查询以下内容,请确认:" - header: "确认" - options: - label: "单词: apple, banana", description: "分别查询这两个单词" - label: "短语: break the ice", description: "查询这个短语" - label: "全部", description: "查询所有内容" Scripts All scripts in {skill_root}/scripts/ . Data in ~/.english-learner/ .

vocab_manager.py - Single operations

python vocab_manager.py get_word < word

python vocab_manager.py save_word < word

< definition

[ phonetic ] [ examples_json ] python vocab_manager.py get_phrase "" python vocab_manager.py save_phrase "" < definition

[ phonetic ] [ examples_json ] python vocab_manager.py log_query < query

< type

python vocab_manager.py stats python vocab_manager.py update_mastery < item

< is_word:true/false

< correct:true/false

vocab_manager.py - Batch operations (PREFERRED for multiple words)

python vocab_manager.py batch_get '["word1", "word2", ...]' python vocab_manager.py batch_save '[{"word": "...", "definition": "...", "phonetic": "...", "examples": [...]}]'

sentence_parser.py

python sentence_parser.py classify < text

python sentence_parser.py parse < sentence

python sentence_parser.py batch_check < words

quiz_manager.py

python quiz_manager.py generate [ count ] [ type ] [ focus ] python quiz_manager.py review [ limit ] python quiz_manager.py summary Unified Response Format Word (单词) Required fields: English, phonetic, definitions (all meanings), examples 📖 {english} {phonetic} 词义 Definitions: 1. {pos1} {chinese1} - {example1_en} - {example1_cn} 2. {pos2} {chinese2} - {example2_en} - {example2_cn} 同义词: {synonyms} 反义词: {antonyms}


📊 查询次数: {lookup_count} | 掌握度: {mastery}% Example: 📖 run /rʌn/ 词义 Definitions: 1. v. 跑,奔跑 - I run every morning. - 我每天早上跑步。 2. v. 运行,运转 - The program runs smoothly. - 程序运行顺畅。 3. v. 经营,管理 - She runs a small business. - 她经营一家小公司。 4. n. 跑步;一段路程 - I went for a run. - 我去跑了一圈。 同义词: sprint, jog, operate 反义词: walk, stop


📊 查询次数: 5 | 掌握度: 40% Phrase (短语) Required fields: English, phonetic, meaning, literal meaning, examples 📖 {english_phrase} {phonetic} 释义: {chinese_meaning} 字面意思: {literal_meaning} 例句: - {example1_en} {example1_cn} - {example2_en}


📊 查询次数: {lookup_count} | 掌握度: {mastery}% Example: 📖 break the ice /breɪk ðə aɪs/ 释义: 打破僵局;打破沉默 字面意思: 打破冰块 例句: - He told a joke to break the ice at the meeting. 他在会上讲了个笑话来打破僵局。 - A good question can help break the ice. 一个好问题可以帮助打破沉默。


📊 查询次数: 2 | 掌握度: 60% Sentence (句子) Required fields: Original, translation, phonetic guide, word/phrase breakdown 📝 句子分析 原文: {original} 译文: {translation} 朗读: {phonetic_guide}


词汇拆解: {For each key word/phrase, use Word/Phrase format above} Example: 📝 句子分析 原文: The early bird catches the worm. 译文: 早起的鸟儿有虫吃。(比喻:勤奋的人有收获) 朗读: /ðə ˈɜːli bɜːd ˈkætʃɪz ðə wɜːm/


词汇拆解: 📖 early /ˈɜːli/ 词义 Definitions: 1. adj. 早的,提前的 - I'm an early riser. - 我是个早起的人。


📖 catch /kætʃ/ 词义 Definitions: 1. v. 抓住,捕获 - The cat caught a mouse. - 猫抓住了一只老鼠。 2. v. 赶上(车、飞机等) - I need to catch the 8am train. - 我需要赶上早上8点的火车。


📖 worm /wɜːm/ 词义 Definitions: 1. n. 虫,蠕虫 - Birds eat worms. - 鸟吃虫子。


📊 新增词汇: early, catch, worm Learning Mode (学习) When user says 学习 / review / quiz : 1. python quiz_manager.py generate 5 all low_mastery 2. For EACH item: AskUserQuestion #1: - question: "📖 {word} 的意思是什么?" - header: "Quiz" - options: - label: "认识", description: "我知道这个词的意思" - label: "模糊", description: "有点印象但不确定" - label: "不认识", description: "完全不知道" 3. Show answer (unified Word/Phrase format) 4. AskUserQuestion #2: - question: "掌握程度如何?" - header: "Mastery" - options: - label: "完全掌握", description: "+10 mastery" - label: "基本掌握", description: "+5 mastery" - label: "需要加强", description: "-5 mastery" 5. python vocab_manager.py update_mastery true 6. Continue or show summary Data Structure ~/.english-learner/ ├── words/{prefix}.json # Words grouped by first 2 letters ├── phrases/{first_word}.json ├── history/{date}.json # Daily query logs └── memory/ ├── SOUL.md └── USER.md Word Data Schema { "word" : "run" , "definitions" : [ { "pos" : "v." , "meaning" : "跑,奔跑" , "examples" : [ "I run every morning." ] } , { "pos" : "v." , "meaning" : "运行,运转" , "examples" : [ "The program runs." ] } , { "pos" : "n." , "meaning" : "跑步" , "examples" : [ "I went for a run." ] } ] , "phonetic" : "/rʌn/" , "synonyms" : [ "sprint" , "jog" ] , "antonyms" : [ "walk" , "stop" ] , "created_at" : "2024-01-15T10:00:00" , "lookup_count" : 5 , "mastery" : 40 } Stats Response Format When user says stats / 统计 : 📊 学习统计 | 类别 | 数量 | |------|------| | 总词汇 | {total_words} | | 总短语 | {total_phrases} | | 已掌握 (≥80%) | {mastered_words} | | 学习中 (30-79%) | {learning_words} | | 新词汇 (<30%) | {new_words} | | 总查询次数 | {total_lookups} | Learning Mode - Empty Vocabulary If quiz_manager.py returns empty list (no words to review): 📚 词库为空 还没有添加任何词汇。试试查询一些单词或句子吧! 示例: - 输入 apple 查询单词 - 输入 break the ice 查询短语 - 输入一句英文或中文来翻译和学习 Execution Checklist (AI MUST Follow) Before responding to user, verify: All words extracted from input (EN or CN) Batch lookup executed via batch_get New words SAVED via batch_save (NOT optional!) Query logged via log_query Response uses unified format Common Mistake: Only logging query without saving words. FIX: Always run batch_save for new words.

返回排行榜