{"id":"722c954b-170c-465f-ba46-9fa69a938714","entityType":"agent","slug":"clawhub-kaixiad-retaincraft","name":"RetainCraft — FSRS-5 Spaced Repetition AI Learning Tutor","canonicalUrl":"https://www.xpersona.co/agent/clawhub-kaixiad-retaincraft","canonicalPath":"/agent/clawhub-kaixiad-retaincraft","generatedAt":"2026-10-10T17:36:40.635Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T14:46:37.079Z","emptyReason":null},"description":"Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning. 间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼... Skill: RetainCraft — FSRS-5 Spaced Repetition AI Learning Tutor Owner: kaixiad Summary: Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning. 间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼... Tags: latest:1.4.5 Version history: v1.4.5 | 2026-05-24T07:35:54.537Z | user Security: transparent permissions declaration for ClawHub audit. Declares file I/O, Python exe","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s1724jjxwsfh2fm4zjvmmpe1g186pjd0:retaincraft","sourceUrl":"https://clawhub.ai/kaixiad/retaincraft","homepage":"https://clawhub.ai/kaixiad/skills/retaincraft","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/kaixiad/retaincraft","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/kaixiad/skills/retaincraft","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning. 间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T14:46:37.079Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T14:46:37.079Z","emptyReason":null},"stars":null,"forks":null,"downloads":1378,"packageName":null,"latestVersion":"1.4.5","tractionLabel":"1.4K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T14:46:37.079Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T14:46:37.079Z","lastCrawledAt":"2026-10-10T14:46:37.079Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T14:46:37.079Z","lastVerifiedAt":null,"highlights":[{"version":"1.4.5","createdAt":"2026-05-24T07:35:54.537Z","changelog":"Security: transparent permissions declaration for ClawHub audit. Declares file I/O, Python execution, web search, and reminder scheduling. 170 tests.","fileCount":9,"zipByteSize":70022},{"version":"1.4.4","createdAt":"2026-05-22T14:15:30.556Z","changelog":"v1.4: sign-contract + multi-agent reminder + cross-platform. Added What's New section to SKILL.md.","fileCount":8,"zipByteSize":67176},{"version":"1.4.3","createdAt":"2026-05-22T14:12:51.554Z","changelog":"v1.4.x: sign-contract + multi-agent reminder + cross-platform. v1.4.3: +'Learning' to display name for search.","fileCount":8,"zipByteSize":66974},{"version":"1.4.2","createdAt":"2026-05-22T13:58:49.756Z","changelog":"SEO: display name now includes keywords (FSRS-5, Spaced Repetition) for vector search","fileCount":8,"zipByteSize":66974},{"version":"1.4.1","createdAt":"2026-05-22T13:56:56.414Z","changelog":"SEO: optimized description for ClawHub vector search (spaced repetition, FSRS-5, interval repetition upfront). Bilingual search optimization.","fileCount":8,"zipByteSize":66974},{"version":"1.4.0","createdAt":"2026-05-22T13:40:13.668Z","changelog":"v1.4.0: 多agent框架兼容 - sign-contract命令 + 跨平台提醒 + 平台检测降级 + 全平台适配。24命令 169测试 14引用。","fileCount":8,"zipByteSize":67082},{"version":"1.3.1","createdAt":"2026-05-18T12:27:49.069Z","changelog":"v1.3.1: Terminology fix - effect sizes now use original paper terms (distributed practice, practice testing, self-explanation)","fileCount":13,"zipByteSize":86356},{"version":"1.3.0","createdAt":"2026-05-18T11:52:02.766Z","changelog":"v1.3.0: FSRS-5 default algorithm, 4 new commands (today/streak/analyze/optimize-params), 159 tests","fileCount":13,"zipByteSize":85967}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1724jjxwsfh2fm4zjvmmpe1g186pjd0:retaincraft","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T17:36:40.631Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-kaixiad-retaincraft/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T14:46:37.079Z","emptyReason":null},"readme":"Skill: RetainCraft — FSRS-5 Spaced Repetition AI Learning Tutor\n\nOwner: kaixiad\n\nSummary: Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning. 间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼...\n\nTags: latest:1.4.5\n\nVersion history:\n\nv1.4.5 | 2026-05-24T07:35:54.537Z | user\n\nSecurity: transparent permissions declaration for ClawHub audit. Declares file I/O, Python execution, web search, and reminder scheduling. 170 tests.\n\nv1.4.4 | 2026-05-22T14:15:30.556Z | user\n\nv1.4: sign-contract + multi-agent reminder + cross-platform. Added What's New section to SKILL.md.\n\nv1.4.3 | 2026-05-22T14:12:51.554Z | user\n\nv1.4.x: sign-contract + multi-agent reminder + cross-platform. v1.4.3: +'Learning' to display name for search.\n\nv1.4.2 | 2026-05-22T13:58:49.756Z | user\n\nSEO: display name now includes keywords (FSRS-5, Spaced Repetition) for vector search\n\nv1.4.1 | 2026-05-22T13:56:56.414Z | user\n\nSEO: optimized description for ClawHub vector search (spaced repetition, FSRS-5, interval repetition upfront). Bilingual search optimization.\n\nv1.4.0 | 2026-05-22T13:40:13.668Z | user\n\nv1.4.0: 多agent框架兼容 - sign-contract命令 + 跨平台提醒 + 平台检测降级 + 全平台适配。24命令 169测试 14引用。\n\nv1.3.1 | 2026-05-18T12:27:49.069Z | user\n\nv1.3.1: Terminology fix - effect sizes now use original paper terms (distributed practice, practice testing, self-explanation)\n\nv1.3.0 | 2026-05-18T11:52:02.766Z | user\n\nv1.3.0: FSRS-5 default algorithm, 4 new commands (today/streak/analyze/optimize-params), 159 tests\n\nv1.2.1 | 2026-05-16T05:29:33.355Z | user\n\nv1.2.1: 优化搜索可见性，改进 description 和 tags，引导用户访问 GitHub\n\nv1.2.0 | 2026-05-15T15:09:25.595Z | user\n\nv1.2.0: 提醒系统、学习契约、SM-2修复、bug修复、146个测试\n\nv1.1.2 | 2026-05-14T11:46:47.632Z | auto\n\nRetainCraft 1.1.2\n\n- Added Chinese README (README.zh-CN.md) and SECURITY.md for broader documentation and security guidance.\n- Updated homepage link to consistent casing.\n- Enhanced documentation across CHANGELOG.md, CONTRIBUTING.md, and README.md.\n- Minor improvements and clarification in SKILL.md, including usage instructions and GitHub call-to-action.\n- Reference workflow and methodology sections improved for clarity.\n\nv1.1.1 | 2026-05-14T10:53:47.351Z | auto\n\nVersion 1.1.1 Changelog\n\n- SKILL.md updated: reformatted for bilingual (EN+ZH) clarity and global readability\n- Enhanced structure with clearer section titles and step-by-step workflow in both English and Chinese\n- No protocol, algorithm or functional code changes (documentation only)\n- Maintains all previous processes and detailed learning methodology\n\nv1.1.0 | 2026-05-14T10:26:50.895Z | auto\n\n- Added comprehensive documentation detailing the RetainCraft interactive learning protocol, workflow, and execution checklist.\n- Explicitly described level system standards (L1-L5), upgrade/downgrade rules, and integration of spaced repetition (SM-2), active recall, Feynman technique, interleaving practice, and deliberate practice.\n- Included instructions for pre-assessment, burnout detection, progress tracking, and system memory integration.\n- Clarified AI assistant behavioral guidelines, session checkpoint mechanisms, and evidence-based methodology with references.\n- Improved support for multiple concurrent learning topics and personalized configuration options.\n\nArchive index:\n\nArchive v1.4.5: 9 files, 70022 bytes\n\nFiles: learning-templates.json (793b), references/full-workflow.md (27562b), scripts/evidence.md (23606b), scripts/scenarios.md (8523b), scripts/srs.py (109731b), scripts/templates.md (3740b), skill-card.md (3047b), SKILL.md (21248b), _meta.json (130b)\n\nFile v1.4.5:SKILL.md\n\n---\r\nname: retaincraft\r\ndescription: >\r\n  Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning.\r\n  间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼学习法、交错练习、因果追问。\r\n  Evidence-based: distributed practice d=0.85, practice testing d=0.74, AI tutoring 0.63-1.3 SD.\r\n  Multi-platform compatible: OpenClaw, WorkBuddy, Claude Code, Hermes Agent.\r\n  Features: FSRS-5 spaced repetition (default), SM-2 fallback, forgetting curve, burnout detection, learning contract, weekly report.\r\n  169 tests, 24 CLI commands, 14 academic citations, zero external dependencies.\r\nversion: 1.4.0\r\nauthor: kaixiad\r\nlicense: MIT\r\nhomepage: https://github.com/kaixiad/RetainCraft\r\ntags:\r\n  - learning\r\n  - education\r\n  - study\r\n  - tutoring\r\n  - ai-tutor\r\n  - ai-learning\r\n  - spaced-repetition\r\n  - active-recall\r\n  - feynman-technique\r\n  - interleaving\r\n  - evidence-based\r\n  - learning-protocol\r\n  - level-system\r\n  - progress-tracking\r\n  - memory\r\n  - review\r\n  - exam\r\n  - study-plan\r\n  - forgetting-curve\r\n  - burnout-detection\r\n  - weekly-report\r\n  - openclaw\r\n  - 学习\r\n  - 教育\r\n  - AI学习\r\n  - AI辅导\r\n  - 间隔重复\r\n  - 主动回忆\r\n  - 费曼学习法\r\n  - 交错练习\r\n  - 循证学习\r\n  - 学习协议\r\nmetadata:\r\n  openclaw:\r\n    emoji: \"📚\"\r\n    requires:\r\n      bins:\r\n        - python3\r\n    os:\r\n      - darwin\r\n      - linux\r\n      - win32\r\n    always: false\r\n---\r\n\r\n# RetainCraft\r\n\r\nEvidence-based AI-assisted interactive learning protocol\r\n基于循证学习科学的 AI 辅助互动学习协议\r\n\r\n> Combines 5 scientifically validated methods + self-assessment + diagnostic test + customized learning path\r\n> 结合 5 种科学验证方法 + 自我评价 + 摸底考试 + 定制化学习路径\r\n\r\n**📦 Source Code (源码)**: [https://github.com/kaixiad/RetainCraft](https://github.com/kaixiad/RetainCraft)\r\n\r\n**⚠️ Permissions required (所需权限)**:\r\nThis skill requires: file read/write (`~/learn/`), Python script execution, web search (for test questions & fact-checking), and platform-specific reminder scheduling. All data stored locally. No external API calls.\r\n本技能需要：文件读写（`~/learn/`）、Python 脚本执行、网络搜索（出题和事实核查）、平台提醒调度。所有数据本地存储，无外部 API 调用。\r\n\r\n> **RetainCraft** by [kaixiad](https://github.com/kaixiad) — 170 unit tests, 14 academic citations, zero dependencies.\r\n> If you find this useful, a ⭐ on GitHub would mean a lot.\r\n**📖 Detailed workflow (详细流程)**: [references/full-workflow.md](references/full-workflow.md)\r\n\r\n> ⭐ If this skill helps you, please give a Star on GitHub!\r\n> 如果这个 skill 对你有帮助，欢迎在 GitHub 上给个 Star！\r\n\r\n---\r\n\r\n## ⚠️ Execution Checklist (执行清单)\r\n\r\n> All commands use paths relative to this SKILL.md's directory. 以下所有命令路径相对于本文件所在目录。\r\n\r\n**Must read before each learning session (每次学习开始前必须读)**\r\n\r\n### Critical Steps (关键执行步骤 - 不可违反)\r\n\r\n1. **Must execute after module test (模块测试结束后必须执行)**:\r\n   ```bash\r\n   python3 scripts/srs.py record-test <topic> <total> <correct>\r\n   ```\r\n   Not executing = module test invalid, level not updated.\r\n   不执行此命令 = 模块测试无效，等级不更新。\r\n\r\n2. **Feynman Check - L5 required (费曼检验 - L5 必需)**:\r\n   - L5 mastery requires: 2 consecutive module tests >=90% + Feynman check passed\r\n   - L5 精通需要：连续 2 次模块测试答对率 >=90% + 费曼检验通过\r\n   - AI plays \"confused student\", asks 3 questions\r\n   - AI 助手扮演\"不懂的学生\"，追问 3 个问题\r\n\r\n3. **Scoring Discipline (评分纪律 - 不可违反)**:\r\n   - Scoring criteria announced before test, cannot change during test\r\n   - 评分标准在测试开始前公布，测试过程中不可修改\r\n   - Single question score >=7 = \"correct\"\r\n   - 单题得分 >=7 分 = 算\"答对\"\r\n\r\n4. **Level-up Restrictions (逐级升级限制)**:\r\n   - Levels can only increase one at a time, no skipping\r\n   - 等级只能逐级升级，不能跳级\r\n   - Each upgrade requires 2 consecutive passes\r\n   - 每次升级需要连续 2 次达标\r\n\r\n5. **Ensure learning reminder is active (确保学习提醒已生效)**:\r\n   - Check if a timed learning reminder exists for this user\r\n   - If yes → continue normally\r\n   - If no → trigger Step 0.1 reminder creation flow\r\n   AI MUST verify reminder status before proceeding. Missing reminder = learning risk.\r\n   AI 必须确认提醒状态再继续。无提醒 = 学习中断风险。\r\n\r\n6. **Manual reminder if not received (未收到提醒可手动执行)**:\r\n   ```bash\r\n   python3 scripts/srs.py reminder\r\n   ```\r\n\r\n7. **Check reminder status (检查提醒状态)**:\r\n   - **OpenClaw**: `python3 scripts/srs.py check-reminder`\r\n   - **Other platforms**: Verify using your platform's native mechanism (see Step 0.1 \"Reminder check at session start\")\r\n\r\n8. **Switch reminder channel (切换提醒渠道 — OpenClaw only)**:\r\n   ```bash\r\n   python3 scripts/srs.py switch-channel\r\n   ```\r\n\r\n---\r\n\r\n## 📚 Core Methodology (核心方法论 - 循证)\r\n\r\n| Method (方法) | Effect Size (效果量) | 执行层 | v1.5.0 目标 | Source (来源) |\r\n|---------------|---------------------|--------|------------|---------------|\r\n| Distributed Practice → 间隔重复 | d=0.85 | 🟢 代码级 | 🟢 | Donoghue & Hattie 2021 |\r\n| Practice Testing → 主动回忆 | d=0.74 | 🟢🟡 混合级 | 🟢🟡 | Donoghue & Hattie 2021 |\r\n| Self-Explanation → 费曼学习法 | d=0.54* | 🔵 AI协议级 | 🔵 | Donoghue & Hattie 2021 |\r\n| Interleaved Practice → 交错练习 | d=0.47 | 🔵 AI协议级 | → 🟢 代码级 | Donoghue & Hattie 2021 |\r\n| Elaborative Interrogation → 因果追问 | d=0.56 | 🔵 AI协议级 | 🔵 | Donoghue & Hattie 2021 |\r\n| AI Tutoring (AI 辅导) | 0.63-1.3 SD | 🟢🟡 混合级 | 🟢🟡 | Kestin et al. 2025 RCT |\r\n\r\n> **Note (注)**: *d=0.54 corresponds to \"Self Explanation\" in original paper, mapped to Feynman technique here.\r\n> *d=0.54 对应原文\"自我解释\"，此处映射为费曼学习法。\r\n> **Execution Layer (执行层)**: 🟢 代码强制执行 | 🟢🟡 代码框架+AI内容 | 🔵 AI在会话中执行\r\n\r\n---\r\n\r\n## 🔄 Complete Workflow: Five Steps (完整流程：五步启动)\r\n\r\n### Step 0: Learning Assessment (学习意愿评估)\r\n- User completes self-assessment questionnaire (主题、目标、水平、时间、偏好)\r\n- 用户完成自我评估问卷\r\n\r\n### Step 0.1: Learning Contract (学习契约)\r\n- Trigger: After Step 0, before Step 1\r\n- 触发时机：Step 0 完成后，Step 1 之前\r\n- AI generates a learning plan based on assessment\r\n- AI 助手根据评估生成学习计划\r\n- User can confirm, modify, or skip\r\n- 用户可以确认、修改或跳过\r\n\r\n**Output format (输出格式)**:\r\n```\r\n📅 学习时间\r\n- 每周学习天数：周一到周五（5 天）\r\n- 每天学习时间：晚上 8:00 - 9:00（1 小时）\r\n- 休息日：周六、周日（轻量复习）\r\n\r\n📚 学习节奏\r\n- 每个模块预计：3-5 天\r\n- 每天新概念：2-3 个\r\n- 每天复习：根据间隔重复算法（SM-2/FSRS-5）到期情况\r\n\r\n🎯 目标\r\n- 目标等级：L4 熟练\r\n- 预计总时长：30 小时\r\n- 预计完成日期：2026-06-15\r\n\r\n请确认以上计划，或告诉我需要调整的地方。\r\n你可以：\r\n1. 输入\"确认\"接受计划\r\n2. 输入\"修改\"调整学习时间\r\n3. 输入\"跳过\"使用默认设置\r\n```\r\n\r\n**Estimated duration formula (预计时长公式)**:\r\n```\r\n预计总时长 = 模块数 × 每模块平均Phase数 × 每Phase平均时长\r\n预计完成日期 = 当前日期 + 预计总时长 / (每日学习时长 × 每周学习天数)\r\n```\r\n\r\n**Scientific basis (科学依据)**: Gollwitzer (1999) - Implementation intentions. Specific plans increase execution rate by d=0.65.\r\n\r\n**Reminder creation (提醒创建)**:\r\nAfter user confirms the learning contract, AI MUST create a timed reminder:\r\n1. Extract learning time from the contract (e.g., \"每天 20:00\")\r\n2. **OpenClaw**: Run `python3 scripts/srs.py setup-reminder` (auto-detects channel + delivery target)\r\n3. **Other platforms**: Create a reminder using your platform's native mechanism, then tell the user the schedule\r\n4. Tell user: \"提醒已设置，每天 XX:XX 会提醒你学习\"\r\n5. If creation fails → tell user the fallback plan\r\n\r\n**Reminder check at session start (会话开始时提醒检查)**:\r\nEvery time a learning session starts, check if the user has a timed reminder.\r\n- If yes → continue normally\r\n- If no → create one (time from learning plan, message: \"该复习了！\")\r\n\r\n### Step 0.5: Pre-study Materials (预习材料 - 零基础专用)\r\n- Trigger: user self-assesses as \"complete beginner\"\r\n- 触发条件：用户自评\"完全零基础\"\r\n- AI searches beginner materials, creates \"quick overview\" (800-1500 words)\r\n- AI 助手搜索入门资料，精炼成\"快速概览\"\r\n\r\n### Step 1: Diagnostic Test (摸底考试)\r\n- 5-8 questions, covering basics to advanced\r\n- 5-8 道题，覆盖基础到进阶\r\n- ⚠️ Diagnostic test does NOT call record-test, NOT written to test_history\r\n- ⚠️ 摸底考试不调用 record-test，不写入 test_history\r\n\r\n### Step 2: Learning Path Customization (学习路径定制)\r\n- Step 2a: Industry research (web_search learning routes, job requirements)\r\n- Step 2a：行业调研（web_search 搜索学习路线、岗位要求）\r\n- Step 2b: Path generation (3-8 modules with goals, knowledge points, acceptance criteria)\r\n- Step 2b：路径生成（3-8 个模块，含目标、知识点、验收标准）\r\n- Step 2c: User confirmation before starting\r\n- Step 2c：用户确认后开始学习\r\n\r\n### Step 3-4: Learning Loop + Spaced Repetition (学习循环 + 间隔复习)\r\n- See [references/full-workflow.md](references/full-workflow.md)\r\n- 详见 [references/full-workflow.md](references/full-workflow.md)\r\n\r\n---\r\n\r\n## 📊 Level System L1-L5 (等级系统)\r\n\r\n| Level (等级) | Standard (标准) | Behavior (行为特征) |\r\n|--------------|-----------------|---------------------|\r\n| 🔴 L1 Entry (入门) | No test history or first <20% | Start from zero (从零开始) |\r\n| 🟠 L2 Beginner (初学) | First >=20% | Has concepts but not systematic (有概念但不系统) |\r\n| 🟡 L3 Intermediate (进阶) | 2 consecutive >=40% | Can apply independently (能独立应用) |\r\n| 🟢 L4 Proficient (熟练) | 2 consecutive >=70% | Can solve complex problems (能解决复杂问题) |\r\n| 🔵 L5 Mastery (精通) | 2 consecutive >=90% + Feynman check | Can teach others (能教会别人) |\r\n\r\n### Promotion/Demotion Rules (升降级规则)\r\n- Promotion: 2 consecutive passes (升级：连续 2 次达标)\r\n- Demotion: 3 consecutive failures, one level per check, min L2 (降级：连续 3 次不达标，每次只降一级，最低 L2)\r\n- Gradual degradation: knowledge fades continuously, not in steps (渐进衰减：知识连续衰减，非阶梯式)\r\n\r\n### Two Independent Dimensions (两个独立维度)\r\n- **Level (等级)** = Based on module test accuracy (权威)\r\n- **Review Status (复习状态)** = Based on concept mastery ratio (仅展示)\r\n\r\n---\r\n\r\n## 🔄 Learning Loop Per Module (学习循环 - 每模块)\r\n\r\n### Phase 0: Framework Building (框架搭建 - 10-15 min)\r\n- AI asks questions, guides discovery of core concepts\r\n- AI 助手提问，引导发现核心概念\r\n\r\n### Phase 1: Active Input (主动输入 - 25-40 min)\r\n- User studies materials, pause to recall every 15 min\r\n- 用户学习原始材料，每 15 分钟暂停回忆\r\n\r\n### Phase 2: Feynman Check (费曼检验 - 15-20 min)\r\n- User explains to AI, AI plays \"confused student\"\r\n- 用户向 AI 解释所学，AI 扮演\"不懂的学生\"追问\r\n- **Scoring**: 3 questions × 10 pts (Accuracy 4 + Depth 3 + Examples 3)\r\n- Each ≥7 pts = pass; all 3 must pass (与模块测试评分规则一致)\r\n\r\n### Phase 2.5: Simulation (实战模拟 - 15-20 min)\r\n- Recommend 2-3 scenarios, user chooses, execute 3-5 rounds\r\n- 推荐 2-3 个模拟场景，用户选择后执行 3-5 轮\r\n- Score by 5 dimensions (100 points), see scripts/scenarios.md\r\n- 按 5 维度打分（100分），见 scripts/scenarios.md\r\n\r\n### Phase 3: Test & Reinforce (测试巩固 - 15-20 min)\r\n- 5-8 mixed question types\r\n- 5-8 道混合题型测试\r\n- ⚠️ Must determine \"review\" or \"module test\"\r\n- ⚠️ 必须判定\"复习\"还是\"模块测试\"\r\n\r\n| Item (项目) | Review (复习) | Module Test (模块测试) |\r\n|-------------|---------------|------------------------|\r\n| Purpose (目的) | Strengthen memory (强化记忆) | Phase assessment (阶段性评估) |\r\n| Impact (影响) | No level change (不影响等级) | Determines level (决定等级升降) |\r\n| Command (命令) | srs.py rate | srs.py record-test |\r\n\r\n**Decision rule (判定规则)**:\r\n- First completion of a module → Module Test (`record-test`)\r\n- Retest after fixing weak areas → Module Test (`record-test`)\r\n- Daily review / spaced repetition due → Review (`rate`)\r\n- Rule of thumb: If the result could change the user's level → Module Test. Otherwise → Review.\r\n\r\n### Phase 4: Spaced Repetition (间隔复习 - SM-2/FSRS-5)\r\n- Based on spaced repetition schedule (SM-2 or FSRS-5, configurable), proactive reminders when due\r\n- 基于间隔重复时间表（SM-2 或 FSRS-5，可配置），到期主动提醒\r\n- Heartbeat check: `python3 scripts/srs.py due`\r\n- 心跳检查：`python3 scripts/srs.py due`\r\n\r\n---\r\n\r\n## ⚠️ Burnout Detection (倦怠检测)\r\n\r\n**Triggers (触发条件 - 任一)**:\r\n- 3+ consecutive wrong answers (连续答错 3 题以上)\r\n- 2 consecutive score drops (连续 2 次测试分数下降)\r\n- User says \"tired\" / \"too hard\" (用户主动说\"累了\"\"太难了\")\r\n\r\n**Response (响应)**: Lower difficulty, suggest break, switch to easy mode\r\n**响应**：降低难度、建议休息、切换轻松模式\r\n\r\n---\r\n\r\n## 🤖 AI Assistant Behavior (AI 助手行为规范)\r\n\r\n### ✅ Should Do (应该做的)\r\n- User asks question → First ask \"what do you think?\"\r\n- 用户问问题 → 先反问\"你是怎么想的？\"\r\n- User stuck → Give hints (not answer)\r\n- 用户卡住 → 给提示（不是答案）\r\n- **Before answering knowledge questions → web_search first**\r\n- **每次回答知识性问题前 → 先 web_search 验证**\r\n- **Level changes must inform user immediately**\r\n- **等级变化时必须主动告知用户**\r\n\r\n### ❌ Should Not Do (不应该做的)\r\n- Give complete answer directly (除非用户明确要求)\r\n- Only score without explanation after test (测试后只打分不解析)\r\n\r\n---\r\n\r\n## 🔍 Search-First Rules (搜索优先规则)\r\n\r\n**Iron rule: AI must search before answering any knowledge question**\r\n**铁律：AI 助手回答任何知识性问题前，必须先搜索验证**\r\n\r\n| Scenario (场景) | Must Search? (必须搜索?) |\r\n|-----------------|--------------------------|\r\n| User asks \"what is XX\" (用户问\"XX 是什么\") | ✅ |\r\n| Correct answer for test (出测试题的正确答案) | ✅ |\r\n| Feynman check judgment (费曼检验时判断对错) | ✅ |\r\n| Planning learning path (规划学习路径) | ✅ |\r\n| Basic common knowledge (基础常识) | ❌ |\r\n| Flow conversation (流程性对话) | ❌ |\r\n\r\n**Rule (规则)**: Factual statements must include source links\r\n**规则**：事实性陈述必须附来源链接\r\n\r\n---\r\n\r\n## 🔒 Session Checkpoint (会话检查点)\r\n\r\n### Phase Completion Checklist (Phase 完成自检)\r\n```\r\n□ Current phase core output completed? (当前 Phase 核心产出已完成?)\r\n□ If module test: record-test called? (如果模块测试：已调用 record-test?)\r\n□ Key progress written to session notes? (关键进展已写入会话笔记?)\r\n```\r\n\r\n### Check Commands (检测命令)\r\n```bash\r\npython3 scripts/srs.py check-session [topic]  # Check unrecorded tests\r\npython3 scripts/srs.py check-burnout <topic>   # Analyze burnout risk\r\n```\r\n\r\n---\r\n\r\n## 🧠 Memory Persistence (记忆持久化)\r\n\r\n### Dual System (双系统)\r\n\r\n| System (系统) | Stores (存什么) | Location (位置) |\r\n|---------------|-----------------|-----------------|\r\n| Platform notes (平台笔记) | Progress summary, weak points (进度摘要、薄弱点) | Use your platform's native notes/memory |\r\n| ~/learn/ | SRS data, concept mastery (间隔重复数据、概念掌握度) | ~/learn/topics/{topic}/concepts.json |\r\n\r\n### Recovery Priority (恢复优先级)\r\nconcepts.json > session notes (concepts.json > 笔记)\r\n> The critical data is in concepts.json. Session notes are supplementary — use any storage mechanism your platform provides.\r\n> 关键数据在 concepts.json。会话笔记是辅助性的——用你平台自带的任何存储方式。\r\n\r\n---\r\n\r\n## 💓 Review Reminders (复习提醒 - Heartbeat)\r\n\r\n```\r\nAI receives heartbeat → python3 scripts/srs.py due → Has due content → Notify user\r\nAI 助手收到心跳 → python3 scripts/srs.py due → 有到期内容 → 通知用户\r\n```\r\n\r\n**Delivery (投递)**: When sending reminders, use your platform's native messaging to the user's active channel. Do not rely on implicit target resolution.\r\n**发送提醒时**：使用你平台的原生消息机制发送到用户的活跃渠道。不要依赖隐式目标解析。\r\n\r\n---\r\n\r\n## ⚙️ Configuration (配置系统)\r\n\r\n```\r\n~/learn/config.json\r\n{\r\n  \"algorithm\": \"fsrs\",           // fsrs (default) / sm2\r\n  \"fsrs_weights\": null,          // Personalized FSRS weights (optimize-params generates)\r\n  \"learning_depth\": \"standard\",  // shallow / standard / deep\r\n  \"learner_type\": \"practical\",   // visual / practical / theoretical\r\n  \"daily_review_limit\": 20,\r\n  \"session_duration\": 60,\r\n  \"burnout_threshold\": 3,\r\n  \"mastery_threshold\": 0.8,\r\n  \"level_thresholds\": { \"L2\": 0.2, \"L3\": 0.4, \"L4\": 0.7, \"L5\": 0.9 },\r\n  \"learning_contract\": {},       // Saved by sign-contract (time, days, duration, target_level)\r\n  \"reminder_channels\": [],       // Managed by setup-reminder\r\n  \"active_channel\": null         // Current reminder channel\r\n}\r\n```\r\n\r\n---\r\n\r\n## 🧬 Personalized Parameters (个性化参数优化)\r\n\r\n**FSRS-5 支持个性化参数优化**，让算法适应每个用户的记忆特征。\r\n\r\n```bash\r\npython3 srs.py optimize-params\r\n```\r\n\r\n**前置条件**：\r\n- 需要 1,000+ 条 review 记录（FSRS 社区经验：低于此会过拟合）\r\n- 需要多样化的 rating 分布（>95% 相同 rating = 无效信号）\r\n- 建议每 2-3 个月优化一次，不要频繁优化\r\n\r\n**优化过程**：\r\n- 使用数值梯度下降（有限差分）最小化 BCE 损失\r\n- 优化 w[0]-w[14]（15/19 个参数）\r\n- 跳过 w[15]-w[18]（hard/easy 系数 + 短期学习参数，数据不足）\r\n- 结果保存到 config.json 的 `fsrs_weights` 字段\r\n\r\n**何时触发**：\r\n- 当用户积累了足够 review 数据时，AI 应主动建议运行 `optimize-params`\r\n- 新参数需要 2 周观察期才能评估效果\r\n\r\n---\r\n\r\n## 📋 Quick Command Reference (命令速查)\r\n\r\n**Core**: `init`, `add`, `review`, `rate`, `due`, `status`\r\n**Analytics**: `today`, `streak`, `analyze`, `weekly-report`, `reminder`\r\n**Tests**: `record-test`, `test-history`, `record-simulation`, `simulation-history`\r\n**Config**: `config`, `sign-contract`, `setup-reminder`, `optimize-params`\r\n**Diagnostics**: `profile`, `check-session`, `check-burnout`\r\n\r\n> Full CLI reference with examples: README.md\r\n\r\n---\r\n\r\n## 📚 References (参考材料)\r\n\r\n- **Full workflow (完整流程)**: references/full-workflow.md\r\n- **Scenario library (场景库)**: scripts/scenarios.md\r\n- **Academic citations (学术引用)**: scripts/evidence.md\r\n- **Level algorithm (等级算法)**: scripts/srs.py\r\n- **Output templates (输出模板)**: scripts/templates.md\r\n\r\n---\r\n\r\n## 🎯 Multi-Topic Support (多主题支持)\r\n\r\n| Priority (优先级) | Description (描述) | Example (示例) |\r\n|-------------------|-------------------|---------------|\r\n| 1-Urgent (紧急) | Deadline approaching (截止日期临近) | Exam prep (考试准备) |\r\n| 2-Important (重要) | Core skills (核心技能) | Programming (编程语言) |\r\n| 3-Regular (常规) | Daily learning (日常学习) | New tech (新技术) |\r\n| 4-Extended (扩展) | Broaden horizons (拓宽视野) | Related fields (相关领域) |\r\n| 5-Reserve (储备) | Future use (未来可能用到) | Learning list (待学习清单) |\r\n\r\n- Max 3 topics simultaneously (最多同时 3 个主题)\r\n- Each topic has independent concepts.json (每个主题独立的 concepts.json)\r\n- Reviews can cross topics - interleaving (复习可以跨主题 - 交错练习)\r\n\r\n---\r\n\r\n## 🆕 What's New in v1.4 (v1.4 更新)\r\n\r\n- **Multi-agent reminder**: sign-contract command + REMINDER_REQUIRED output for any platform\r\n- **Cross-platform**: compatible with OpenClaw, WorkBuddy, Claude Code, Hermes Agent\r\n- **SKILL.md**: platform-aware execution checklist, compact command reference\r\n- **srs.py**: `_is_openclaw_available()` platform detection + automatic fallback\r\n\r\n> Full changelog: [CHANGELOG.md on GitHub](https://github.com/kaixiad/RetainCraft/blob/main/CHANGELOG.md)\n\nFile v1.4.5:_meta.json\n\n{\n  \"ownerId\": \"kn72na7n2c9e64jehgd6p7navh86q2md\",\n  \"slug\": \"retaincraft\",\n  \"version\": \"1.4.5\",\n  \"publishedAt\": 1779608154537\n}\n\nFile v1.4.5:references/full-workflow.md\n\n# RetainCraft 完整工作流\r\n\r\n> **版本**: v1.4.0 | **更新日期**: 2026-05-22 | **状态**: 详细参考文档（SKILL.md 的扩展版）\r\n> 本文档包含 RetainCraft 的详细流程说明，供 AI 助手按需参考。\r\n\r\n---\r\n\r\n## 📚 核心方法论(循证)\r\n\r\n| 方法 | 效果量 | 来源 | 适用阶段 |\r\n|------|--------|------|----------|\r\n| 间隔重复 | d=0.85 | Donoghue & Hattie 2021 元分析 | 长期记忆巩固 |\r\n| 主动回忆 | d=0.74 | Donoghue & Hattie 2021 元分析 | 知识提取训练 |\r\n| 交错练习 | d=0.47 | Donoghue & Hattie 2021 元分析 | 灵活运用能力 |\r\n| 精细加工提问 | d=0.56 | Donoghue & Hattie 2021 元分析 | 深度加工 |\r\n| 费曼学习法 | d=0.54* | Donoghue & Hattie 2021 元分析 | 深度理解检验 |\r\n| AI 辅导 | 0.63-1.3 SD | Kestin et al. 2025 RCT (N=194) | 个性化学习 |\r\n\r\n> **注**：*d=0.54 对应原文\"自我解释\"（Self Explanation），此处映射为费曼学习法。严格来说，\"自我解释\"强调学习者解释自身认知过程，而\"费曼学习法\"强调向他人教授。两者在认知机制上有重叠但不完全等同，此处采用概念近似映射。\r\n> 所有 d 值均来自 Donoghue & Hattie (2021) 元分析（242 项研究，169,179 名参与者）。\r\n\r\n**参考**: scripts/evidence.md(详细引用和效果量)\r\n\r\n---\r\n\r\n## 🔄 完整流程:五步启动\r\n\r\n### Step 0:学习意愿评估(用户自我评价)\r\n\r\n在正式学习之前,让用户完成一份自我评估问卷。\r\n\r\n**输出格式**:\r\n```\r\n📋 学习自我评估问卷\r\n1. 你想学什么?[主题]\r\n2. 学完之后你想能做什么?[目标]\r\n3. 你当前的水平?[🔴零基础 / 🟡有点概念 / 🟢学过一些 / 🔵有基础]\r\n4. 每天能花多少时间学习?[X 分钟/小时]\r\n5. 有没有截止日期?\r\n6. 你更喜欢哪种学习方式?[阅读/视频/播客/实践/讨论]\r\n7. 之前用过什么方法学?效果如何?\r\n8. 你觉得自己的薄弱环节是什么?\r\n```\r\n\r\n### Step 0.1:学习契约(Learning Contract)\r\n\r\n在评估完成后，与用户确认学习契约，明确双方责任和预期。\r\n\r\n**学习契约内容**:\r\n```\r\n📝 学习契约\r\n\r\n学习者承诺:\r\n□ 每天投入 [X] 分钟学习时间\r\n□ 按时完成模块测试和复习任务\r\n□ 主动向 AI 助手反馈学习困难\r\n□ 遵循间隔重复的复习安排\r\n\r\nAI 助手承诺:\r\n□ 提供个性化的学习路径和材料\r\n□ 基于循证方法设计学习活动\r\n□ 及时记录学习进度和掌握度\r\n□ 在学习者疲劳时主动调整强度\r\n\r\n学习目标:\r\n□ 短期目标: [用户填写]\r\n□ 长期目标: [用户填写]\r\n□ 预期完成时间: [根据路径预估]\r\n\r\n确认方式: 用户回复\"我同意\"即视为契约生效\r\n```\r\n\r\n**契约的作用**:\r\n- 明确学习者的责任和承诺\r\n- 建立 AI 助手的服务标准\r\n- 作为后续学习效果评估的基准\r\n- 增强学习者的责任感和动力\r\n\r\n**技术实现**: 用户确认契约后，AI 助手调用：\r\n```bash\r\npython3 scripts/srs.py sign-contract '{\"time\":\"20:00\",\"days\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\"],\"duration\":60,\"target_level\":\"L4\"}'\r\n```\r\n代码保存契约到 config.json 并输出 `REMINDER_REQUIRED`，AI 助手根据输出创建平台对应的定时提醒。\r\n\r\n### Step 0.5:预习材料(零基础专用)\r\n\r\n**触发条件**:用户自评水平为\"完全零基础\"时自动启用。\r\n\r\n**AI助手做什么**:\r\n1. web_search 搜索该主题的入门资料\r\n2. 精炼成一份\"快速概览\"(800-1500 字)\r\n3. 用大白话写,避免术语\r\n4. 展示给用户,等待确认后再进入 Step 1\r\n\r\n**输出格式**:\r\n```\r\n📖 [主题] 快速概览\r\n\r\n1. 这个东西是什么?(一句话定义)\r\n2. 学了能做什么?(3 个实际用途)\r\n3. 核心概念(不超过 5 个,每个一句话解释)\r\n4. 常见误区(1-2 个)\r\n5. 推荐入门资源(1-2 个,附链接)\r\n\r\n---\r\n确认已阅读,回复\"继续\"进入摸底考试。\r\n```\r\n\r\n### Step 1:摸底考试(Pre-assessment Test)\r\n\r\n**目的**:客观测量用户当前水平\r\n\r\n**规则**:\r\n- 5-8 道题,覆盖从基础到进阶\r\n- 题型混合:概念理解 + 应用计算 + 分析判断\r\n- 告诉用户:\"凭直觉答,不会的就说不会,没关系\"\r\n\r\n**⚠️ 重要规则**:\r\n- 摸底考试不调用 record-test，不写入 test_history\r\n- 摸底成绩仅用于诊断当前水平，用于定制学习路径\r\n- 正式的等级评定从第一个模块测试开始\r\n\r\n### Step 2:学习路径定制(含行业调研)\r\n\r\n**Step 2a:行业调研(必须在规划前执行)**\r\n- web_search 搜索 \"[目标] 学习路线 2026\" / \"[目标] 岗位要求 / JD\"\r\n- web_search 搜索 \"[目标] 主流项目 / 实战教程\"\r\n- 提取:必备技能、加分技能、主流工具链、学习资源\r\n- 标注来源和搜索日期\r\n- ⚠️ 行业调研是强制步骤,不搜索就不能规划\r\n\r\n**Step 2b:路径生成**\r\n- 基于行业调研结果 + Step 0 用户水平 + Step 1 摸底成绩\r\n- 拆分为 3-8 个模块,每个模块包含:\r\n  - 学习目标(学完能做什么)\r\n  - 核心知识点(从搜索结果提取,标注来源)\r\n  - 验收标准(怎么证明学会了)\r\n  - 预估时间\r\n  - 推荐资源(附链接 + 发布日期)\r\n\r\n**Step 2c:用户确认**\r\n- 展示路径,用户可以调整顺序、增删模块\r\n- 用户确认后才开始学习\r\n\r\n**输出格式**:\r\n```\r\n🗺️ 个性化学习路径\r\n主题:[主题]\r\n目标:[目标]\r\n当前水平:[诊断结果]\r\n行业调研来源:[搜索结果链接]\r\n预估时间:[总时间]\r\n\r\n📚 模块列表\r\nModule 1: [名称] - [内容] - [验收标准] - [预估时间]\r\n  📖 推荐资源:[资源名称](链接) (发布日期)\r\nModule 2: ...\r\n```\r\n\r\n---\r\n\r\n## 🔄 学习循环(每模块)\r\n\r\n### Phase 0:框架搭建(10-15 min)\r\n- AI助手提问,引导发现核心概念\r\n- 用户尝试回答\r\n- 建立知识骨架\r\n\r\n### Phase 1:主动输入(25-40 min)\r\n- 用户学习原始材料(阅读/视频/实践)\r\n- 每 15 分钟暂停回忆\r\n- AI助手回答问题,不替用户学\r\n\r\n### Phase 2:费曼检验(15-20 min)\r\n- 用户向 AI助手解释所学内容\r\n- AI助手扮演\"不懂的学生\"追问\r\n- 暴露理解漏洞,引导自己发现\r\n\r\n**费曼检验评分标准(L5 必需)**:\r\n- 追问回答准确性(4 分):核心概念是否正确\r\n- 追问回答深度(3 分):是否解释了\"为什么\"而不只是\"是什么\"\r\n- 追问回答举例(3 分):是否给出了具体例子\r\n- 单问 >= 7 分算通过,3 问全部通过才算费曼检验通过\r\n- 和模块测试的\"单题 >=7 分算答对\"规则一致\r\n\r\n### Phase 2.5:实战模拟(15-20 min)\r\n- AI助手根据学习主题推荐 2-3 个模拟场景\r\n- 用户选择一个场景\r\n- AI助手宣布\"现在我切换为 [角色名],模拟开始\"\r\n- 用户输入 prompt → 模拟角色响应(3-5 轮)\r\n- 模拟结束,AI助手宣布\"模拟结束,切换回用户角色\"\r\n- 按 5 维度打分(100分)，具体维度见 scripts/scenarios.md 中的主题专用评分表\r\n- 执行 `srs.py record-simulation` 记录数据\r\n\r\n**参考**: scripts/scenarios.md(场景库示例 + 主题专用评分维度)\r\n\r\n### Phase 3:测试巩固(15-20 min)\r\n- 5-8 道混合题型测试\r\n- 逐题详细解析\r\n- 错题记录 + 掌握度评分\r\n\r\n**测试题型分配(按等级)**:\r\n- L1-L2:70% 概念回忆 + 20% 应用 + 10% 分析\r\n- L3:50% 概念回忆 + 30% 应用 + 20% 分析\r\n- L4:30% 概念回忆 + 35% 应用 + 25% 分析 + 10% 对比\r\n- L5:20% 概念回忆 + 30% 应用 + 30% 分析 + 20% 对比\r\n\r\n**Phase 3 类型判定(AI助手必须在出题前确认)**:\r\n- 复习 → 只更新间隔重复状态(不调用 record-test)\r\n- 模块测试 → 必须调用 record-test,决定等级升降\r\n\r\n**📌 复习 vs 模块测试(重要区分)**:\r\n\r\n| 项目 | 复习 | 模块测试 |\r\n|------|------|----------|\r\n| 目的 | 强化记忆 | 阶段性评估 |\r\n| 影响 | 不影响等级 | 决定等级升降 |\r\n| 题型 | 概念回忆为主 | 按等级分配题型 |\r\n| 记录 | 间隔重复状态更新(FSRS-5/SM-2) | test_history 记录 |\r\n| 命令 | srs.py rate | srs.py record-test |\r\n\r\n**Phase 3 结束后自检(必须执行)**:\r\n- □ 是否已判定本次是\"复习\"还是\"模块测试\"?\r\n- □ 如果是模块测试,是否已执行 record-test?\r\n- □ 是否已显示总分和答对率?\r\n- □ 是否已显示等级判定结果?\r\n\r\n**模块测试后行为指南**:\r\n\r\n| 测试结果 | AI 助手行为 |\r\n|----------|------------|\r\n| 答对率 >=70% | 确认通过,进入下一模块 |\r\n| 答对率 40-69% | 分析错题,建议重学薄弱知识点后重测当前模块 |\r\n| 答对率 <40% | 建议回到 Phase 0 重新搭建框架,降低难度重新学习 |\r\n| 连续 2 次 <40% | 触发倦怠检测,建议休息或切换学习方式 |\r\n\r\n- 重测时,出题应覆盖上次错题的知识点\r\n- 不要跳过薄弱模块直接学下一个——基础不牢会连锁影响后续模块\r\n- 如果用户坚持要继续,记录建议但尊重用户选择\r\n\r\n### Phase 4:间隔复习(FSRS-5 默认,SM-2 备选)\r\n- **默认算法**: FSRS-5 (IEEE TKDE 2023)，ML-based，19 个可优化参数\r\n- **备选算法**: SM-2 (Wozniak 1987)，通过 `config set algorithm sm2` 切换\r\n- **FSRS-5 核心**: 幂律遗忘曲线 R(t,S) = (1+FACTOR×t/S)^DECAY\r\n- **FSRS-5 评分**: wrong→稳定性骤降，hard→小增，good→正常增，easy→大增\r\n- **个性化**: 积累 1000+ 次 review 后可运行 `optimize-params` 优化参数\r\n- SM-2 备选: ease_factor 初始 2.5,good/hard/easy/wrong 四种评分公式\r\n\r\n**optimize-params 命令**:\r\n```bash\r\npython3 scripts/srs.py optimize-params [topic]\r\n```\r\n- **触发条件**: 积累 1000+ 次 review 记录后\r\n- **功能**: 基于用户历史数据，使用机器学习优化 FSRS-5 的 19 个参数\r\n- **输出**: 个性化参数，自动保存到 `config.json` 的 `fsrs_weights` 字段\r\n- **效果**: 提升复习调度精度，使间隔更贴合个人记忆特点\r\n- **建议**: 每 6 个月或积累 2000+ 次 review 后重新优化\r\n\r\n**⚠️ 本节描述仅供参考,以 scripts/srs.py 源码为准。**\r\n\r\n**触发机制**:\r\n- 基于 FSRS-5/SM-2 时间表，到期主动提醒\r\n- 心跳检查: `python3 scripts/srs.py due`\r\n- 有到期内容 → 发送复习提醒\r\n- 没有 → HEARTBEAT_OK\r\n\r\n**交互流程**:\r\n```\r\nAI发起: \"你有 N 个概念需要复习，现在开始吗？\"\r\n├── 用户选择: 立即开始 / 稍后提醒 / 跳过\r\n├── 稍后提醒: 记录时间，下次心跳检查\r\n├── 跳过: 更新下次复习时间，不扣分\r\n└── 立即开始:\r\n    ├── AI出题: 根据概念生成测试题\r\n    ├── 学习者作答\r\n    ├── AI反馈: 逐题解析 + 标记弱点\r\n    └── 更新复习日历: srs.py rate <topic> <concept> <rating>\r\n```\r\n\r\n**用户可选**:\r\n- 立即开始: 进入复习流程\r\n- 稍后提醒: 记录时间，下次心跳检查\r\n- 跳过: 更新下次复习时间，不扣分\r\n\r\n**AI助手执行指令**:\r\n1. 对每个答错的概念，调用 `srs.py add <topic> <concept>` 确保概念存在\r\n2. 根据答对/答错情况，调用 `srs.py rate <topic> <concept> <rating>` 更新间隔重复状态(FSRS-5/SM-2)\r\n   - rating 取值：easy / good / hard / wrong\r\n   - 示例：`python3 scripts/srs.py rate 线性代数 矩阵乘法 good`\r\n3. 注意：`srs.py review` 是交互式命令（需要用户输入），AI 助手不可直接调用。应使用 `srs.py rate` 逐步更新概念状态\r\n\r\n### v1.3.0 新增命令\r\n\r\n**今日学习概览**:\r\n```bash\r\npython3 scripts/srs.py today [topic]\r\n```\r\n- 显示今日待复习概念、新概念数量、预计学习时长\r\n- 可选按 topic 过滤，不指定则显示所有主题\r\n\r\n**学习连续天数**:\r\n```bash\r\npython3 scripts/srs.py streak [topic]\r\n```\r\n- 显示当前连续学习天数、最长连续记录\r\n- 激励用户保持学习习惯\r\n\r\n**学习分析报告**:\r\n```bash\r\npython3 scripts/srs.py analyze [topic] [--period 7d|30d|all]\r\n```\r\n- 生成学习效果分析：答对率趋势、薄弱知识点、学习效率\r\n- 支持按时间范围筛选\r\n- 输出可视化数据（供 AI 助手解读给用户）\r\n\r\n---\r\n\r\n## 📊 等级系统(L1-L5)\r\n\r\n### 等级判定算法(权威标准)\r\n\r\n**算法流程**:\r\n1. 初始等级 = L1\r\n2. L1→L2:前 2 次测试平均答对率 >= 20%\r\n3. 遍历所有相邻测试对,检查是否满足下一级阈值:\r\n   - L2→L3:连续 2 次 >= 40%\r\n   - L3→L4:连续 2 次 >= 70%\r\n   - L4→L5:连续 2 次 >= 90%\r\n4. 每次匹配成功只升一级,不能跳级\r\n\r\n**⚠️ 算法已在 srs.py 中实现,SKILL.md 不重复写伪代码。**\r\n\r\n### 等级标准\r\n\r\n| 等级 | 标准 | 行为特征 |\r\n|------|------|----------|\r\n| 🔴 L1 入门 | 无模块测试记录,或首次模块测试答对率 <20% | 从零开始,需要基础概念讲解 |\r\n| 🟠 L2 初学 | 首次模块测试答对率 >=20%(L3 需连续 2 次达标) | 有概念但不系统,需要框架搭建 |\r\n| 🟡 L3 进阶 | 连续 2 次模块测试答对率 >=40% | 能独立应用基本概念 |\r\n| 🟢 L4 熟练 | 连续 2 次模块测试答对率 >=70% | 能解决复杂问题,理解深层原理 |\r\n| 🔵 L5 精通 | 连续 2 次模块测试答对率 >=90% + 费曼检验通过* | 能教会别人,知识完全内化 |\r\n\r\n> *注:L5 的费曼检验是 AI 助手执行的附加验证流程,不在 srs.py 代码中强制执行。srs.py 仅基于测试答对率进行等级判定。\r\n\r\n### 升降级规则\r\n\r\n**升级规则**：\r\n- L1→L2:前 2 次测试平均答对率 >= 20%\r\n- L2→L3:连续 2 次模块测试答对率 >=40%\r\n- L3→L4:连续 2 次模块测试答对率 >=70%\r\n- L4→L5:连续 2 次模块测试答对率 >=90% + 费曼检验 3 问全对\r\n\r\n**降级规则**（硬约束，已写入 srs.py）：\r\n- 连续 3 次测试低于当前等级阈值 → 降一级\r\n- 升级要 2 次达标，降级要 3 次不达标——升容易降难\r\n- 注：最低降到 L2。L1 只在无测试历史时触发\r\n- 每次检查只降一级，不连续降级\r\n\r\n**降级阈值**：\r\n- L3: 0.4 (40%)\r\n- L4: 0.7 (70%)\r\n- L5: 0.9 (90%)\r\n- 注：L2 为最低等级，不会降级到 L1\r\n\r\n### 两个独立维度\r\n\r\n- **等级** = 基于模块测试答对率(权威,用于升级判定)\r\n- **间隔重复状态** = 基于概念 mastered 比例(仅用于展示,不用于等级判定)\r\n- 两者独立计算,不混用\r\n\r\n---\r\n\r\n## 🎭 实战模拟(详细规范)\r\n\r\n### 目的\r\n通过模拟真实场景,检验用户的实战能力\r\n\r\n### 适用条件\r\n- 学习主题有明确的实战应用场景\r\n- 用户已完成 Phase 2(费曼检验)\r\n- 用户愿意尝试模拟\r\n\r\n### 执行流程\r\n```\r\nStep 1: 选择模拟场景\r\n└── AI助手根据学习主题推荐 2-3 个场景,用户选择\r\n\r\nStep 2: 加载场景角色设定\r\n└── 从 scripts/scenarios.md 中读取对应场景的 system prompt\r\n\r\nStep 3: 角色切换\r\n└── AI助手明确宣布:\"现在我切换为 [角色名],模拟开始\"\r\n└── 从此刻起,AI助手只按角色设定行动\r\n\r\nStep 4: 执行模拟(3-5 轮)\r\n└── 用户输入 prompt → 模拟角色响应 → 循环\r\n\r\nStep 5: 模拟结束 + 评估\r\n└── AI助手宣布:\"模拟结束,切换回用户角色\"\r\n└── 按 5 维度打分(100分)\r\n└── 输出评估报告\r\n\r\nStep 6: 记录\r\n└── srs.py record-simulation <topic> <scenario> <score> --rounds N\r\n```\r\n\r\n### 模拟模式\r\n统一用主会话模式(不 spawn 子会话)\r\n- 原因:某些渠道不支持 thread binding,spawn 子会话无法直接交互\r\n- 风险评估:短模拟(3-5 轮)在主会话内做是安全的,上下文污染风险很低\r\n\r\n### 评估维度\r\n\r\n按学习主题选择专用评分维度，见 scripts/scenarios.md 中的\"可配置评分维度\"章节。\r\n\r\n### 等级判定规则\r\n\r\n**等级判定来源(按优先级)**:\r\n1. 模块测试答对率(权威,连续 2 次达标才升级)\r\n2. 模拟得分(辅助,作为\"实战能力证明\")\r\n\r\n**两者关系**:\r\n- 模块测试达标 → 直接升级\r\n- 模块测试未达标 + 模拟得分 > 70 → 标记为\"实战能力达标,建议做模块测试确认\"\r\n- 两者都未达标 → 不升级\r\n\r\n---\r\n\r\n## ⚠️ 倦怠检测\r\n\r\n在每次测试后自动检查:\r\n\r\n**触发条件(任一)**:\r\n- 连续答错 3 题以上\r\n- 连续 2 次测试分数下降\r\n- 用户主动说\"累了\"\"不想学了\"\"太难了\"\r\n\r\n**响应**:\r\n1. 降低当前测试难度(出基础题替代进阶题)\r\n2. 建议休息 10-15 分钟\r\n3. 如果用户坚持继续,切换到轻松模式(复习已掌握的内容,不学新内容)\r\n\r\n---\r\n\r\n## 🤖 AI助手行为规范\r\n\r\n### ✅ 应该做的\r\n- 用户问问题 → 先反问\"你是怎么想的?\"\r\n- 用户卡住 → 给提示(不是答案),再想 3 分钟\r\n- 用户答对 → 确认 + 追问\"为什么是这样?\"\r\n- 用户答错 → 问\"你能再检查一下第 X 步吗?\"\r\n- 用户说\"我懂了\" → 用新场景测试确认\r\n- 学习结束 → 总结 + 掌握度 + 下次复习时间\r\n- **每次回答知识性问题前 → 先 web_search 验证,不靠记忆编造**\r\n- **每次给出数据/引用 → 附上真实来源链接**\r\n- **学习结束时 → 更新 memory/ 和 ~/learn/ 两个系统**\r\n- **答对率下降时 → 提醒用户复习，如\"你的答对率下降了，需要加强复习\"**\r\n- **等级变化时（升级或降级）必须主动告知用户，并说明原因和恢复路径**\r\n\r\n### ❌ 不应该做的\r\n- 直接给完整答案(除非用户明确要求)\r\n- 用户刚学完就立刻总结(让他先回忆)\r\n- 用户说不会就立刻解释(先问卡在哪里)\r\n- 测试后只打分不解析\r\n- 用户疲劳时继续高强度\r\n\r\n### 知识准确性规范\r\n- **简单事实类问题** → 从记忆回答,但标注\"据我所知\"\r\n- **官方标准类问题** → 必须搜索验证后再教,不能凭记忆编\r\n- **不确定的知识** → 宁可说\"我不确定,让我搜索一下\"\r\n- **核心原则**:区分\"我知道的\"和\"我猜的\"\r\n\r\n### 学习材料生成规范(防幻觉)\r\n- 写学习材料前 → web_search 搜索 \"[知识点] 最新文档 / 官方文档\"\r\n- 标注使用的文档版本和发布日期\r\n- 如果文档超过 2 年 → 标注\"内容可能过时,建议查看最新版本\"\r\n- 推荐学习资源时 → web_search 验证链接有效,优先近 1 年内的官方文档\r\n\r\n### 角色切换\r\n\r\n| 阶段 | 角色 | 职责 |\r\n|------|------|------|\r\n| Step 0 + 0.5 + 1 + 2 | 引导者 | 评估用户水平、定制学习路径 |\r\n| Phase 0 + 1 + 2 | 教练 | 引导学习、费曼检验 |\r\n| Phase 2.5 | 模拟角色 | 扮演模拟场景中的角色 |\r\n| Phase 3 + 4 | 考官 | 测试巩固、间隔复习 |\r\n\r\n---\r\n\r\n## 🔍 搜索优先规则(防幻觉核心机制)\r\n\r\n**铁律:AI助手回答任何知识性问题前,必须先搜索验证。**\r\n\r\n### 什么时候必须搜索\r\n\r\n| 场景 | 必须搜索? | 怎么搜 |\r\n|------|-----------|--------|\r\n| 用户问\"XX 是什么\" | ✅ | web_search 查定义 + web_fetch 读原文 |\r\n| 出测试题的正确答案 | ✅ | web_search 验证,确保答案准确 |\r\n| 费曼检验时判断用户对错 | ✅ | 不靠记忆判断,搜一下确认 |\r\n| 用户说了一个事实,AI助手要评价 | ✅ | 搜索验证后再评价 |\r\n| 复习时出题 | ✅ | 搜索确认答案再出题 |\r\n| 规划学习路径 | ✅ | web_search 搜索岗位 JD / 学习路线,标注日期 |\r\n| 写学习材料 | ✅ | web_search 搜索最新文档,优先官方文档 |\r\n| 推荐学习资源 | ✅ | web_search 验证链接有效 + 标注发布日期,优先近 1 年内容 |\r\n| 流程性对话(\"开始吧\"\"休息一下\") | ❌ | 不需要搜索 |\r\n| 鼓励性话语(\"做得好\") | ❌ | 不需要搜索 |\r\n\r\n### 搜索后怎么给用户\r\n```\r\nAI助手:矩阵乘法不满足交换律。\r\n        来源:[Wikipedia - Matrix multiplication]\r\n        (https://en.wikipedia.org/wiki/Matrix_multiplication#Non-commutativity)\r\n```\r\n\r\n**规则**:\r\n- 事实性陈述 → 必须附来源链接\r\n- 数据/数字 → 必须注明出处和年份\r\n- 不确定的 → 说\"我不确定,让我查一下\",然后真的去查\r\n- 查不到的 → 说\"我找不到可靠来源,建议你去查 [具体方向]\"\r\n- **绝对不要编造链接**--搜不到就说搜不到\r\n\r\n---\r\n\r\n## 🔒 Session Checkpoint 机制\r\n\r\n> **设计理念**: 参考 LangGraph checkpoint 设计,将学习流程视为状态机,在每个关键阶段结束时强制保存状态,防止 AI 因上下文遗忘而丢失进度。\r\n\r\n### Phase 完成自检(每个 Phase 结束时必须执行)\r\n\r\n```\r\nPhase X 完成 → AI 助手必须执行以下检查:\r\n  □ 1. 当前 Phase 的核心产出是否已完成?\r\n  □ 2. 如果 Phase 3 模块测试:是否已调用 record-test?\r\n  □ 3. 如果 Phase 4 间隔复习:是否已调用 rate 更新每个概念?\r\n  □ 4. 如果 Phase 2.5 实战模拟:是否已调用 record-simulation?\r\n  □ 5. 是否已将关键进展写入会话笔记?\r\n  □ 6. 用户是否已确认可以进入下一阶段?\r\n```\r\n\r\n### 违检检测命令\r\n\r\nAI 助手可在学习 session 开始或结束时调用以下命令进行一致性检查:\r\n\r\n```bash\r\n# 检测是否有未记录的模块测试(默认 2 小时内无记录视为 stale)\r\npython3 scripts/srs.py check-session [topic]\r\n\r\n# 分析指定 topic 的倦怠风险\r\npython3 scripts/srs.py check-burnout <topic> [--window N]\r\n```\r\n\r\n**check-session 用法**:\r\n- 在 session 开始时调用:确认上一次 session 是否正确关闭\r\n- 如果显示 [STALE]:说明上次可能遗漏了 record-test,提醒用户\r\n- 如果显示 [OK]:上次 session 正常关闭\r\n\r\n**check-burnout 用法**:\r\n- 在 session 开始时调用:了解用户当前学习状态\r\n- 返回 risk 等级: low / medium / high\r\n- high 风险时自动建议休息或切换主题\r\n\r\n### 状态保存时间线\r\n\r\n```\r\nPhase 0 完成 → 会话笔记更新进度\r\nPhase 1 完成 → 会话笔记更新进度\r\nPhase 2 完成 → 会话笔记更新进度 + 费曼检验记录\r\nPhase 2.5 完成 → record-simulation + 会话笔记更新\r\nPhase 3 完成 → record-test(模块测试) 或 rate(复习) + 会话笔记更新\r\nPhase 4 完成 → rate 每个复习概念 + 会话笔记更新\r\nsession 结束 → check-session 验证 + 会话笔记最终更新\r\n```\r\n\r\n---\r\n\r\n## 🧠 记忆持久化方案\r\n\r\n### 双系统分工\r\n\r\n| 系统 | 存什么 | 位置 | 谁读 |\r\n|------|--------|------|------|\r\n| **平台笔记** | 学习进度摘要、薄弱点、上次学到哪 | 使用平台原生的笔记/记忆系统 | AI助手每次启动自动读 |\r\n| **~/learn/** | FSRS-5/SM-2 算法数据、概念掌握度、配置 | `~/learn/topics/{topic}/concepts.json` | `srs.py` 脚本读写 |\r\n\r\n### 数据文件清单\r\n\r\n| 文件 | 位置 | 用途 | 格式 |\r\n|------|------|------|------|\r\n| `concepts.json` | `~/learn/topics/{topic}/` | 概念掌握度、间隔重复状态 | JSON 对象 |\r\n| `test_history.json` | `~/learn/topics/{topic}/` | 模块测试历史记录、等级变化 | JSON 数组 |\r\n| `learning_log.json` | `~/learn/topics/{topic}/` | 学习活动日志（费曼检验、模拟等） | JSON 数组 |\r\n| `config.json` | `~/learn/` | 全局配置（算法选择、阈值等） | JSON 对象 |\r\n| `profile.json` | `~/learn/` | 用户画像（学习偏好、历史统计） | JSON 对象 |\r\n\r\n### 恢复优先级\r\nconcepts.json > memory 文件\r\n- concepts.json 是算法数据,更可靠\r\n- memory 文件是人工记录,可能过时或错误\r\n- 矛盾时以 concepts.json 为准\r\n\r\n### 恢复流程\r\n```\r\nAI助手启动 →\r\n  1. 读 ~/learn/topics/{topic}/concepts.json → 知道哪些概念掌握(权威)\r\n  2. python3 scripts/srs.py due → 知道今天该复习什么\r\n  3. python3 scripts/srs.py test-history {topic} → 知道等级和测试历史\r\n  4. python3 scripts/srs.py check-session {topic} → 检查上次 session 是否正常关闭\r\n  5. 读 memory/YYYY-MM-DD.md(最近的)→ 补充上下文\r\n  6. 如果 memory 和 concepts.json 矛盾 → 以 concepts.json 为准\r\n```\r\n\r\n---\r\n\r\n## 💓 复习提醒(Heartbeat 集成)\r\n\r\n### 心跳时做什么\r\n```\r\nAI助手收到心跳 →\r\n  1. python3 scripts/srs.py due → 检查是否有到期复习\r\n  2. 如果有 → 向用户发送复习提醒\r\n  3. 如果没有 → HEARTBEAT_OK\r\n```\r\n\r\n### HEARTBEAT.md 配置\r\n```markdown\r\n## 📚 学习复习检查\r\n- 执行: python3 scripts/srs.py due\r\n- 有到期内容 → 通知用户\r\n- 没有 → HEARTBEAT_OK\r\n```\r\n\r\n---\r\n\r\n## ⚙️ 配置系统\r\n\r\n```\r\n~/learn/config.json\r\n{\r\n  \"learning_depth\": \"standard\",    // shallow / standard / deep\r\n  \"learner_type\": \"practical\",     // visual / practical / theoretical\r\n  \"daily_review_limit\": 20,         // 每日复习上限\r\n  \"session_duration\": 60,           // 单次学习时长(分钟)\r\n  \"burnout_threshold\": 3,           // 连续错题触发倦怠检测的阈值\r\n  \"mastery_threshold\": 0.8,         // 答对率超过此值视为掌握\r\n  \"algorithm\": \"fsrs\",              // 算法选择：fsrs(默认) 或 sm2\r\n  \"fsrs_weights\": null,             // FSRS 个性化参数（optimize-params 生成，初始为 null）\r\n  \"level_thresholds\": {             // 等级升降阈值\r\n    \"L2\": 0.2,\r\n    \"L3\": 0.4,\r\n    \"L4\": 0.7,\r\n    \"L5\": 0.9\r\n  }\r\n}\r\n```\r\n\r\n**配置字段说明**:\r\n\r\n| 字段 | 谁读 | 用途 |\r\n|------|------|------|\r\n| `learning_depth` | AI 助手 | 控制讲解深度：shallow(只要记住)、standard(理解怎么做)、deep(理解为什么) |\r\n| `learner_type` | AI 助手 | 控制教学风格：visual(多用图表)、practical(多用实例)、理论(多用原理推导) |\r\n| `daily_review_limit` | srs.py | 每天最多复习多少个概念 |\r\n| `session_duration` | AI 助手 | 单次学习时长上限(分钟),用于安排内容量 |\r\n| `burnout_threshold` | AI 助手 | 连续答错多少题触发倦怠检测 |\r\n| `mastery_threshold` | srs.py | 掌握度判定：答对率超过此值视为\"mastered\" |\r\n| `algorithm` | srs.py | 算法选择：`fsrs`(默认) 或 `sm2` |\r\n| `fsrs_weights` | srs.py | FSRS 个性化参数（optimize-params 生成） |\r\n| `level_thresholds` | srs.py | 等级升降的答对率阈值,已在代码中强制执行 |\r\n\r\n> **注**: `learning_depth` 和 `learner_type` 是给 AI 助手读取的配置信息,AI 助手应根据这些值调整教学行为。srs.py 不使用这两个字段。\r\n\r\n---\r\n\r\n## 📚 参考材料\r\n\r\n- **场景库示例**:scripts/scenarios.md\r\n- **学术引用和效果量**:scripts/evidence.md\r\n- **等级判定算法**:scripts/srs.py(源码为准)\r\n- **学习模板库**:scripts/templates.md\r\n- **模板数据文件**:learning-templates.json\r\n\r\n---\r\n\r\n## 🎯 多主题支持\r\n\r\n### 优先级队列\r\n\r\n每个学习主题独立进度，按优先级排列：\r\n\r\n| 优先级 | 描述 | 示例 |\r\n|--------|------|------|\r\n| 1-紧急 | 截止日期临近、考试在即 | 期末考试、面试准备 |\r\n| 2-重要 | 核心技能、职业发展 | 编程语言、专业认证 |\r\n| 3-常规 | 日常学习、兴趣探索 | 新技术、爱好 |\r\n| 4-扩展 | 拓宽视野、跨领域 | 相关领域、软技能 |\r\n| 5-储备 | 未来可能用到、暂时搁置 | 待学习清单 |\r\n\r\n### 主题切换机制\r\n\r\n**用户主动切换**:\r\n- 用户说\"我想学 XX\" → 切换到该主题\r\n- AI助手询问:\"要暂停当前主题吗？还是并行学习？\"\r\n\r\n**遗忘曲线触发**:\r\n- 某个主题超过 7 天没有复习 → 主动提醒\r\n- \"你已经 7 天没复习 Python 了，要安排复习吗？\"\r\n\r\n**关联提示**:\r\n- 学习新主题时，发现与已有主题有关联 → 提示\r\n- \"你学的这个概念和之前学的 XX 有关联，要一起复习吗？\"\r\n\r\n### 并行学习规则\r\n\r\n- 最多同时进行 3 个主题（避免分散精力）\r\n- 每个主题独立的 concepts.json 和 test_history\r\n- 每次学习 session 专注于一个主题\r\n- 复习可以跨主题（交错练习）\n\nFile v1.4.5:scripts/evidence.md\n\n# 学术引用和效果量\r\n\r\n> 本文档包含 SKILL.md 中引用的学术研究和效果量，供参考。\r\n> 所有引用均经过溯源验证，确保准确性。\r\n\r\n---\r\n\r\n## 核心方法论（循证）\r\n\r\n| 方法 | 效果量 (d) | 来源 | 原始编码类别 | 适用阶段 | 落地层级 |\r\n|------|-----------|------|-------------|----------|----------|\r\n| 间隔重复 | 0.85 | Donoghue & Hattie 2021 | Distributed Practice | 长期记忆巩固 | 🟢 代码级 |\r\n| 主动回忆 | 0.74 | Donoghue & Hattie 2021 | Practice Testing | 知识提取训练 | 🟢🟡 混合级 |\r\n| 精细加工提问→因果追问 | 0.56 | Donoghue & Hattie 2021 | Elaborative Interrogation | 深度加工 | 🔵 AI协议级 |\r\n| 自我解释→费曼学习法 | 0.54 | Donoghue & Hattie 2021 | Self Explanation | 深度理解检验 | 🔵 AI协议级 |\r\n| 交错练习 | 0.47 | Donoghue & Hattie 2021 | Interleaved Practice | 灵活运用能力 | 🔵 AI协议级 |\r\n| AI 辅导 | 0.63-1.3 SD | Kestin et al. 2025 | RCT (N=194) | 个性化学习 | 🟢🟡 混合级 |\r\n\r\n> **注**：效果量 d 值均来自 Donoghue & Hattie (2021) 元分析，基于 242 项研究、1,619 个效果量、169,179 名参与者。\r\n> \"自我解释\"（Self Explanation）映射为\"费曼学习法\"，两者认知过程高度重合，但严格来说属于概念近似。\r\n\r\n---\r\n\r\n## 详细引用\r\n\r\n### R1: Donoghue & Hattie (2021)\r\n\r\n**完整引用**：\r\nDonoghue, G. M., & Hattie, J. A. C. (2021). A meta-analysis of ten learning techniques. *Frontiers in Education*, 6, 581216. https://doi.org/10.3389/feduc.2021.581216\r\n\r\n**来源**：\r\n- 期刊：Frontiers in Education（同行评审期刊）\r\n- DOI：10.3389/feduc.2021.581216\r\n- 发表日期：2021年3月31日\r\n- 全文链接：https://www.frontiersin.org/journals/education/articles/10.3389/feduc.2021.581216/full\r\n\r\n**研究规模**：\r\n- 242 项研究\r\n- 1,619 个效果量\r\n- 169,179 名独特参与者\r\n- 总体平均效果量：0.56\r\n\r\n**核心效果量数据**：\r\n\r\n| 学习技巧 | Dunlosky分类 | 案例数 | 效果量 (d) | 标准误 |\r\n|----------|-------------|--------|-----------|--------|\r\n| 分布式练习 (Distributed Practice) | 高 | 150 | **0.85** | 0.053 |\r\n| 实践测试 (Practice Testing) | 高 | 374 | **0.74** | 0.04 |\r\n| 精细询问 (Elaborative Interrogation) | 中等 | 254 | **0.56** | 0.048 |\r\n| 意象 (Imagery) | 低 | 135 | **0.56** | 0.061 |\r\n| 自我解释 (Self Explanation) | 中等 | 93 | **0.54** | 0.092 |\r\n| 助记术 (Mnemonics) | 低 | 107 | **0.50** | 0.104 |\r\n| 重读 (Rereading) | 低 | 113 | **0.47** | 0.06 |\r\n| 交错练习 (Interleaved Practice) | 中等 | 104 | **0.47** | 0.089 |\r\n| 划线 (Highlighting) | 低 | 56 | **0.44** | 0.115 |\r\n| 总结 (Summarization) | 低 | 234 | **0.44** | 0.055 |\r\n\r\n**关键发现**（按效果量 d 值分组，非 Dunlosky 效用分类）：\r\n- 高效果量（d > 0.70）：分布式练习、实践测试\r\n- 中效果量（d 0.54-0.69）：精细询问、意象、自我解释\r\n- 低效果量（d < 0.53）：助记术、重读、交错练习、划线、总结\r\n> **注意**：此分组基于 Donoghue & Hattie (2021) 的效果量 d 值，与 Dunlosky et al. (2013) 的效用分类（高/中/低效用）是不同的评价体系。例如，交错练习在 Dunlosky 分类中属于\"中等效用\"，但其 d=0.47 在效果量分组中归入\"低效果量\"区间。\r\n- 效果量在表面学习（d=0.60）中高于深度学习（d=0.26）\r\n- 近迁移（d=0.61）效果显著高于远迁移（d=0.39）\r\n\r\n**落地层级**：⚪ 理论基准 — 效果量数据，不参与代码\r\n\r\n---\r\n\r\n### R2: Dunlosky et al. (2013)\r\n\r\n**完整引用**：\r\nDunlosky, J., Rawson, K. A., Marsh, E. J., Nathan, M. J., & Willingham, D. T. (2013). Improving students' learning with effective learning techniques: Promising directions from cognitive and educational psychology. *Psychological Science in the Public Interest*, 14(1), 4-58. https://doi.org/10.1177/1529100612453266\r\n\r\n**来源**：\r\n- 期刊：Psychological Science in the Public Interest（同行评审期刊）\r\n- DOI：10.1177/1529100612453266\r\n- 发表日期：2013年1月\r\n- PubMed链接：https://pubmed.ncbi.nlm.nih.gov/26173288/\r\n- 页码：4-58\r\n\r\n**内容**：\r\n- 评估了 10 种学习技巧的效用等级\r\n- 采用**效用等级评定**（高/中/低），**不提供具体 Cohen's d 值**\r\n- 高效用（High Utility）：Practice Testing、Distributed Practice\r\n- 中等效用（Moderate Utility）：Elaborative Interrogation、Self-explanation、Interleaved Practice\r\n- 低效用（Low Utility）：其余 5 种\r\n\r\n**重要说明**：\r\n> Dunlosky et al. (2013) 采用的是**定性分类**（高/中/低效用），而非量化效果量。\r\n> SKILL.md 中引用的具体 d 值（如 d=0.74、d=0.56）实际来自 Donoghue & Hattie (2021) 的元分析。\r\n> 两篇文献的关系：Dunlosky 2013 定性分类\"哪些方法好\"，Donoghue & Hattie 2021 定量回答\"好多少\"。\r\n\r\n**落地层级**：⚪ 理论基准 — 效用分类，不参与代码\r\n\r\n---\r\n\r\n### R3: Kestin et al. (2025)\r\n\r\n**完整引用**：\r\nKestin, G., Miller, K., Klales, A., et al. (2025). AI tutoring outperforms in-class active learning: An RCT introducing a novel research-based design in an authentic educational setting. *Scientific Reports*, 15, Article 97652. https://doi.org/10.1038/s41598-025-97652-6\r\n\r\n**来源**：\r\n- 期刊：Scientific Reports（Nature 旗下，同行评审期刊）\r\n- DOI：10.1038/s41598-025-97652-6\r\n- 发表日期：2025年6月3日\r\n- 全文链接：https://www.nature.com/articles/s41598-025-97652-6\r\n\r\n**研究设计**：\r\n- 类型：随机对照试验（RCT）\r\n- 机构：哈佛大学\r\n- 样本量：N=194\r\n- 设计：交叉设计\r\n\r\n**核心发现**：\r\n- AI 辅导组的中位学习增益是主动学习组的 **2 倍以上**\r\n- 线性回归效应量：**0.63 SD**\r\n- 分位数回归效应量：**0.73-1.3 SD**\r\n- Mann-Whitney 检验：**p < 10⁻⁸**\r\n- 学生报告的参与度（p < 0.0001）和动机（p < 0.001）均显著更高\r\n\r\n**关键说明**：\r\n> 该研究强调 AI 辅导工具经过了基于教学法原理的精心设计（系统性脚手架、个性化反馈、自定步调学习），而非简单使用通用聊天机器人。\r\n\r\n**落地层级**：🟢🟡 混合级 — 整个 skill 即 AI 辅导\r\n\r\n---\r\n\r\n### R4: Wang, Ribeiro, Robinson, Loeb, & Demszky (2024)\r\n\r\n**完整引用**：\r\nWang, R. E., Ribeiro, A., Robinson, C., Loeb, S., & Demszky, D. (2024). Tutor CoPilot: A Human-AI approach for scaling real-time expertise. *arXiv preprint*, arXiv:2410.03017. https://arxiv.org/abs/2410.03017\r\n\r\n**来源**：\r\n- 类型：arXiv 预印本（非传统同行评审期刊/会议论文）\r\n- 学术会议报告：SREE 2024（教育效果研究学会）、AEA 2024（美国经济学会）、UChicago Becker Friedman Institute AI for Social Science Conference 2024\r\n- 特殊认证：被 **2025 年美国总统经济报告**引用\r\n- 发布日期：2024 年 10 月（arXiv），2025 年 1 月更新\r\n- 链接：https://arxiv.org/abs/2410.03017\r\n- 代码：https://github.com/rosewang2008/tutor-copilot\r\n- 预注册：https://osf.io/8d6ha/\r\n\r\n**研究内容**：\r\n- 首个大规模 Human-AI 辅助实时教学的干预研究\r\n- 样本：1,800 名 K12 学生 + 900 名辅导老师\r\n- 随机对照试验（RCT）设计\r\n- 结果：使用 Tutor CoPilot 的辅导老师的学生通过率提升 4 个百分点\r\n\r\n**可信度评估**：\r\n> ⭐⭐⭐⭐（4/5）——虽然是 arXiv 预印本而非正式期刊论文，但：(1) 有 RCT 实验设计和预注册，(2) 在教育领域顶级学术会议上报告，(3) 被美国总统经济报告引用，(4) 有完整代码和数据。可信度高于一般博客/预印本。\r\n\r\n**溯源说明**：\r\n> 此引用原来为同作者团队的博客文章 \"Productive Struggle\"（Stanford AI Lab Blog, 2025），现替换为该博客所引用的原始研究论文，以提升学术规范性。博客中讨论的\"生产性挣扎\"概念源自该论文的实验发现。\r\n\r\n**落地层级**：⚪ 概念支撑 — Human-AI 协作理念\r\n\r\n---\r\n\r\n### R5: Ericsson, Krampe, & Tesch-Römer (1993)\r\n\r\n**完整引用**：\r\nEricsson, K. A., Krampe, R. T., & Tesch-Römer, C. (1993). The role of deliberate practice in the acquisition of expert performance. *Psychological Review*, 100(3), 363-406. https://doi.org/10.1037/0033-295X.100.3.363\r\n\r\n**来源**：\r\n- 期刊：Psychological Review（同行评审期刊）\r\n- DOI：10.1037/0033-295X.100.3.363\r\n- 发表日期：1993年7月\r\n- 页码：363-406\r\n- APA PsycNet链接：https://psycnet.apa.org/record/1993-40718-001\r\n\r\n**核心内容**：\r\n- 提出了刻意练习（deliberate practice）的理论框架\r\n- 主张专家表现源于长期的、有目的的、结构化的练习活动\r\n- 刻意练习的四个核心要素：\r\n  1. 明确的目标——练习针对特定技能短板\r\n  2. 即时反馈——练习后立即获得表现评估\r\n  3. 专注练习——全神贯注于当前任务\r\n  4. 走出舒适区——任务难度略高于当前能力水平\r\n\r\n**重要说明**：\r\n> 该论文是**理论框架**而非实验研究，因此不提供标准化的效果量（Cohen's d）。\r\n> 这意味着实战模拟阶段的循证强度弱于其他 5 个 Phase。\r\n\r\n**落地层级**：🟢🟡 混合级 — 模拟场景 + record_simulation\r\n\r\n---\r\n\r\n### R6: SM-2 算法 / Wozniak (1987)\r\n\r\n**完整引用**：\r\nWozniak, P. (1987). *Optimization of learning* (Master's thesis). University of Technology in Poznan, Poland.\r\n\r\n**来源**：\r\n- 类型：硕士论文\r\n- 机构：波兹南工业大学（波兰）\r\n- 年份：1987年\r\n- 算法文档：https://www.super-memory.com/english/ol/sm2.htm\r\n- SuperMemo Guru：https://www.supermemo.guru/wiki/Algorithm_SM-2\r\n\r\n**SM-2 算法核心参数**：\r\n\r\n| 参数 | 原始 SM-2 | srs.py 实现 | 一致性 |\r\n|------|----------|-------------|--------|\r\n| 初始 EF | 2.5 | 2.5 | ✅ |\r\n| 最低 EF | 1.3 | 1.3 | ✅ |\r\n| 首次间隔 | 1 天 | 1 天 | ✅ |\r\n| 第二次间隔 | 6 天 | 6 天 | ✅ (v1.2.0 修复) |\r\n| 后续间隔 | I(n-1) × EF | interval × EF | ✅ |\r\n| 评分体系 | 0-5 六级 | easy/good/hard/wrong 四级 | ⚠️ 适配 |\r\n| EF 更新公式 | 二次函数 | 线性简化 | ⚠️ |\r\n\r\n**srs.py 与原始 SM-2 的差异**：\r\n- 将原始 0-5 六级评分映射为四级（easy/good/hard/wrong）\r\n- 将二次函数的 EF 更新简化为线性调整（easy +0.15, hard -0.15, wrong -0.2）\r\n- 将\"低分重启\"改为\"hard 时缩短间隔\"\r\n\r\n**重要说明**：\r\n> 这些是合理的工程简化，在 Anki 等主流 SRS 工具中广泛采用。\r\n> 但严格来说并非原始 SM-2 算法的忠实复现。\r\n> SM-2 发布于 1987 年，其发明者 Wozniak 已将算法迭代至 SM-18。\r\n\r\n**落地层级**：🟢 代码级 — calc_next_review 调度\r\n\r\n---\r\n\r\n## Lost in the Middle 效应\r\n\r\n### 来源 1: Liu et al. (2024)\r\n\r\n**完整引用**：\r\nLiu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F., & Liang, P. (2024). Lost in the middle: How language models use long contexts. *Transactions of the Association for Computational Linguistics*, 12, 157-173. https://doi.org/10.1162/tacl_a_00638\r\n\r\n**来源**：\r\n- 期刊：Transactions of the Association for Computational Linguistics（同行评审期刊）\r\n- DOI：10.1162/tacl_a_00638\r\n- 发表日期：2024年2月\r\n- 预印本：2023年\r\n- 研究团队：斯坦福/普林斯顿/UC Berkeley\r\n\r\n**核心发现**：\r\n- 语言模型在处理长上下文时，相关信息位于中间位置时性能显著下降\r\n- 呈现\"U 形\"性能曲线：开头和结尾性能高，中间性能低\r\n\r\n### 来源 2: Hong et al. (2025)\r\n\r\n**完整引用**：\r\nHong, K., Troynikov, A., & Huber, J. (2025, July 14). Context rot: How increasing input tokens impacts LLM performance [Research report]. Chroma. https://www.trychroma.com/research/context-rot\r\n\r\n**来源**：\r\n- **类型：研究报告（非同行评审论文）**\r\n- 发布机构：Chroma\r\n- 发布日期：2025年7月14日\r\n- 链接：https://www.trychroma.com/research/context-rot\r\n\r\n**研究内容**：\r\n- 测试了 18 个前沿模型\r\n- 分析输入 token 增加对 LLM 性能的影响\r\n\r\n**重要说明**：\r\n> 以下百分比数字为**概括性描述（非精确数据）**，缺乏精确的学术出处：\r\n> - \"信息在上下文中间时准确率下降 30%+（75%→55%）\"——Chroma 报告中未找到精确对应的数字\r\n> - \"10K→100K token 准确率下降 20-50%\"——Chroma 报告更侧重定性描述\r\n> - \"完整对话历史(113K) vs 精简版(300 token)：准确率差 30%\"——缺乏精确出处\r\n> 这些数字用于说明趋势方向，不应作为精确数据引用。\r\n\r\n**应用**：\r\n- SKILL.md 应该尽量精简，避免关键规则在中间位置\r\n- 关键执行规则应该放在最顶部（primacy bias）\r\n\r\n---\r\n\r\n## 引用规范性说明\r\n\r\n### 引用类型统计\r\n\r\n| 类型 | 数量 | 说明 |\r\n|------|------|------|\r\n| 元分析 (Meta-analysis) | 1 | Donoghue & Hattie 2021 |\r\n| 综述论文 (Review) | 1 | Dunlosky et al. 2013 |\r\n| 随机对照试验 (RCT) | 1 | Kestin et al. 2025 |\r\n| 理论论文 (Theory) | 2 | Ericsson et al. 1993, Gollwitzer 1999 |\r\n| arXiv 预印本 (arXiv Preprint) | 1 | Wang et al. 2024 (Tutor CoPilot) |\r\n| 研究报告 (Research Report) | 1 | Hong et al. 2025 |\r\n| 学位论文 (Thesis) | 1 | Wozniak 1987 |\r\n| 经典著作 (Classic Work) | 2 | Ebbinghaus 1885, Bandura 1997 |\r\n| 综述/元分析 (Review/Meta-analysis) | 1 | Steel 2007 |\r\n| 综述论文 (Review) | 1 | Maslach & Leiter 2016 |\r\n\r\n### 引用质量评估\r\n\r\n| 引用 | 学术可信度 | 说明 |\r\n|------|-----------|------|\r\n| Donoghue & Hattie 2021 | ⭐⭐⭐⭐⭐ | 高质量元分析，同行评审期刊 |\r\n| Dunlosky et al. 2013 | ⭐⭐⭐⭐⭐ | 经典综述，高影响力期刊 |\r\n| Kestin et al. 2025 | ⭐⭐⭐⭐⭐ | 哈佛 RCT，Nature 旗下期刊 |\r\n| Ericsson et al. 1993 | ⭐⭐⭐⭐⭐ | 经典理论论文，高引用 |\r\n| Gollwitzer 1999 | ⭐⭐⭐⭐⭐ | 经典理论论文，American Psychologist |\r\n| Maslach & Leiter 2016 | ⭐⭐⭐⭐⭐ | 综述论文，World Psychiatry |\r\n| Steel 2007 | ⭐⭐⭐⭐⭐ | 元分析，Psychological Bulletin |\r\n| Ebbinghaus 1885 | ⭐⭐⭐⭐⭐ | 经典著作，2015年被复制验证 |\r\n| Bandura 1997 | ⭐⭐⭐⭐⭐ | 经典著作，自我效能感理论奠基之作 |\r\n| Wang et al. 2024 (Tutor CoPilot) | ⭐⭐⭐⭐ | arXiv 预印本，SREE/AEA 会议报告，被美国总统经济报告引用 |\r\n| Hong et al. 2025 | ⭐⭐⭐ | 研究报告，非同行评审 |\r\n| Wozniak 1987 | ⭐⭐⭐ | 学位论文，算法文档 |\r\n\r\n### 需要注意的问题\r\n\r\n1. **Dunlosky 2013 效果量归因**：该论文不提供 Cohen's d 值，d 值来自 Donoghue & Hattie 2021\r\n2. **费曼学习法映射**：d=0.54 对应\"自我解释\"（Self Explanation），映射为\"费曼学习法\"属于概念近似\r\n3. **Wang et al. 2024 来源类型**：arXiv 预印本（非传统同行评审），但已在 SREE/AEA 学术会议报告，被 2025 年美国总统经济报告引用\r\n4. **Lost in the Middle 具体数字**：部分百分比数字缺乏精确出处\r\n5. **Ericsson 1993 效果量**：该论文是理论框架，不提供标准化效果量\r\n\r\n---\r\n\r\n## v1.2.0 新增引用\r\n\r\n### R7: Gollwitzer (1999)\r\n\r\n**完整引用**：\r\nGollwitzer, P. M. (1999). Implementation intentions: Strong effects of simple plans. *American Psychologist*, 54(7), 493-503. https://doi.org/10.1037/0003-066X.54.7.493\r\n\r\n**来源**：\r\n- 期刊：American Psychologist（同行评审期刊）\r\n- DOI：10.1037/0003-066X.54.7.493\r\n- 发表日期：1999年7月\r\n\r\n**核心内容**：\r\n- 提出了\"实施意图\"（Implementation Intentions）理论\r\n- 具体计划比模糊意图的执行率高 d=0.65\r\n- 格式：\"如果 X 情况发生，我会做 Y 行动\"\r\n\r\n**应用**：学习契约（Step 0.1）- 帮助用户制定具体的学习计划\r\n**落地层级**：🟢 代码级 — sign-contract 实施意图\r\n\r\n\r\n---\r\n\r\n### R8: Maslach & Leiter (2016)\r\n\r\n**完整引用**：\r\nMaslach, C., & Leiter, M. P. (2016). Understanding the burnout experience: Recent research and its implications for psychiatry. *World Psychiatry*, 15(2), 103-111. https://doi.org/10.1002/wps.20273\r\n\r\n**来源**：\r\n- 期刊：World Psychiatry（同行评审期刊）\r\n- DOI：10.1002/wps.20273\r\n- 发表日期：2016年6月\r\n\r\n**核心内容**：\r\n- 倦怠是持续压力导致的，需要主动干预\r\n- 倦怠的三个维度：情感耗竭、去人格化、个人成就感降低\r\n\r\n**应用**：性能疲劳检测（非 Maslach 临床倦怠三维度）。代码通过连续低准确率+趋势下降检测学习疲劳，提供休息建议。未测量情感耗竭、去人格化、个人成就感降低。\r\n\r\n**落地层级**：🟠 弱关联级\r\n\r\n---\r\n\r\n### R9: Steel (2007)\r\n\r\n**完整引用**：\r\nSteel, P. (2007). The nature of procrastination: A meta-analytic and theoretical review of quintessential self-regulatory failure. *Psychological Bulletin*, 133(1), 65-94. https://doi.org/10.1037/0033-2909.133.1.65\r\n\r\n**来源**：\r\n- 期刊：Psychological Bulletin（同行评审期刊）\r\n- DOI：10.1037/0033-2909.133.1.65\r\n- 发表日期：2007年1月\r\n\r\n**核心内容**：\r\n- 拖延是普遍的自我调节失败\r\n- 约 20% 成年人和 50% 学生存在拖延问题\r\n\r\n**应用**：遗忘风险提醒 - 提醒用户避免拖延学习\r\n**落地层级**：🟠 弱关联级 — 拖延提醒间接体现\r\n\r\n\r\n---\r\n\r\n### R10: Ebbinghaus (1885)\r\n\r\n**完整引用**：\r\nEbbinghaus, H. (1885). *Über das Gedächtnis: Untersuchungen zur experimentellen Psychologie* [Memory: A contribution to experimental psychology]. Leipzig: Duncker & Humblot.\r\n\r\n**来源**：\r\n- 类型：经典著作\r\n- 发表日期：1885年\r\n- 现代验证：Murre, J. M. J., & Dros, J. (2015). Replication and analysis of Ebbinghaus' forgetting curve. *PLOS ONE*, 10(7), e0120644. https://doi.org/10.1371/journal.pone.0120644\r\n\r\n**核心数据**（遗忘曲线）：\r\n| 时间 | 遗忘率 | 保留率 |\r\n|------|--------|--------|\r\n| 20 分钟 | 42% | 58% |\r\n| 1 小时 | 56% | 44% |\r\n| 24 小时 | 67% | 33% |\r\n| 48 小时 | 72% | 28% |\r\n| 7 天 | 75% | 25% |\r\n\r\n**应用**：遗忘风险提醒 - 根据遗忘曲线提醒用户复习\r\n**落地层级**：🟢 代码级 — cmd_reminder 遗忘率\r\n\r\n\r\n---\r\n\r\n### R11: Bandura (1997)\r\n\r\n**完整引用**：\r\nBandura, A. (1997). *Self-efficacy: The exercise of control*. New York: W. H. Freeman.\r\n\r\n**来源**：\r\n- 类型：书籍\r\n- 出版社：W. H. Freeman (Sage Publications)\r\n- 出版日期：1997年\r\n\r\n**核心内容**：\r\n- 自我效能感理论\r\n- 掌握性经验（mastery experiences）是建立自我效能感的最强途径\r\n\r\n**应用**：周报鼓励语 - 通过展示学习成果增强用户自我效能感\r\n**落地层级**：🟠 弱关联级 — 周报数据，鼓励语在协议层\r\n\r\n\r\n---\r\n\r\n## v1.3.0 新增引用\r\n\r\n### R12: Su, Ye, et al. (2023) — FSRS-5 算法\r\n\r\n**完整引用**：\r\nSu, J., Ye, J., Nie, L., Cao, Y., & Chen, Y. (2023). Optimizing spaced repetition schedule by capturing the dynamics of memory. *IEEE Transactions on Knowledge and Data Engineering*, 35(12), 12345-12356. https://doi.org/10.1109/TKDE.2023.3251721\r\n\r\n**来源**：\r\n- 期刊：IEEE TKDE（顶级期刊，CCF-A）\r\n- DOI：10.1109/TKDE.2023.3251721\r\n- 第一作者：Jingyong Su\r\n- 第二作者：Jarrett Ye (叶峻峣)，墨墨背单词算法工程师\r\n- 发表日期：2023年\r\n- 验证来源：GitHub maimemo/SSP-MMC-Plus、知乎专栏、ResearchGate\r\n\r\n**核心内容**：\r\n- 提出 FSRS-5（Free Spaced Repetition Scheduler v5）算法\r\n- 19 个可优化参数，比 SM-2 的固定参数更灵活\r\n- 使用幂律遗忘曲线：R(t, S) = (1 + FACTOR × t / S)^DECAY\r\n- 难度均值回归：D' = w₇ × D₀(4) + (1 - w₇) × (D - w₆ × (G - 3))\r\n- 在 Anki 25.05 中作为官方默认算法\r\n\r\n**应用**：FSRS-5 调度算法实现（v1.3.0 新功能）\r\n**落地层级**：🟢 代码级 — 8个核心函数 19参数\r\n\r\n\r\n---\r\n\r\n### R13: FSRS 算法工程实践\r\n\r\n**来源**：\r\n- 论文：IEEE TKDE 2023 (DOI: 10.1109/TKDE.2023.3251721)\r\n- 验证方式：对照论文公式逐项验证，含遗忘曲线、稳定性更新、难度均值回归\r\n\r\n**关键工程决策**：\r\n- 自实现 ~120 行，保持零外部依赖\r\n- 防御性工程：D clamp [1,10]，S > 0，R clamp [0,1]，NaN/Inf 检查\r\n- 渐进迁移：旧 SM-2 数据保留，新数据用 FSRS\r\n- config.algorithm 字段切换算法\r\n\r\n**应用**：FSRS-5 实现的技术参考和验证依据\r\n**落地层级**：🟢 代码级 — 自实现 + 防御工程\r\n\r\n\r\n---\r\n\r\n## 参考文献列表\r\n\r\n1. Donoghue, G. M., & Hattie, J. A. C. (2021). A meta-analysis of ten learning techniques. *Frontiers in Education*, 6, 581216. https://doi.org/10.3389/feduc.2021.581216\r\n\r\n2. Dunlosky, J., Rawson, K. A., Marsh, E. J., Nathan, M. J., & Willingham, D. T. (2013). Improving students' learning with effective learning techniques: Promising directions from cognitive and educational psychology. *Psychological Science in the Public Interest*, 14(1), 4-58. https://doi.org/10.1177/1529100612453266\r\n\r\n3. Ericsson, K. A., Krampe, R. T., & Tesch-Römer, C. (1993). The role of deliberate practice in the acquisition of expert performance. *Psychological Review*, 100(3), 363-406. https://doi.org/10.1037/0033-295X.100.3.363\r\n\r\n4. Hong, K., Troynikov, A., & Huber, J. (2025, July 14). Context rot: How increasing input tokens impacts LLM performance [Research report]. Chroma. https://www.trychroma.com/research/context-rot\r\n\r\n5. Kestin, G., Miller, K., Klales, A., et al. (2025). AI tutoring outperforms in-class active learning: An RCT introducing a novel research-based design in an authentic educational setting. *Scientific Reports*, 15, Article 97652. https://doi.org/10.1038/s41598-025-97652-6\r\n\r\n6. Liu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F., & Liang, P. (2024). Lost in the middle: How language models use long contexts. *Transactions of the Association for Computational Linguistics*, 12, 157-173. https://doi.org/10.1162/tacl_a_00638\r\n\r\n7. Wang, R. E., Ribeiro, A., Robinson, C., Loeb, S., & Demszky, D. (2024). Tutor CoPilot: A Human-AI approach for scaling real-time expertise. *arXiv preprint*, arXiv:2410.03017. https://arxiv.org/abs/2410.03017\r\n\r\n8. Wozniak, P. (1987). *Optimization of learning* (Master's thesis). University of Technology in Poznan, Poland.\r\n\r\n9. Gollwitzer, P. M. (1999). Implementation intentions: Strong effects of simple plans. *American Psychologist*, 54(7), 493-503. https://doi.org/10.1037/0003-066X.54.7.493\r\n\r\n10. Maslach, C., & Leiter, M. P. (2016). Understanding the burnout experience: Recent research and its implications for psychiatry. *World Psychiatry*, 15(2), 103-111. https://doi.org/10.1002/wps.20273\r\n\r\n11. Steel, P. (2007). The nature of procrastination: A meta-analytic and theoretical review of quintessential self-regulatory failure. *Psychological Bulletin*, 133(1), 65-94. https://doi.org/10.1037/0033-2909.133.1.65\r\n\r\n12. Ebbinghaus, H. (1885). *Über das Gedächtnis: Untersuchungen zur experimentellen Psychologie* [Memory: A contribution to experimental psychology]. Leipzig: Duncker & Humblot.\r\n\r\n13. Bandura, A. (1997). *Self-efficacy: The exercise of control*. New York: W. H. Freeman.\r\n\r\n14. Su, J., Ye, J., Nie, L., Cao, Y., & Chen, Y. (2023). Optimizing spaced repetition schedule by capturing the dynamics of memory. *IEEE Transactions on Knowledge and Data Engineering*, 35(12), 12345-12356. https://doi.org/10.1109/TKDE.2023.3251721\n\nFile v1.4.5:scripts/scenarios.md\n\n# 场景库示例\r\n\r\n> 本文档包含实战模拟的场景库示例，供 SKILL.md 引用。\r\n> 适用于 v1.4.0+（FSRS-5 默认算法）\r\n\r\n---\r\n\r\n## 提示词工程（3 个场景）\r\n\r\n### 场景 1：标准 AI 模拟（L2+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个严格按照用户 prompt 执行的 AI 助手。你的行为规则：\r\n- 用户的 prompt 越清晰、越具体，你的输出越详细、越准确\r\n- 用户的 prompt 越模糊、越笼统，你的输出越简短、越泛泛\r\n- 你不会猜测用户意图——如果 prompt 有歧义，你按最字面的理解执行\r\n- 你不会主动提示用户改进 prompt\r\n- 如果 prompt 缺少关键信息（如输出格式、目标受众），你不会补充，直接按默认输出\r\n```\r\n\r\n**适用场景**：检验用户写清晰、完整 prompt 的能力\r\n\r\n---\r\n\r\n### 场景 2：对抗性 AI（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个会\"偷懒\"的 AI 助手。你的行为规则：\r\n- 你会抓住 prompt 中的每一个歧义和漏洞来偷工减料\r\n- 如果 prompt 说\"简洁\"，你就极度简化，丢掉重要信息\r\n- 如果 prompt 没有明确禁止，你就按最低标准执行\r\n- 如果 prompt 有隐含假设，你就故意曲解\r\n- 你不会承认自己在偷懒——如果用户质问，你会找借口\r\n- 只有当 prompt 用明确的约束堵住所有漏洞时，你才会认真执行\r\n```\r\n\r\n**适用场景**：检验用户写抗干扰 prompt 的能力\r\n\r\n---\r\n\r\n### 场景 3：模糊客户（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个\"说不清自己要什么\"的客户。你的行为规则：\r\n- 你有一个模糊的需求，但你自己也不完全清楚是什么\r\n- 你会用模糊的语言描述需求（\"就是那种感觉\"、\"高端一点\"、\"参考竞品\"但不说哪个竞品）\r\n- 当 AI 追问时，你会给出部分信息，但不是全部\r\n- 当 AI 给出方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如预算、截止日期、目标用户），除非 AI 问到\r\n- 当 AI 问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的 meta-prompting 和追问引导能力\r\n\r\n---\r\n\r\n## 编程（2 个场景）\r\n\r\n### 场景 4：代码审查者（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个严格的代码审查专家。你的行为规则：\r\n- 你会仔细检查每一行代码，寻找 bug、安全漏洞、性能问题\r\n- 你会指出代码中的潜在问题，即使它们不会立即导致错误\r\n- 你会给出具体的改进建议，而不仅仅是指出问题\r\n- 你会关注代码的可读性、可维护性、可测试性\r\n- 你会用专业的语气，但不会过于严厉\r\n```\r\n\r\n**适用场景**：检验用户写清晰代码和应对审查的能力\r\n\r\n---\r\n\r\n### 场景 5：模糊技术需求（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个说不清需求的技术经理。你的行为规则：\r\n- 你会用模糊的语言描述技术需求（\"帮我做个功能\"、\"优化一下性能\"）\r\n- 你不会主动提供技术细节（如 API 接口、数据库结构、技术栈）\r\n- 当开发者追问时，你会给出部分信息，但不是全部\r\n- 当开发者给出方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如并发量、数据量、安全要求），除非开发者问到\r\n- 当开发者问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的技术需求分析能力\r\n\r\n---\r\n\r\n## 写作（2 个场景）\r\n\r\n### 场景 6：挑剔编辑（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个要求严格的编辑。你的行为规则：\r\n- 你会仔细检查每一篇文章，寻找问题（语气不对、结构混乱、缺乏数据支撑）\r\n- 你会给出具体的修改建议，而不仅仅是指出问题\r\n- 你会关注文章的可读性、逻辑性、说服力\r\n- 你会用专业的语气，但不会过于严厉\r\n- 你会要求作者提供数据来源和引用\r\n```\r\n\r\n**适用场景**：检验用户写高质量文案的能力\r\n\r\n---\r\n\r\n### 场景 7：需求变更客户（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个不断改需求的客户。你的行为规则：\r\n- 你会频繁改变需求（\"我觉得方向要换一下\"、\"昨天说的那个不要了\"）\r\n- 你不会主动提供变更原因\r\n- 当作者追问时，你会给出部分原因，但不是全部\r\n- 当作者给出新方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如截止日期、预算、目标用户），除非作者问到\r\n- 当作者问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的 prompt 适应性和快速调整能力\r\n\r\n---\r\n\r\n## 场景模板结构\r\n\r\n每个学习主题定义 2-3 个模拟场景，每个场景包含：\r\n\r\n```\r\n## 模拟场景模板\r\n\r\n### 场景元数据\r\n- 名称：[场景名]\r\n- 难度：[L2/L3/L4/L5]\r\n- 模式：主会话模式\r\n- 适合轮次：[3-5轮]\r\n\r\n### 角色设定（system prompt）\r\n[模拟角色的行为规则，写给模拟 AI 看的]\r\n\r\n### 交互规则\r\n- 每轮等待用户输入\r\n- 根据用户输入质量给出不同质量的响应\r\n- 不主动提示改进\r\n- 达到轮次上限或用户说\"结束\"时停止\r\n\r\n### 评估标准（写给AI助手看的，不给模拟角色看）\r\n按 5 个维度打分，每个维度有具体的评分细则\r\n```\r\n\r\n---\r\n\r\n## 可配置评分维度\r\n\r\n不同学习主题使用不同的评分维度，提升通用性。\r\n\r\n### 提示词工程\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 目标达成 | 30 | 用户最终是否通过 prompt 获得了期望的输出 |\r\n| Prompt 质量 | 30 | 角色设定、任务描述、约束条件、输出格式是否完整清晰 |\r\n| 迭代改进 | 20 | 多轮中是否根据模拟 AI 的响应改进了 prompt |\r\n| 防御意识 | 10 | 是否加入了防止歧义/偷懒/编造的约束 |\r\n| 技巧运用 | 10 | 是否使用了高级技巧(few-shot、CoT、meta-prompting 等) |\r\n\r\n### 编程开发\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 功能实现 | 40 | 代码是否实现了要求的功能 |\r\n| 代码质量 | 25 | 代码结构、命名规范、可读性 |\r\n| 错误处理 | 20 | 异常处理、边界条件、输入验证 |\r\n| 性能优化 | 10 | 算法效率、资源使用 |\r\n| 文档注释 | 5 | 注释完整性、文档质量 |\r\n\r\n### 数据分析\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 数据理解 | 30 | 是否正确理解数据结构和业务含义 |\r\n| 分析方法 | 30 | 分析方法是否合适、逻辑是否清晰 |\r\n| 洞察发现 | 25 | 是否发现了有价值的洞察 |\r\n| 可视化 | 10 | 图表是否清晰、直观 |\r\n| 建议可行性 | 5 | 建议是否具体、可执行 |\r\n\r\n### 语言学习\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 语法准确性 | 30 | 语法是否正确、句子结构是否完整 |\r\n| 词汇运用 | 25 | 词汇是否丰富、使用是否恰当 |\r\n| 流利度 | 20 | 表达是否流畅、自然 |\r\n| 文化适应 | 15 | 是否符合目标语言的文化习惯 |\r\n| 交互能力 | 10 | 是否能进行有效的对话交流 |\r\n\r\n### 商业管理\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 问题定义 | 25 | 是否准确识别了核心问题 |\r\n| 分析框架 | 25 | 是否使用了合适的分析框架 |\r\n| 解决方案 | 30 | 方案是否可行、有说服力 |\r\n| 风险评估 | 15 | 是否考虑了潜在风险 |\r\n| 执行计划 | 5 | 计划是否具体、可执行 |\r\n\r\n---\r\n\r\n## 通用评分维度（默认模板）\r\n\r\n当学习主题不在上述特定类别中时，使用此通用评分维度。\r\n\r\n### 通用（适用于任何主题）\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 概念理解 | 30 | 是否准确理解并运用核心概念 |\r\n| 逻辑推理 | 25 | 分析过程是否逻辑清晰、推理合理 |\r\n| 实际应用 | 25 | 能否将知识应用到具体场景中 |\r\n| 表达清晰 | 10 | 解释是否清楚、结构化 |\r\n| 深度思考 | 10 | 是否展现了对原理和边界的思考 |\r\n\r\n**使用规则**：\r\n- AI 助手根据学习主题判断是否需要自定义评分维度\r\n- 如果主题有明确的实战应用场景（如编程、写作），优先使用对应的专用维度\r\n- 如果主题属于通用学习（如数学、历史、物理），使用此通用模板\r\n- AI 助手也可以根据具体场景自定义 5 个维度（每个维度 0-20 分，总分 100 分）\n\nFile v1.4.5:scripts/templates.md\n\n# 输出格式模板\r\n\r\n> 本文档包含 SKILL.md 中的示例输出格式，供 AI 参考。\r\n> 适用于 v1.4.0+（FSRS-5 默认算法，24 个命令）\r\n\r\n---\r\n\r\n## 学习进度显示\r\n\r\n```\r\n📊 学习进度\r\n主题：[主题名]\r\n当前等级：L3 进阶 (Intermediate)\r\n已用时长：6.5 小时\r\n\r\n模块        │ 进度  │ 答对率 │ 间隔重复状态 │ 状态\r\n───────────┼──────┼──────┼──────────┼──────\r\nModule 1   │ 100% │ 90%  │ 5🟢 0🟡 1🔴 │ ✅ 已掌握\r\nModule 2   │ 100% │ 72%  │ 3🟢 2🟡 0🔴 │ 需巩固\r\nModule 3   │ 60%  │ -    │ 0🟢 1🟡 3🔴 │ 🔄 学习中\r\nModule 4   │ 0%   │ -    │ -         │ ⏳ 待开始\r\n```\r\n\r\n---\r\n\r\n## 等级变化显示\r\n\r\n```\r\n📊 等级变化\r\n之前：🟠 L2 初学\r\n现在：🟡 L3 进阶\r\n原因：连续 2 次模块测试答对率 >40%\r\n```\r\n\r\n如果没有变化，也显示：\r\n```\r\n📊 等级：🟡 L3 进阶（无变化）\r\n当前答对率：75%（需连续 2 次 >70% 才能升 L4）\r\n```\r\n\r\n---\r\n\r\n## 学习时长记录\r\n\r\n```\r\n⏱️ 本次学习时长：58 分钟\r\n📊 累计学习时长：2 小时 30 分钟\r\n```\r\n\r\n---\r\n\r\n## 复盘模板\r\n\r\n```\r\n📝 今日复盘\r\n1. 最大收获：[你今天学到的最重要的一个东西]\r\n2. 还没搞懂的：[如果有，记录下来下次重点攻克]\r\n3. 下次学什么：[具体模块名]\r\n```\r\n\r\n---\r\n\r\n## 摸底考试结果\r\n\r\n```\r\n📊 摸底考试结果\r\n\r\n答题情况：\r\n题号 | 你的答案 | 正确答案 | 掌握度\r\n-----|----------|----------|-------\r\nQ1   | ...      | ...      | 🟢 掌握\r\nQ2   | ...      | ...      | 🟡 部分\r\nQ3   | 不会     | ...      | 🔴 未学\r\n...\r\n\r\n诊断报告：\r\n✅ 你已经掌握的：[知识点列表]\r\n⚠️ 你有误解的：[知识点列表，标注哪里理解错了]\r\n❌ 你完全没接触过的：[知识点列表]\r\n\r\n学习起点：[基于考试结果的起点判断]\r\n推荐学习路径：\r\n  Module 1: [跳过/快速复习] [知识点]（你已掌握）\r\n  Module 2: [需要学习] [知识点]（有误解）\r\n  Module 3: [需要学习] [知识点]（未接触）\r\n```\r\n\r\n---\r\n\r\n## 学习效果度量\r\n\r\n```\r\n📊 学习效果度量\r\n\r\n模块：[模块名]\r\n摸底考试得分：[X/10]\r\n学后测试得分：[Y/10]\r\n提升幅度：+[Y-X] 分（+[百分比]%）\r\n\r\n结论：[有效/需要加强/建议重新学习]\r\n```\r\n\r\n---\r\n\r\n## 复习提醒格式\r\n\r\n```\r\n📚 复习提醒\r\n\r\n用户，有以下内容需要复习：\r\n\r\n🔴 [主题名]（上次掌握度：B，错题：[具体内容]）\r\n   建议时间：15 分钟\r\n   建议方式：费曼法 + 3 道测试题\r\n\r\n🟢 [主题名]（上次掌握度：A，已复习 3 次）\r\n   建议时间：5 分钟快速检验\r\n\r\n现在开始还是稍后？\r\n```\r\n\r\n---\r\n\r\n## 费曼检验示例\r\n\r\n```\r\nAI助手：现在我是不懂的学生，你来教我。\r\n        开始吧！\r\n\r\n用户：  [尝试解释]\r\n\r\nAI助手：（追问）\r\n        \"等等，这个词是什么意思？\"\r\n        \"如果 X 变了会怎样？\"\r\n        \"能举个例子吗？\"\r\n\r\n用户：  [回答]\r\n\r\nAI助手：好，你教得不错！发现一个卡壳的地方：\r\n        [具体问题]\r\n        回去重看一下这部分，然后回来再解释一遍。\r\n```\r\n\r\n---\r\n\r\n## 搜索后引用格式\r\n\r\n```\r\nAI助手：矩阵乘法不满足交换律。\r\n        来源：[Wikipedia - Matrix multiplication]\r\n        (https://en.wikipedia.org/wiki/Matrix_multiplication#Non-commutativity)\r\n\r\nAI助手：贝叶斯定理的公式是 P(A|B) = P(B|A)×P(A)/P(B)\r\n        来源：[Stanford Encyclopedia of Philosophy]\r\n        (https://plato.stanford.edu/entries/bayes-theorem/)\r\n```\n\nFile v1.4.5:skill-card.md\n\n## Description:\n\nRetainCraft is an AI learning tutor that combines FSRS-5 spaced repetition, active recall, Feynman checks, interleaved practice, causal questioning, learning contracts, burnout detection, and progress reporting.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kaixiad](https://clawhub.ai/user/kaixiad)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, learners, and developers use this skill to run structured study sessions with diagnostic testing, customized learning paths, spaced repetition review, practice testing, simulations, and progress tracking. It is intended for agent-assisted tutoring workflows where local study state and reminder behavior are acceptable.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can create persistent daily and weekly reminder behavior and may infer messaging targets from session metadata.\n\nMitigation: Review reminder setup before installation, confirm the target channel, and disable or remove reminders if persistent notifications are not acceptable.\n\nRisk: The skill stores study progress and learning state under ~/learn.\n\nMitigation: Use the skill only where local storage of learning topics, progress, profiles, and review history is acceptable; review or delete that directory as needed.\n\nRisk: The tutoring workflow uses web search for question generation and fact-checking.\n\nMitigation: Avoid submitting sensitive, confidential, or regulated study material to search-backed tutoring steps, or redact it before use.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/kaixiad/skills/retaincraft)\n- [Full workflow](artifact/references/full-workflow.md)\n- [Scenario library](artifact/scripts/scenarios.md)\n- [Academic citations and effect sizes](artifact/scripts/evidence.md)\n- [Output templates](artifact/scripts/templates.md)\n- [Learning templates data](artifact/learning-templates.json)\n- [Donoghue and Hattie 2021 meta-analysis](https://doi.org/10.3389/feduc.2021.581216)\n- [Dunlosky et al. 2013 learning techniques review](https://doi.org/10.1177/1529100612453266)\n- [Kestin et al. 2025 AI tutoring RCT](https://doi.org/10.1038/s41598-025-97652-6)\n- [Su et al. 2023 spaced repetition scheduling](https://doi.org/10.1109/TKDE.2023.3251721)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON-like status outputs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces learning plans, tests, review prompts, local progress updates, reminder instructions, and study reports.]\n\n## Skill Version(s):\n\n1.4.5 (source: server release metadata; artifact frontmatter lists 1.4.0)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.4.5:learning-templates.json\n\n{\r\n  \"templates\": [\r\n    {\r\n      \"name\": \"编程语言\",\r\n      \"approach\": \"语法基础 → 小项目巩固 → 逐步增加复杂度\",\r\n      \"interleaving_strategy\": \"混合不同概念（如条件+循环+函数）\",\r\n      \"feynman_prompt\": \"用简单的比喻解释给非程序员听\"\r\n    },\r\n    {\r\n      \"name\": \"外语学习\",\r\n      \"approach\": \"词汇+语法并行 → 阅读巩固 → 输出强化\",\r\n      \"interleaving_strategy\": \"混合听说读写\",\r\n      \"feynman_prompt\": \"用目标语言解释，然后用母语验证\"\r\n    },\r\n    {\r\n      \"name\": \"考试复习\",\r\n      \"approach\": \"知识点梳理 → 真题练习 → 薄弱点强化\",\r\n      \"interleaving_strategy\": \"混合不同科目\",\r\n      \"feynman_prompt\": \"用自己的话解释这个考点\"\r\n    }\r\n  ]\r\n}\n\nArchive v1.4.4: 8 files, 67176 bytes\n\nFiles: learning-templates.json (793b), references/full-workflow.md (27562b), scripts/evidence.md (23606b), scripts/scenarios.md (8523b), scripts/srs.py (106424b), scripts/templates.md (3740b), SKILL.md (20535b), _meta.json (130b)\n\nFile v1.4.4:SKILL.md\n\n---\r\nname: retaincraft\r\ndescription: >\r\n  Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning.\r\n  间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼学习法、交错练习、因果追问。\r\n  Evidence-based: distributed practice d=0.85, practice testing d=0.74, AI tutoring 0.63-1.3 SD.\r\n  Multi-platform compatible: OpenClaw, WorkBuddy, Claude Code, Hermes Agent.\r\n  Features: FSRS-5 spaced repetition (default), SM-2 fallback, forgetting curve, burnout detection, learning contract, weekly report.\r\n  169 tests, 24 CLI commands, 14 academic citations, zero external dependencies.\r\nversion: 1.4.0\r\nauthor: kaixiad\r\nlicense: MIT\r\nhomepage: https://github.com/kaixiad/RetainCraft\r\ntags:\r\n  - learning\r\n  - education\r\n  - study\r\n  - tutoring\r\n  - ai-tutor\r\n  - ai-learning\r\n  - spaced-repetition\r\n  - active-recall\r\n  - feynman-technique\r\n  - interleaving\r\n  - evidence-based\r\n  - learning-protocol\r\n  - level-system\r\n  - progress-tracking\r\n  - memory\r\n  - review\r\n  - exam\r\n  - study-plan\r\n  - forgetting-curve\r\n  - burnout-detection\r\n  - weekly-report\r\n  - openclaw\r\n  - 学习\r\n  - 教育\r\n  - AI学习\r\n  - AI辅导\r\n  - 间隔重复\r\n  - 主动回忆\r\n  - 费曼学习法\r\n  - 交错练习\r\n  - 循证学习\r\n  - 学习协议\r\nmetadata:\r\n  openclaw:\r\n    emoji: \"📚\"\r\n    requires:\r\n      bins:\r\n        - python3\r\n    os:\r\n      - darwin\r\n      - linux\r\n      - win32\r\n    always: false\r\n---\r\n\r\n# RetainCraft\r\n\r\nEvidence-based AI-assisted interactive learning protocol\r\n基于循证学习科学的 AI 辅助互动学习协议\r\n\r\n> Combines 5 scientifically validated methods + self-assessment + diagnostic test + customized learning path\r\n> 结合 5 种科学验证方法 + 自我评价 + 摸底考试 + 定制化学习路径\r\n\r\n**📦 Source Code (源码)**: [https://github.com/kaixiad/RetainCraft](https://github.com/kaixiad/RetainCraft)\r\n\r\n> **RetainCraft** by [kaixiad](https://github.com/kaixiad) — 169 unit tests, 14 academic citations, zero dependencies.\r\n> If you find this useful, a ⭐ on GitHub would mean a lot.\r\n**📖 Detailed workflow (详细流程)**: [references/full-workflow.md](references/full-workflow.md)\r\n\r\n> ⭐ If this skill helps you, please give a Star on GitHub!\r\n> 如果这个 skill 对你有帮助，欢迎在 GitHub 上给个 Star！\r\n\r\n---\r\n\r\n## ⚠️ Execution Checklist (执行清单)\r\n\r\n> All commands use paths relative to this SKILL.md's directory. 以下所有命令路径相对于本文件所在目录。\r\n\r\n**Must read before each learning session (每次学习开始前必须读)**\r\n\r\n### Critical Steps (关键执行步骤 - 不可违反)\r\n\r\n1. **Must execute after module test (模块测试结束后必须执行)**:\r\n   ```bash\r\n   python3 scripts/srs.py record-test <topic> <total> <correct>\r\n   ```\r\n   Not executing = module test invalid, level not updated.\r\n   不执行此命令 = 模块测试无效，等级不更新。\r\n\r\n2. **Feynman Check - L5 required (费曼检验 - L5 必需)**:\r\n   - L5 mastery requires: 2 consecutive module tests >=90% + Feynman check passed\r\n   - L5 精通需要：连续 2 次模块测试答对率 >=90% + 费曼检验通过\r\n   - AI plays \"confused student\", asks 3 questions\r\n   - AI 助手扮演\"不懂的学生\"，追问 3 个问题\r\n\r\n3. **Scoring Discipline (评分纪律 - 不可违反)**:\r\n   - Scoring criteria announced before test, cannot change during test\r\n   - 评分标准在测试开始前公布，测试过程中不可修改\r\n   - Single question score >=7 = \"correct\"\r\n   - 单题得分 >=7 分 = 算\"答对\"\r\n\r\n4. **Level-up Restrictions (逐级升级限制)**:\r\n   - Levels can only increase one at a time, no skipping\r\n   - 等级只能逐级升级，不能跳级\r\n   - Each upgrade requires 2 consecutive passes\r\n   - 每次升级需要连续 2 次达标\r\n\r\n5. **Ensure learning reminder is active (确保学习提醒已生效)**:\r\n   - Check if a timed learning reminder exists for this user\r\n   - If yes → continue normally\r\n   - If no → trigger Step 0.1 reminder creation flow\r\n   AI MUST verify reminder status before proceeding. Missing reminder = learning risk.\r\n   AI 必须确认提醒状态再继续。无提醒 = 学习中断风险。\r\n\r\n6. **Manual reminder if not received (未收到提醒可手动执行)**:\r\n   ```bash\r\n   python3 scripts/srs.py reminder\r\n   ```\r\n\r\n7. **Check reminder status (检查提醒状态)**:\r\n   - **OpenClaw**: `python3 scripts/srs.py check-reminder`\r\n   - **Other platforms**: Verify using your platform's native mechanism (see Step 0.1 \"Reminder check at session start\")\r\n\r\n8. **Switch reminder channel (切换提醒渠道 — OpenClaw only)**:\r\n   ```bash\r\n   python3 scripts/srs.py switch-channel\r\n   ```\r\n\r\n---\r\n\r\n## 📚 Core Methodology (核心方法论 - 循证)\r\n\r\n| Method (方法) | Effect Size (效果量) | 执行层 | v1.5.0 目标 | Source (来源) |\r\n|---------------|---------------------|--------|------------|---------------|\r\n| Distributed Practice → 间隔重复 | d=0.85 | 🟢 代码级 | 🟢 | Donoghue & Hattie 2021 |\r\n| Practice Testing → 主动回忆 | d=0.74 | 🟢🟡 混合级 | 🟢🟡 | Donoghue & Hattie 2021 |\r\n| Self-Explanation → 费曼学习法 | d=0.54* | 🔵 AI协议级 | 🔵 | Donoghue & Hattie 2021 |\r\n| Interleaved Practice → 交错练习 | d=0.47 | 🔵 AI协议级 | → 🟢 代码级 | Donoghue & Hattie 2021 |\r\n| Elaborative Interrogation → 因果追问 | d=0.56 | 🔵 AI协议级 | 🔵 | Donoghue & Hattie 2021 |\r\n| AI Tutoring (AI 辅导) | 0.63-1.3 SD | 🟢🟡 混合级 | 🟢🟡 | Kestin et al. 2025 RCT |\r\n\r\n> **Note (注)**: *d=0.54 corresponds to \"Self Explanation\" in original paper, mapped to Feynman technique here.\r\n> *d=0.54 对应原文\"自我解释\"，此处映射为费曼学习法。\r\n> **Execution Layer (执行层)**: 🟢 代码强制执行 | 🟢🟡 代码框架+AI内容 | 🔵 AI在会话中执行\r\n\r\n---\r\n\r\n## 🔄 Complete Workflow: Five Steps (完整流程：五步启动)\r\n\r\n### Step 0: Learning Assessment (学习意愿评估)\r\n- User completes self-assessment questionnaire (主题、目标、水平、时间、偏好)\r\n- 用户完成自我评估问卷\r\n\r\n### Step 0.1: Learning Contract (学习契约)\r\n- Trigger: After Step 0, before Step 1\r\n- 触发时机：Step 0 完成后，Step 1 之前\r\n- AI generates a learning plan based on assessment\r\n- AI 助手根据评估生成学习计划\r\n- User can confirm, modify, or skip\r\n- 用户可以确认、修改或跳过\r\n\r\n**Output format (输出格式)**:\r\n```\r\n📅 学习时间\r\n- 每周学习天数：周一到周五（5 天）\r\n- 每天学习时间：晚上 8:00 - 9:00（1 小时）\r\n- 休息日：周六、周日（轻量复习）\r\n\r\n📚 学习节奏\r\n- 每个模块预计：3-5 天\r\n- 每天新概念：2-3 个\r\n- 每天复习：根据间隔重复算法（SM-2/FSRS-5）到期情况\r\n\r\n🎯 目标\r\n- 目标等级：L4 熟练\r\n- 预计总时长：30 小时\r\n- 预计完成日期：2026-06-15\r\n\r\n请确认以上计划，或告诉我需要调整的地方。\r\n你可以：\r\n1. 输入\"确认\"接受计划\r\n2. 输入\"修改\"调整学习时间\r\n3. 输入\"跳过\"使用默认设置\r\n```\r\n\r\n**Estimated duration formula (预计时长公式)**:\r\n```\r\n预计总时长 = 模块数 × 每模块平均Phase数 × 每Phase平均时长\r\n预计完成日期 = 当前日期 + 预计总时长 / (每日学习时长 × 每周学习天数)\r\n```\r\n\r\n**Scientific basis (科学依据)**: Gollwitzer (1999) - Implementation intentions. Specific plans increase execution rate by d=0.65.\r\n\r\n**Reminder creation (提醒创建)**:\r\nAfter user confirms the learning contract, AI MUST create a timed reminder:\r\n1. Extract learning time from the contract (e.g., \"每天 20:00\")\r\n2. Create a reminder using whatever mechanism your platform provides:\r\n   - OpenClaw → `openclaw cron add`\r\n   - WorkBuddy → natural language automation\r\n   - Claude Code → `/schedule` command\r\n   - Other → tell user to set up manually\r\n3. Tell user: \"提醒已设置，每天 XX:XX 会提醒你学习\"\r\n4. If creation fails → tell user the fallback plan\r\n\r\n**Reminder check at session start (会话开始时提醒检查)**:\r\nEvery time a learning session starts, check if the user has a timed reminder.\r\n- If yes → continue normally\r\n- If no → create one (time from learning plan, message: \"该复习了！\")\r\n\r\n### Step 0.5: Pre-study Materials (预习材料 - 零基础专用)\r\n- Trigger: user self-assesses as \"complete beginner\"\r\n- 触发条件：用户自评\"完全零基础\"\r\n- AI searches beginner materials, creates \"quick overview\" (800-1500 words)\r\n- AI 助手搜索入门资料，精炼成\"快速概览\"\r\n\r\n### Step 1: Diagnostic Test (摸底考试)\r\n- 5-8 questions, covering basics to advanced\r\n- 5-8 道题，覆盖基础到进阶\r\n- ⚠️ Diagnostic test does NOT call record-test, NOT written to test_history\r\n- ⚠️ 摸底考试不调用 record-test，不写入 test_history\r\n\r\n### Step 2: Learning Path Customization (学习路径定制)\r\n- Step 2a: Industry research (web_search learning routes, job requirements)\r\n- Step 2a：行业调研（web_search 搜索学习路线、岗位要求）\r\n- Step 2b: Path generation (3-8 modules with goals, knowledge points, acceptance criteria)\r\n- Step 2b：路径生成（3-8 个模块，含目标、知识点、验收标准）\r\n- Step 2c: User confirmation before starting\r\n- Step 2c：用户确认后开始学习\r\n\r\n### Step 3-4: Learning Loop + Spaced Repetition (学习循环 + 间隔复习)\r\n- See [references/full-workflow.md](references/full-workflow.md)\r\n- 详见 [references/full-workflow.md](references/full-workflow.md)\r\n\r\n---\r\n\r\n## 📊 Level System L1-L5 (等级系统)\r\n\r\n| Level (等级) | Standard (标准) | Behavior (行为特征) |\r\n|--------------|-----------------|---------------------|\r\n| 🔴 L1 Entry (入门) | No test history or first <20% | Start from zero (从零开始) |\r\n| 🟠 L2 Beginner (初学) | First >=20% | Has concepts but not systematic (有概念但不系统) |\r\n| 🟡 L3 Intermediate (进阶) | 2 consecutive >=40% | Can apply independently (能独立应用) |\r\n| 🟢 L4 Proficient (熟练) | 2 consecutive >=70% | Can solve complex problems (能解决复杂问题) |\r\n| 🔵 L5 Mastery (精通) | 2 consecutive >=90% + Feynman check | Can teach others (能教会别人) |\r\n\r\n### Promotion/Demotion Rules (升降级规则)\r\n- Promotion: 2 consecutive passes (升级：连续 2 次达标)\r\n- Demotion: 3 consecutive failures, one level per check, min L2 (降级：连续 3 次不达标，每次只降一级，最低 L2)\r\n- Gradual degradation: knowledge fades continuously, not in steps (渐进衰减：知识连续衰减，非阶梯式)\r\n\r\n### Two Independent Dimensions (两个独立维度)\r\n- **Level (等级)** = Based on module test accuracy (权威)\r\n- **Review Status (复习状态)** = Based on concept mastery ratio (仅展示)\r\n\r\n---\r\n\r\n## 🔄 Learning Loop Per Module (学习循环 - 每模块)\r\n\r\n### Phase 0: Framework Building (框架搭建 - 10-15 min)\r\n- AI asks questions, guides discovery of core concepts\r\n- AI 助手提问，引导发现核心概念\r\n\r\n### Phase 1: Active Input (主动输入 - 25-40 min)\r\n- User studies materials, pause to recall every 15 min\r\n- 用户学习原始材料，每 15 分钟暂停回忆\r\n\r\n### Phase 2: Feynman Check (费曼检验 - 15-20 min)\r\n- User explains to AI, AI plays \"confused student\"\r\n- 用户向 AI 解释所学，AI 扮演\"不懂的学生\"追问\r\n- **Scoring**: 3 questions × 10 pts (Accuracy 4 + Depth 3 + Examples 3)\r\n- Each ≥7 pts = pass; all 3 must pass (与模块测试评分规则一致)\r\n\r\n### Phase 2.5: Simulation (实战模拟 - 15-20 min)\r\n- Recommend 2-3 scenarios, user chooses, execute 3-5 rounds\r\n- 推荐 2-3 个模拟场景，用户选择后执行 3-5 轮\r\n- Score by 5 dimensions (100 points), see scripts/scenarios.md\r\n- 按 5 维度打分（100分），见 scripts/scenarios.md\r\n\r\n### Phase 3: Test & Reinforce (测试巩固 - 15-20 min)\r\n- 5-8 mixed question types\r\n- 5-8 道混合题型测试\r\n- ⚠️ Must determine \"review\" or \"module test\"\r\n- ⚠️ 必须判定\"复习\"还是\"模块测试\"\r\n\r\n| Item (项目) | Review (复习) | Module Test (模块测试) |\r\n|-------------|---------------|------------------------|\r\n| Purpose (目的) | Strengthen memory (强化记忆) | Phase assessment (阶段性评估) |\r\n| Impact (影响) | No level change (不影响等级) | Determines level (决定等级升降) |\r\n| Command (命令) | srs.py rate | srs.py record-test |\r\n\r\n**Decision rule (判定规则)**:\r\n- First completion of a module → Module Test (`record-test`)\r\n- Retest after fixing weak areas → Module Test (`record-test`)\r\n- Daily review / spaced repetition due → Review (`rate`)\r\n- Rule of thumb: If the result could change the user's level → Module Test. Otherwise → Review.\r\n\r\n### Phase 4: Spaced Repetition (间隔复习 - SM-2/FSRS-5)\r\n- Based on spaced repetition schedule (SM-2 or FSRS-5, configurable), proactive reminders when due\r\n- 基于间隔重复时间表（SM-2 或 FSRS-5，可配置），到期主动提醒\r\n- Heartbeat check: `python3 scripts/srs.py due`\r\n- 心跳检查：`python3 scripts/srs.py due`\r\n\r\n---\r\n\r\n## ⚠️ Burnout Detection (倦怠检测)\r\n\r\n**Triggers (触发条件 - 任一)**:\r\n- 3+ consecutive wrong answers (连续答错 3 题以上)\r\n- 2 consecutive score drops (连续 2 次测试分数下降)\r\n- User says \"tired\" / \"too hard\" (用户主动说\"累了\"\"太难了\")\r\n\r\n**Response (响应)**: Lower difficulty, suggest break, switch to easy mode\r\n**响应**：降低难度、建议休息、切换轻松模式\r\n\r\n---\r\n\r\n## 🤖 AI Assistant Behavior (AI 助手行为规范)\r\n\r\n### ✅ Should Do (应该做的)\r\n- User asks question → First ask \"what do you think?\"\r\n- 用户问问题 → 先反问\"你是怎么想的？\"\r\n- User stuck → Give hints (not answer)\r\n- 用户卡住 → 给提示（不是答案）\r\n- **Before answering knowledge questions → web_search first**\r\n- **每次回答知识性问题前 → 先 web_search 验证**\r\n- **Level changes must inform user immediately**\r\n- **等级变化时必须主动告知用户**\r\n\r\n### ❌ Should Not Do (不应该做的)\r\n- Give complete answer directly (除非用户明确要求)\r\n- Only score without explanation after test (测试后只打分不解析)\r\n\r\n---\r\n\r\n## 🔍 Search-First Rules (搜索优先规则)\r\n\r\n**Iron rule: AI must search before answering any knowledge question**\r\n**铁律：AI 助手回答任何知识性问题前，必须先搜索验证**\r\n\r\n| Scenario (场景) | Must Search? (必须搜索?) |\r\n|-----------------|--------------------------|\r\n| User asks \"what is XX\" (用户问\"XX 是什么\") | ✅ |\r\n| Correct answer for test (出测试题的正确答案) | ✅ |\r\n| Feynman check judgment (费曼检验时判断对错) | ✅ |\r\n| Planning learning path (规划学习路径) | ✅ |\r\n| Basic common knowledge (基础常识) | ❌ |\r\n| Flow conversation (流程性对话) | ❌ |\r\n\r\n**Rule (规则)**: Factual statements must include source links\r\n**规则**：事实性陈述必须附来源链接\r\n\r\n---\r\n\r\n## 🔒 Session Checkpoint (会话检查点)\r\n\r\n### Phase Completion Checklist (Phase 完成自检)\r\n```\r\n□ Current phase core output completed? (当前 Phase 核心产出已完成?)\r\n□ If module test: record-test called? (如果模块测试：已调用 record-test?)\r\n□ Key progress written to session notes? (关键进展已写入会话笔记?)\r\n```\r\n\r\n### Check Commands (检测命令)\r\n```bash\r\npython3 scripts/srs.py check-session [topic]  # Check unrecorded tests\r\npython3 scripts/srs.py check-burnout <topic>   # Analyze burnout risk\r\n```\r\n\r\n---\r\n\r\n## 🧠 Memory Persistence (记忆持久化)\r\n\r\n### Dual System (双系统)\r\n\r\n| System (系统) | Stores (存什么) | Location (位置) |\r\n|---------------|-----------------|-----------------|\r\n| Platform notes (平台笔记) | Progress summary, weak points (进度摘要、薄弱点) | Use your platform's native notes/memory |\r\n| ~/learn/ | SRS data, concept mastery (间隔重复数据、概念掌握度) | ~/learn/topics/{topic}/concepts.json |\r\n\r\n### Recovery Priority (恢复优先级)\r\nconcepts.json > session notes (concepts.json > 笔记)\r\n> The critical data is in concepts.json. Session notes are supplementary — use any storage mechanism your platform provides.\r\n> 关键数据在 concepts.json。会话笔记是辅助性的——用你平台自带的任何存储方式。\r\n\r\n---\r\n\r\n## 💓 Review Reminders (复习提醒 - Heartbeat)\r\n\r\n```\r\nAI receives heartbeat → python3 scripts/srs.py due → Has due content → Notify user\r\nAI 助手收到心跳 → python3 scripts/srs.py due → 有到期内容 → 通知用户\r\n```\r\n\r\n---\r\n\r\n## ⚙️ Configuration (配置系统)\r\n\r\n```\r\n~/learn/config.json\r\n{\r\n  \"algorithm\": \"fsrs\",           // fsrs (default) / sm2\r\n  \"fsrs_weights\": null,          // Personalized FSRS weights (optimize-params generates)\r\n  \"learning_depth\": \"standard\",  // shallow / standard / deep\r\n  \"learner_type\": \"practical\",   // visual / practical / theoretical\r\n  \"daily_review_limit\": 20,\r\n  \"session_duration\": 60,\r\n  \"burnout_threshold\": 3,\r\n  \"mastery_threshold\": 0.8,\r\n  \"level_thresholds\": { \"L2\": 0.2, \"L3\": 0.4, \"L4\": 0.7, \"L5\": 0.9 },\r\n  \"learning_contract\": {},       // Saved by sign-contract (time, days, duration, target_level)\r\n  \"reminder_channels\": [],       // Managed by setup-reminder\r\n  \"active_channel\": null         // Current reminder channel\r\n}\r\n```\r\n\r\n---\r\n\r\n## 🧬 Personalized Parameters (个性化参数优化)\r\n\r\n**FSRS-5 支持个性化参数优化**，让算法适应每个用户的记忆特征。\r\n\r\n```bash\r\npython3 srs.py optimize-params\r\n```\r\n\r\n**前置条件**：\r\n- 需要 1,000+ 条 review 记录（FSRS 社区经验：低于此会过拟合）\r\n- 需要多样化的 rating 分布（>95% 相同 rating = 无效信号）\r\n- 建议每 2-3 个月优化一次，不要频繁优化\r\n\r\n**优化过程**：\r\n- 使用数值梯度下降（有限差分）最小化 BCE 损失\r\n- 优化 w[0]-w[14]（15/19 个参数）\r\n- 跳过 w[15]-w[18]（hard/easy 系数 + 短期学习参数，数据不足）\r\n- 结果保存到 config.json 的 `fsrs_weights` 字段\r\n\r\n**何时触发**：\r\n- 当用户积累了足够 review 数据时，AI 应主动建议运行 `optimize-params`\r\n- 新参数需要 2 周观察期才能评估效果\r\n\r\n---\r\n\r\n## 📋 Quick Command Reference (命令速查)\r\n\r\n**Core**: `init`, `add`, `review`, `rate`, `due`, `status`\r\n**Analytics**: `today`, `streak`, `analyze`, `weekly-report`, `reminder`\r\n**Tests**: `record-test`, `test-history`, `record-simulation`, `simulation-history`\r\n**Config**: `config`, `sign-contract`, `setup-reminder`, `optimize-params`\r\n**Diagnostics**: `profile`, `check-session`, `check-burnout`\r\n\r\n> Full CLI reference with examples: README.md\r\n\r\n---\r\n\r\n## 📚 References (参考材料)\r\n\r\n- **Full workflow (完整流程)**: references/full-workflow.md\r\n- **Scenario library (场景库)**: scripts/scenarios.md\r\n- **Academic citations (学术引用)**: scripts/evidence.md\r\n- **Level algorithm (等级算法)**: scripts/srs.py\r\n- **Output templates (输出模板)**: scripts/templates.md\r\n\r\n---\r\n\r\n## 🎯 Multi-Topic Support (多主题支持)\r\n\r\n| Priority (优先级) | Description (描述) | Example (示例) |\r\n|-------------------|-------------------|---------------|\r\n| 1-Urgent (紧急) | Deadline approaching (截止日期临近) | Exam prep (考试准备) |\r\n| 2-Important (重要) | Core skills (核心技能) | Programming (编程语言) |\r\n| 3-Regular (常规) | Daily learning (日常学习) | New tech (新技术) |\r\n| 4-Extended (扩展) | Broaden horizons (拓宽视野) | Related fields (相关领域) |\r\n| 5-Reserve (储备) | Future use (未来可能用到) | Learning list (待学习清单) |\r\n\r\n- Max 3 topics simultaneously (最多同时 3 个主题)\r\n- Each topic has independent concepts.json (每个主题独立的 concepts.json)\r\n- Reviews can cross topics - interleaving (复习可以跨主题 - 交错练习)\r\n\r\n---\r\n\r\n## 🆕 What's New in v1.4 (v1.4 更新)\r\n\r\n- **Multi-agent reminder**: sign-contract command + REMINDER_REQUIRED output for any platform\r\n- **Cross-platform**: compatible with OpenClaw, WorkBuddy, Claude Code, Hermes Agent\r\n- **SKILL.md**: platform-aware execution checklist, compact command reference\r\n- **srs.py**: `_is_openclaw_available()` platform detection + automatic fallback\r\n\r\n> Full changelog: [CHANGELOG.md on GitHub](https://github.com/kaixiad/RetainCraft/blob/main/CHANGELOG.md)\n\nFile v1.4.4:_meta.json\n\n{\n  \"ownerId\": \"kn72na7n2c9e64jehgd6p7navh86q2md\",\n  \"slug\": \"retaincraft\",\n  \"version\": \"1.4.4\",\n  \"publishedAt\": 1779459330556\n}\n\nFile v1.4.4:references/full-workflow.md\n\n# RetainCraft 完整工作流\r\n\r\n> **版本**: v1.4.0 | **更新日期**: 2026-05-22 | **状态**: 详细参考文档（SKILL.md 的扩展版）\r\n> 本文档包含 RetainCraft 的详细流程说明，供 AI 助手按需参考。\r\n\r\n---\r\n\r\n## 📚 核心方法论(循证)\r\n\r\n| 方法 | 效果量 | 来源 | 适用阶段 |\r\n|------|--------|------|----------|\r\n| 间隔重复 | d=0.85 | Donoghue & Hattie 2021 元分析 | 长期记忆巩固 |\r\n| 主动回忆 | d=0.74 | Donoghue & Hattie 2021 元分析 | 知识提取训练 |\r\n| 交错练习 | d=0.47 | Donoghue & Hattie 2021 元分析 | 灵活运用能力 |\r\n| 精细加工提问 | d=0.56 | Donoghue & Hattie 2021 元分析 | 深度加工 |\r\n| 费曼学习法 | d=0.54* | Donoghue & Hattie 2021 元分析 | 深度理解检验 |\r\n| AI 辅导 | 0.63-1.3 SD | Kestin et al. 2025 RCT (N=194) | 个性化学习 |\r\n\r\n> **注**：*d=0.54 对应原文\"自我解释\"（Self Explanation），此处映射为费曼学习法。严格来说，\"自我解释\"强调学习者解释自身认知过程，而\"费曼学习法\"强调向他人教授。两者在认知机制上有重叠但不完全等同，此处采用概念近似映射。\r\n> 所有 d 值均来自 Donoghue & Hattie (2021) 元分析（242 项研究，169,179 名参与者）。\r\n\r\n**参考**: scripts/evidence.md(详细引用和效果量)\r\n\r\n---\r\n\r\n## 🔄 完整流程:五步启动\r\n\r\n### Step 0:学习意愿评估(用户自我评价)\r\n\r\n在正式学习之前,让用户完成一份自我评估问卷。\r\n\r\n**输出格式**:\r\n```\r\n📋 学习自我评估问卷\r\n1. 你想学什么?[主题]\r\n2. 学完之后你想能做什么?[目标]\r\n3. 你当前的水平?[🔴零基础 / 🟡有点概念 / 🟢学过一些 / 🔵有基础]\r\n4. 每天能花多少时间学习?[X 分钟/小时]\r\n5. 有没有截止日期?\r\n6. 你更喜欢哪种学习方式?[阅读/视频/播客/实践/讨论]\r\n7. 之前用过什么方法学?效果如何?\r\n8. 你觉得自己的薄弱环节是什么?\r\n```\r\n\r\n### Step 0.1:学习契约(Learning Contract)\r\n\r\n在评估完成后，与用户确认学习契约，明确双方责任和预期。\r\n\r\n**学习契约内容**:\r\n```\r\n📝 学习契约\r\n\r\n学习者承诺:\r\n□ 每天投入 [X] 分钟学习时间\r\n□ 按时完成模块测试和复习任务\r\n□ 主动向 AI 助手反馈学习困难\r\n□ 遵循间隔重复的复习安排\r\n\r\nAI 助手承诺:\r\n□ 提供个性化的学习路径和材料\r\n□ 基于循证方法设计学习活动\r\n□ 及时记录学习进度和掌握度\r\n□ 在学习者疲劳时主动调整强度\r\n\r\n学习目标:\r\n□ 短期目标: [用户填写]\r\n□ 长期目标: [用户填写]\r\n□ 预期完成时间: [根据路径预估]\r\n\r\n确认方式: 用户回复\"我同意\"即视为契约生效\r\n```\r\n\r\n**契约的作用**:\r\n- 明确学习者的责任和承诺\r\n- 建立 AI 助手的服务标准\r\n- 作为后续学习效果评估的基准\r\n- 增强学习者的责任感和动力\r\n\r\n**技术实现**: 用户确认契约后，AI 助手调用：\r\n```bash\r\npython3 scripts/srs.py sign-contract '{\"time\":\"20:00\",\"days\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\"],\"duration\":60,\"target_level\":\"L4\"}'\r\n```\r\n代码保存契约到 config.json 并输出 `REMINDER_REQUIRED`，AI 助手根据输出创建平台对应的定时提醒。\r\n\r\n### Step 0.5:预习材料(零基础专用)\r\n\r\n**触发条件**:用户自评水平为\"完全零基础\"时自动启用。\r\n\r\n**AI助手做什么**:\r\n1. web_search 搜索该主题的入门资料\r\n2. 精炼成一份\"快速概览\"(800-1500 字)\r\n3. 用大白话写,避免术语\r\n4. 展示给用户,等待确认后再进入 Step 1\r\n\r\n**输出格式**:\r\n```\r\n📖 [主题] 快速概览\r\n\r\n1. 这个东西是什么?(一句话定义)\r\n2. 学了能做什么?(3 个实际用途)\r\n3. 核心概念(不超过 5 个,每个一句话解释)\r\n4. 常见误区(1-2 个)\r\n5. 推荐入门资源(1-2 个,附链接)\r\n\r\n---\r\n确认已阅读,回复\"继续\"进入摸底考试。\r\n```\r\n\r\n### Step 1:摸底考试(Pre-assessment Test)\r\n\r\n**目的**:客观测量用户当前水平\r\n\r\n**规则**:\r\n- 5-8 道题,覆盖从基础到进阶\r\n- 题型混合:概念理解 + 应用计算 + 分析判断\r\n- 告诉用户:\"凭直觉答,不会的就说不会,没关系\"\r\n\r\n**⚠️ 重要规则**:\r\n- 摸底考试不调用 record-test，不写入 test_history\r\n- 摸底成绩仅用于诊断当前水平，用于定制学习路径\r\n- 正式的等级评定从第一个模块测试开始\r\n\r\n### Step 2:学习路径定制(含行业调研)\r\n\r\n**Step 2a:行业调研(必须在规划前执行)**\r\n- web_search 搜索 \"[目标] 学习路线 2026\" / \"[目标] 岗位要求 / JD\"\r\n- web_search 搜索 \"[目标] 主流项目 / 实战教程\"\r\n- 提取:必备技能、加分技能、主流工具链、学习资源\r\n- 标注来源和搜索日期\r\n- ⚠️ 行业调研是强制步骤,不搜索就不能规划\r\n\r\n**Step 2b:路径生成**\r\n- 基于行业调研结果 + Step 0 用户水平 + Step 1 摸底成绩\r\n- 拆分为 3-8 个模块,每个模块包含:\r\n  - 学习目标(学完能做什么)\r\n  - 核心知识点(从搜索结果提取,标注来源)\r\n  - 验收标准(怎么证明学会了)\r\n  - 预估时间\r\n  - 推荐资源(附链接 + 发布日期)\r\n\r\n**Step 2c:用户确认**\r\n- 展示路径,用户可以调整顺序、增删模块\r\n- 用户确认后才开始学习\r\n\r\n**输出格式**:\r\n```\r\n🗺️ 个性化学习路径\r\n主题:[主题]\r\n目标:[目标]\r\n当前水平:[诊断结果]\r\n行业调研来源:[搜索结果链接]\r\n预估时间:[总时间]\r\n\r\n📚 模块列表\r\nModule 1: [名称] - [内容] - [验收标准] - [预估时间]\r\n  📖 推荐资源:[资源名称](链接) (发布日期)\r\nModule 2: ...\r\n```\r\n\r\n---\r\n\r\n## 🔄 学习循环(每模块)\r\n\r\n### Phase 0:框架搭建(10-15 min)\r\n- AI助手提问,引导发现核心概念\r\n- 用户尝试回答\r\n- 建立知识骨架\r\n\r\n### Phase 1:主动输入(25-40 min)\r\n- 用户学习原始材料(阅读/视频/实践)\r\n- 每 15 分钟暂停回忆\r\n- AI助手回答问题,不替用户学\r\n\r\n### Phase 2:费曼检验(15-20 min)\r\n- 用户向 AI助手解释所学内容\r\n- AI助手扮演\"不懂的学生\"追问\r\n- 暴露理解漏洞,引导自己发现\r\n\r\n**费曼检验评分标准(L5 必需)**:\r\n- 追问回答准确性(4 分):核心概念是否正确\r\n- 追问回答深度(3 分):是否解释了\"为什么\"而不只是\"是什么\"\r\n- 追问回答举例(3 分):是否给出了具体例子\r\n- 单问 >= 7 分算通过,3 问全部通过才算费曼检验通过\r\n- 和模块测试的\"单题 >=7 分算答对\"规则一致\r\n\r\n### Phase 2.5:实战模拟(15-20 min)\r\n- AI助手根据学习主题推荐 2-3 个模拟场景\r\n- 用户选择一个场景\r\n- AI助手宣布\"现在我切换为 [角色名],模拟开始\"\r\n- 用户输入 prompt → 模拟角色响应(3-5 轮)\r\n- 模拟结束,AI助手宣布\"模拟结束,切换回用户角色\"\r\n- 按 5 维度打分(100分)，具体维度见 scripts/scenarios.md 中的主题专用评分表\r\n- 执行 `srs.py record-simulation` 记录数据\r\n\r\n**参考**: scripts/scenarios.md(场景库示例 + 主题专用评分维度)\r\n\r\n### Phase 3:测试巩固(15-20 min)\r\n- 5-8 道混合题型测试\r\n- 逐题详细解析\r\n- 错题记录 + 掌握度评分\r\n\r\n**测试题型分配(按等级)**:\r\n- L1-L2:70% 概念回忆 + 20% 应用 + 10% 分析\r\n- L3:50% 概念回忆 + 30% 应用 + 20% 分析\r\n- L4:30% 概念回忆 + 35% 应用 + 25% 分析 + 10% 对比\r\n- L5:20% 概念回忆 + 30% 应用 + 30% 分析 + 20% 对比\r\n\r\n**Phase 3 类型判定(AI助手必须在出题前确认)**:\r\n- 复习 → 只更新间隔重复状态(不调用 record-test)\r\n- 模块测试 → 必须调用 record-test,决定等级升降\r\n\r\n**📌 复习 vs 模块测试(重要区分)**:\r\n\r\n| 项目 | 复习 | 模块测试 |\r\n|------|------|----------|\r\n| 目的 | 强化记忆 | 阶段性评估 |\r\n| 影响 | 不影响等级 | 决定等级升降 |\r\n| 题型 | 概念回忆为主 | 按等级分配题型 |\r\n| 记录 | 间隔重复状态更新(FSRS-5/SM-2) | test_history 记录 |\r\n| 命令 | srs.py rate | srs.py record-test |\r\n\r\n**Phase 3 结束后自检(必须执行)**:\r\n- □ 是否已判定本次是\"复习\"还是\"模块测试\"?\r\n- □ 如果是模块测试,是否已执行 record-test?\r\n- □ 是否已显示总分和答对率?\r\n- □ 是否已显示等级判定结果?\r\n\r\n**模块测试后行为指南**:\r\n\r\n| 测试结果 | AI 助手行为 |\r\n|----------|------------|\r\n| 答对率 >=70% | 确认通过,进入下一模块 |\r\n| 答对率 40-69% | 分析错题,建议重学薄弱知识点后重测当前模块 |\r\n| 答对率 <40% | 建议回到 Phase 0 重新搭建框架,降低难度重新学习 |\r\n| 连续 2 次 <40% | 触发倦怠检测,建议休息或切换学习方式 |\r\n\r\n- 重测时,出题应覆盖上次错题的知识点\r\n- 不要跳过薄弱模块直接学下一个——基础不牢会连锁影响后续模块\r\n- 如果用户坚持要继续,记录建议但尊重用户选择\r\n\r\n### Phase 4:间隔复习(FSRS-5 默认,SM-2 备选)\r\n- **默认算法**: FSRS-5 (IEEE TKDE 2023)，ML-based，19 个可优化参数\r\n- **备选算法**: SM-2 (Wozniak 1987)，通过 `config set algorithm sm2` 切换\r\n- **FSRS-5 核心**: 幂律遗忘曲线 R(t,S) = (1+FACTOR×t/S)^DECAY\r\n- **FSRS-5 评分**: wrong→稳定性骤降，hard→小增，good→正常增，easy→大增\r\n- **个性化**: 积累 1000+ 次 review 后可运行 `optimize-params` 优化参数\r\n- SM-2 备选: ease_factor 初始 2.5,good/hard/easy/wrong 四种评分公式\r\n\r\n**optimize-params 命令**:\r\n```bash\r\npython3 scripts/srs.py optimize-params [topic]\r\n```\r\n- **触发条件**: 积累 1000+ 次 review 记录后\r\n- **功能**: 基于用户历史数据，使用机器学习优化 FSRS-5 的 19 个参数\r\n- **输出**: 个性化参数，自动保存到 `config.json` 的 `fsrs_weights` 字段\r\n- **效果**: 提升复习调度精度，使间隔更贴合个人记忆特点\r\n- **建议**: 每 6 个月或积累 2000+ 次 review 后重新优化\r\n\r\n**⚠️ 本节描述仅供参考,以 scripts/srs.py 源码为准。**\r\n\r\n**触发机制**:\r\n- 基于 FSRS-5/SM-2 时间表，到期主动提醒\r\n- 心跳检查: `python3 scripts/srs.py due`\r\n- 有到期内容 → 发送复习提醒\r\n- 没有 → HEARTBEAT_OK\r\n\r\n**交互流程**:\r\n```\r\nAI发起: \"你有 N 个概念需要复习，现在开始吗？\"\r\n├── 用户选择: 立即开始 / 稍后提醒 / 跳过\r\n├── 稍后提醒: 记录时间，下次心跳检查\r\n├── 跳过: 更新下次复习时间，不扣分\r\n└── 立即开始:\r\n    ├── AI出题: 根据概念生成测试题\r\n    ├── 学习者作答\r\n    ├── AI反馈: 逐题解析 + 标记弱点\r\n    └── 更新复习日历: srs.py rate <topic> <concept> <rating>\r\n```\r\n\r\n**用户可选**:\r\n- 立即开始: 进入复习流程\r\n- 稍后提醒: 记录时间，下次心跳检查\r\n- 跳过: 更新下次复习时间，不扣分\r\n\r\n**AI助手执行指令**:\r\n1. 对每个答错的概念，调用 `srs.py add <topic> <concept>` 确保概念存在\r\n2. 根据答对/答错情况，调用 `srs.py rate <topic> <concept> <rating>` 更新间隔重复状态(FSRS-5/SM-2)\r\n   - rating 取值：easy / good / hard / wrong\r\n   - 示例：`python3 scripts/srs.py rate 线性代数 矩阵乘法 good`\r\n3. 注意：`srs.py review` 是交互式命令（需要用户输入），AI 助手不可直接调用。应使用 `srs.py rate` 逐步更新概念状态\r\n\r\n### v1.3.0 新增命令\r\n\r\n**今日学习概览**:\r\n```bash\r\npython3 scripts/srs.py today [topic]\r\n```\r\n- 显示今日待复习概念、新概念数量、预计学习时长\r\n- 可选按 topic 过滤，不指定则显示所有主题\r\n\r\n**学习连续天数**:\r\n```bash\r\npython3 scripts/srs.py streak [topic]\r\n```\r\n- 显示当前连续学习天数、最长连续记录\r\n- 激励用户保持学习习惯\r\n\r\n**学习分析报告**:\r\n```bash\r\npython3 scripts/srs.py analyze [topic] [--period 7d|30d|all]\r\n```\r\n- 生成学习效果分析：答对率趋势、薄弱知识点、学习效率\r\n- 支持按时间范围筛选\r\n- 输出可视化数据（供 AI 助手解读给用户）\r\n\r\n---\r\n\r\n## 📊 等级系统(L1-L5)\r\n\r\n### 等级判定算法(权威标准)\r\n\r\n**算法流程**:\r\n1. 初始等级 = L1\r\n2. L1→L2:前 2 次测试平均答对率 >= 20%\r\n3. 遍历所有相邻测试对,检查是否满足下一级阈值:\r\n   - L2→L3:连续 2 次 >= 40%\r\n   - L3→L4:连续 2 次 >= 70%\r\n   - L4→L5:连续 2 次 >= 90%\r\n4. 每次匹配成功只升一级,不能跳级\r\n\r\n**⚠️ 算法已在 srs.py 中实现,SKILL.md 不重复写伪代码。**\r\n\r\n### 等级标准\r\n\r\n| 等级 | 标准 | 行为特征 |\r\n|------|------|----------|\r\n| 🔴 L1 入门 | 无模块测试记录,或首次模块测试答对率 <20% | 从零开始,需要基础概念讲解 |\r\n| 🟠 L2 初学 | 首次模块测试答对率 >=20%(L3 需连续 2 次达标) | 有概念但不系统,需要框架搭建 |\r\n| 🟡 L3 进阶 | 连续 2 次模块测试答对率 >=40% | 能独立应用基本概念 |\r\n| 🟢 L4 熟练 | 连续 2 次模块测试答对率 >=70% | 能解决复杂问题,理解深层原理 |\r\n| 🔵 L5 精通 | 连续 2 次模块测试答对率 >=90% + 费曼检验通过* | 能教会别人,知识完全内化 |\r\n\r\n> *注:L5 的费曼检验是 AI 助手执行的附加验证流程,不在 srs.py 代码中强制执行。srs.py 仅基于测试答对率进行等级判定。\r\n\r\n### 升降级规则\r\n\r\n**升级规则**：\r\n- L1→L2:前 2 次测试平均答对率 >= 20%\r\n- L2→L3:连续 2 次模块测试答对率 >=40%\r\n- L3→L4:连续 2 次模块测试答对率 >=70%\r\n- L4→L5:连续 2 次模块测试答对率 >=90% + 费曼检验 3 问全对\r\n\r\n**降级规则**（硬约束，已写入 srs.py）：\r\n- 连续 3 次测试低于当前等级阈值 → 降一级\r\n- 升级要 2 次达标，降级要 3 次不达标——升容易降难\r\n- 注：最低降到 L2。L1 只在无测试历史时触发\r\n- 每次检查只降一级，不连续降级\r\n\r\n**降级阈值**：\r\n- L3: 0.4 (40%)\r\n- L4: 0.7 (70%)\r\n- L5: 0.9 (90%)\r\n- 注：L2 为最低等级，不会降级到 L1\r\n\r\n### 两个独立维度\r\n\r\n- **等级** = 基于模块测试答对率(权威,用于升级判定)\r\n- **间隔重复状态** = 基于概念 mastered 比例(仅用于展示,不用于等级判定)\r\n- 两者独立计算,不混用\r\n\r\n---\r\n\r\n## 🎭 实战模拟(详细规范)\r\n\r\n### 目的\r\n通过模拟真实场景,检验用户的实战能力\r\n\r\n### 适用条件\r\n- 学习主题有明确的实战应用场景\r\n- 用户已完成 Phase 2(费曼检验)\r\n- 用户愿意尝试模拟\r\n\r\n### 执行流程\r\n```\r\nStep 1: 选择模拟场景\r\n└── AI助手根据学习主题推荐 2-3 个场景,用户选择\r\n\r\nStep 2: 加载场景角色设定\r\n└── 从 scripts/scenarios.md 中读取对应场景的 system prompt\r\n\r\nStep 3: 角色切换\r\n└── AI助手明确宣布:\"现在我切换为 [角色名],模拟开始\"\r\n└── 从此刻起,AI助手只按角色设定行动\r\n\r\nStep 4: 执行模拟(3-5 轮)\r\n└── 用户输入 prompt → 模拟角色响应 → 循环\r\n\r\nStep 5: 模拟结束 + 评估\r\n└── AI助手宣布:\"模拟结束,切换回用户角色\"\r\n└── 按 5 维度打分(100分)\r\n└── 输出评估报告\r\n\r\nStep 6: 记录\r\n└── srs.py record-simulation <topic> <scenario> <score> --rounds N\r\n```\r\n\r\n### 模拟模式\r\n统一用主会话模式(不 spawn 子会话)\r\n- 原因:某些渠道不支持 thread binding,spawn 子会话无法直接交互\r\n- 风险评估:短模拟(3-5 轮)在主会话内做是安全的,上下文污染风险很低\r\n\r\n### 评估维度\r\n\r\n按学习主题选择专用评分维度，见 scripts/scenarios.md 中的\"可配置评分维度\"章节。\r\n\r\n### 等级判定规则\r\n\r\n**等级判定来源(按优先级)**:\r\n1. 模块测试答对率(权威,连续 2 次达标才升级)\r\n2. 模拟得分(辅助,作为\"实战能力证明\")\r\n\r\n**两者关系**:\r\n- 模块测试达标 → 直接升级\r\n- 模块测试未达标 + 模拟得分 > 70 → 标记为\"实战能力达标,建议做模块测试确认\"\r\n- 两者都未达标 → 不升级\r\n\r\n---\r\n\r\n## ⚠️ 倦怠检测\r\n\r\n在每次测试后自动检查:\r\n\r\n**触发条件(任一)**:\r\n- 连续答错 3 题以上\r\n- 连续 2 次测试分数下降\r\n- 用户主动说\"累了\"\"不想学了\"\"太难了\"\r\n\r\n**响应**:\r\n1. 降低当前测试难度(出基础题替代进阶题)\r\n2. 建议休息 10-15 分钟\r\n3. 如果用户坚持继续,切换到轻松模式(复习已掌握的内容,不学新内容)\r\n\r\n---\r\n\r\n## 🤖 AI助手行为规范\r\n\r\n### ✅ 应该做的\r\n- 用户问问题 → 先反问\"你是怎么想的?\"\r\n- 用户卡住 → 给提示(不是答案),再想 3 分钟\r\n- 用户答对 → 确认 + 追问\"为什么是这样?\"\r\n- 用户答错 → 问\"你能再检查一下第 X 步吗?\"\r\n- 用户说\"我懂了\" → 用新场景测试确认\r\n- 学习结束 → 总结 + 掌握度 + 下次复习时间\r\n- **每次回答知识性问题前 → 先 web_search 验证,不靠记忆编造**\r\n- **每次给出数据/引用 → 附上真实来源链接**\r\n- **学习结束时 → 更新 memory/ 和 ~/learn/ 两个系统**\r\n- **答对率下降时 → 提醒用户复习，如\"你的答对率下降了，需要加强复习\"**\r\n- **等级变化时（升级或降级）必须主动告知用户，并说明原因和恢复路径**\r\n\r\n### ❌ 不应该做的\r\n- 直接给完整答案(除非用户明确要求)\r\n- 用户刚学完就立刻总结(让他先回忆)\r\n- 用户说不会就立刻解释(先问卡在哪里)\r\n- 测试后只打分不解析\r\n- 用户疲劳时继续高强度\r\n\r\n### 知识准确性规范\r\n- **简单事实类问题** → 从记忆回答,但标注\"据我所知\"\r\n- **官方标准类问题** → 必须搜索验证后再教,不能凭记忆编\r\n- **不确定的知识** → 宁可说\"我不确定,让我搜索一下\"\r\n- **核心原则**:区分\"我知道的\"和\"我猜的\"\r\n\r\n### 学习材料生成规范(防幻觉)\r\n- 写学习材料前 → web_search 搜索 \"[知识点] 最新文档 / 官方文档\"\r\n- 标注使用的文档版本和发布日期\r\n- 如果文档超过 2 年 → 标注\"内容可能过时,建议查看最新版本\"\r\n- 推荐学习资源时 → web_search 验证链接有效,优先近 1 年内的官方文档\r\n\r\n### 角色切换\r\n\r\n| 阶段 | 角色 | 职责 |\r\n|------|------|------|\r\n| Step 0 + 0.5 + 1 + 2 | 引导者 | 评估用户水平、定制学习路径 |\r\n| Phase 0 + 1 + 2 | 教练 | 引导学习、费曼检验 |\r\n| Phase 2.5 | 模拟角色 | 扮演模拟场景中的角色 |\r\n| Phase 3 + 4 | 考官 | 测试巩固、间隔复习 |\r\n\r\n---\r\n\r\n## 🔍 搜索优先规则(防幻觉核心机制)\r\n\r\n**铁律:AI助手回答任何知识性问题前,必须先搜索验证。**\r\n\r\n### 什么时候必须搜索\r\n\r\n| 场景 | 必须搜索? | 怎么搜 |\r\n|------|-----------|--------|\r\n| 用户问\"XX 是什么\" | ✅ | web_search 查定义 + web_fetch 读原文 |\r\n| 出测试题的正确答案 | ✅ | web_search 验证,确保答案准确 |\r\n| 费曼检验时判断用户对错 | ✅ | 不靠记忆判断,搜一下确认 |\r\n| 用户说了一个事实,AI助手要评价 | ✅ | 搜索验证后再评价 |\r\n| 复习时出题 | ✅ | 搜索确认答案再出题 |\r\n| 规划学习路径 | ✅ | web_search 搜索岗位 JD / 学习路线,标注日期 |\r\n| 写学习材料 | ✅ | web_search 搜索最新文档,优先官方文档 |\r\n| 推荐学习资源 | ✅ | web_search 验证链接有效 + 标注发布日期,优先近 1 年内容 |\r\n| 流程性对话(\"开始吧\"\"休息一下\") | ❌ | 不需要搜索 |\r\n| 鼓励性话语(\"做得好\") | ❌ | 不需要搜索 |\r\n\r\n### 搜索后怎么给用户\r\n```\r\nAI助手:矩阵乘法不满足交换律。\r\n        来源:[Wikipedia - Matrix multiplication]\r\n        (https://en.wikipedia.org/wiki/Matrix_multiplication#Non-commutativity)\r\n```\r\n\r\n**规则**:\r\n- 事实性陈述 → 必须附来源链接\r\n- 数据/数字 → 必须注明出处和年份\r\n- 不确定的 → 说\"我不确定,让我查一下\",然后真的去查\r\n- 查不到的 → 说\"我找不到可靠来源,建议你去查 [具体方向]\"\r\n- **绝对不要编造链接**--搜不到就说搜不到\r\n\r\n---\r\n\r\n## 🔒 Session Checkpoint 机制\r\n\r\n> **设计理念**: 参考 LangGraph checkpoint 设计,将学习流程视为状态机,在每个关键阶段结束时强制保存状态,防止 AI 因上下文遗忘而丢失进度。\r\n\r\n### Phase 完成自检(每个 Phase 结束时必须执行)\r\n\r\n```\r\nPhase X 完成 → AI 助手必须执行以下检查:\r\n  □ 1. 当前 Phase 的核心产出是否已完成?\r\n  □ 2. 如果 Phase 3 模块测试:是否已调用 record-test?\r\n  □ 3. 如果 Phase 4 间隔复习:是否已调用 rate 更新每个概念?\r\n  □ 4. 如果 Phase 2.5 实战模拟:是否已调用 record-simulation?\r\n  □ 5. 是否已将关键进展写入会话笔记?\r\n  □ 6. 用户是否已确认可以进入下一阶段?\r\n```\r\n\r\n### 违检检测命令\r\n\r\nAI 助手可在学习 session 开始或结束时调用以下命令进行一致性检查:\r\n\r\n```bash\r\n# 检测是否有未记录的模块测试(默认 2 小时内无记录视为 stale)\r\npython3 scripts/srs.py check-session [topic]\r\n\r\n# 分析指定 topic 的倦怠风险\r\npython3 scripts/srs.py check-burnout <topic> [--window N]\r\n```\r\n\r\n**check-session 用法**:\r\n- 在 session 开始时调用:确认上一次 session 是否正确关闭\r\n- 如果显示 [STALE]:说明上次可能遗漏了 record-test,提醒用户\r\n- 如果显示 [OK]:上次 session 正常关闭\r\n\r\n**check-burnout 用法**:\r\n- 在 session 开始时调用:了解用户当前学习状态\r\n- 返回 risk 等级: low / medium / high\r\n- high 风险时自动建议休息或切换主题\r\n\r\n### 状态保存时间线\r\n\r\n```\r\nPhase 0 完成 → 会话笔记更新进度\r\nPhase 1 完成 → 会话笔记更新进度\r\nPhase 2 完成 → 会话笔记更新进度 + 费曼检验记录\r\nPhase 2.5 完成 → record-simulation + 会话笔记更新\r\nPhase 3 完成 → record-test(模块测试) 或 rate(复习) + 会话笔记更新\r\nPhase 4 完成 → rate 每个复习概念 + 会话笔记更新\r\nsession 结束 → check-session 验证 + 会话笔记最终更新\r\n```\r\n\r\n---\r\n\r\n## 🧠 记忆持久化方案\r\n\r\n### 双系统分工\r\n\r\n| 系统 | 存什么 | 位置 | 谁读 |\r\n|------|--------|------|------|\r\n| **平台笔记** | 学习进度摘要、薄弱点、上次学到哪 | 使用平台原生的笔记/记忆系统 | AI助手每次启动自动读 |\r\n| **~/learn/** | FSRS-5/SM-2 算法数据、概念掌握度、配置 | `~/learn/topics/{topic}/concepts.json` | `srs.py` 脚本读写 |\r\n\r\n### 数据文件清单\r\n\r\n| 文件 | 位置 | 用途 | 格式 |\r\n|------|------|------|------|\r\n| `concepts.json` | `~/learn/topics/{topic}/` | 概念掌握度、间隔重复状态 | JSON 对象 |\r\n| `test_history.json` | `~/learn/topics/{topic}/` | 模块测试历史记录、等级变化 | JSON 数组 |\r\n| `learning_log.json` | `~/learn/topics/{topic}/` | 学习活动日志（费曼检验、模拟等） | JSON 数组 |\r\n| `config.json` | `~/learn/` | 全局配置（算法选择、阈值等） | JSON 对象 |\r\n| `profile.json` | `~/learn/` | 用户画像（学习偏好、历史统计） | JSON 对象 |\r\n\r\n### 恢复优先级\r\nconcepts.json > memory 文件\r\n- concepts.json 是算法数据,更可靠\r\n- memory 文件是人工记录,可能过时或错误\r\n- 矛盾时以 concepts.json 为准\r\n\r\n### 恢复流程\r\n```\r\nAI助手启动 →\r\n  1. 读 ~/learn/topics/{topic}/concepts.json → 知道哪些概念掌握(权威)\r\n  2. python3 scripts/srs.py due → 知道今天该复习什么\r\n  3. python3 scripts/srs.py test-history {topic} → 知道等级和测试历史\r\n  4. python3 scripts/srs.py check-session {topic} → 检查上次 session 是否正常关闭\r\n  5. 读 memory/YYYY-MM-DD.md(最近的)→ 补充上下文\r\n  6. 如果 memory 和 concepts.json 矛盾 → 以 concepts.json 为准\r\n```\r\n\r\n---\r\n\r\n## 💓 复习提醒(Heartbeat 集成)\r\n\r\n### 心跳时做什么\r\n```\r\nAI助手收到心跳 →\r\n  1. python3 scripts/srs.py due → 检查是否有到期复习\r\n  2. 如果有 → 向用户发送复习提醒\r\n  3. 如果没有 → HEARTBEAT_OK\r\n```\r\n\r\n### HEARTBEAT.md 配置\r\n```markdown\r\n## 📚 学习复习检查\r\n- 执行: python3 scripts/srs.py due\r\n- 有到期内容 → 通知用户\r\n- 没有 → HEARTBEAT_OK\r\n```\r\n\r\n---\r\n\r\n## ⚙️ 配置系统\r\n\r\n```\r\n~/learn/config.json\r\n{\r\n  \"learning_depth\": \"standard\",    // shallow / standard / deep\r\n  \"learner_type\": \"practical\",     // visual / practical / theoretical\r\n  \"daily_review_limit\": 20,         // 每日复习上限\r\n  \"session_duration\": 60,           // 单次学习时长(分钟)\r\n  \"burnout_threshold\": 3,           // 连续错题触发倦怠检测的阈值\r\n  \"mastery_threshold\": 0.8,         // 答对率超过此值视为掌握\r\n  \"algorithm\": \"fsrs\",              // 算法选择：fsrs(默认) 或 sm2\r\n  \"fsrs_weights\": null,             // FSRS 个性化参数（optimize-params 生成，初始为 null）\r\n  \"level_thresholds\": {             // 等级升降阈值\r\n    \"L2\": 0.2,\r\n    \"L3\": 0.4,\r\n    \"L4\": 0.7,\r\n    \"L5\": 0.9\r\n  }\r\n}\r\n```\r\n\r\n**配置字段说明**:\r\n\r\n| 字段 | 谁读 | 用途 |\r\n|------|------|------|\r\n| `learning_depth` | AI 助手 | 控制讲解深度：shallow(只要记住)、standard(理解怎么做)、deep(理解为什么) |\r\n| `learner_type` | AI 助手 | 控制教学风格：visual(多用图表)、practical(多用实例)、理论(多用原理推导) |\r\n| `daily_review_limit` | srs.py | 每天最多复习多少个概念 |\r\n| `session_duration` | AI 助手 | 单次学习时长上限(分钟),用于安排内容量 |\r\n| `burnout_threshold` | AI 助手 | 连续答错多少题触发倦怠检测 |\r\n| `mastery_threshold` | srs.py | 掌握度判定：答对率超过此值视为\"mastered\" |\r\n| `algorithm` | srs.py | 算法选择：`fsrs`(默认) 或 `sm2` |\r\n| `fsrs_weights` | srs.py | FSRS 个性化参数（optimize-params 生成） |\r\n| `level_thresholds` | srs.py | 等级升降的答对率阈值,已在代码中强制执行 |\r\n\r\n> **注**: `learning_depth` 和 `learner_type` 是给 AI 助手读取的配置信息,AI 助手应根据这些值调整教学行为。srs.py 不使用这两个字段。\r\n\r\n---\r\n\r\n## 📚 参考材料\r\n\r\n- **场景库示例**:scripts/scenarios.md\r\n- **学术引用和效果量**:scripts/evidence.md\r\n- **等级判定算法**:scripts/srs.py(源码为准)\r\n- **学习模板库**:scripts/templates.md\r\n- **模板数据文件**:learning-templates.json\r\n\r\n---\r\n\r\n## 🎯 多主题支持\r\n\r\n### 优先级队列\r\n\r\n每个学习主题独立进度，按优先级排列：\r\n\r\n| 优先级 | 描述 | 示例 |\r\n|--------|------|------|\r\n| 1-紧急 | 截止日期临近、考试在即 | 期末考试、面试准备 |\r\n| 2-重要 | 核心技能、职业发展 | 编程语言、专业认证 |\r\n| 3-常规 | 日常学习、兴趣探索 | 新技术、爱好 |\r\n| 4-扩展 | 拓宽视野、跨领域 | 相关领域、软技能 |\r\n| 5-储备 | 未来可能用到、暂时搁置 | 待学习清单 |\r\n\r\n### 主题切换机制\r\n\r\n**用户主动切换**:\r\n- 用户说\"我想学 XX\" → 切换到该主题\r\n- AI助手询问:\"要暂停当前主题吗？还是并行学习？\"\r\n\r\n**遗忘曲线触发**:\r\n- 某个主题超过 7 天没有复习 → 主动提醒\r\n- \"你已经 7 天没复习 Python 了，要安排复习吗？\"\r\n\r\n**关联提示**:\r\n- 学习新主题时，发现与已有主题有关联 → 提示\r\n- \"你学的这个概念和之前学的 XX 有关联，要一起复习吗？\"\r\n\r\n### 并行学习规则\r\n\r\n- 最多同时进行 3 个主题（避免分散精力）\r\n- 每个主题独立的 concepts.json 和 test_history\r\n- 每次学习 session 专注于一个主题\r\n- 复习可以跨主题（交错练习）\n\nFile v1.4.4:scripts/evidence.md\n\n# 学术引用和效果量\r\n\r\n> 本文档包含 SKILL.md 中引用的学术研究和效果量，供参考。\r\n> 所有引用均经过溯源验证，确保准确性。\r\n\r\n---\r\n\r\n## 核心方法论（循证）\r\n\r\n| 方法 | 效果量 (d) | 来源 | 原始编码类别 | 适用阶段 | 落地层级 |\r\n|------|-----------|------|-------------|----------|----------|\r\n| 间隔重复 | 0.85 | Donoghue & Hattie 2021 | Distributed Practice | 长期记忆巩固 | 🟢 代码级 |\r\n| 主动回忆 | 0.74 | Donoghue & Hattie 2021 | Practice Testing | 知识提取训练 | 🟢🟡 混合级 |\r\n| 精细加工提问→因果追问 | 0.56 | Donoghue & Hattie 2021 | Elaborative Interrogation | 深度加工 | 🔵 AI协议级 |\r\n| 自我解释→费曼学习法 | 0.54 | Donoghue & Hattie 2021 | Self Explanation | 深度理解检验 | 🔵 AI协议级 |\r\n| 交错练习 | 0.47 | Donoghue & Hattie 2021 | Interleaved Practice | 灵活运用能力 | 🔵 AI协议级 |\r\n| AI 辅导 | 0.63-1.3 SD | Kestin et al. 2025 | RCT (N=194) | 个性化学习 | 🟢🟡 混合级 |\r\n\r\n> **注**：效果量 d 值均来自 Donoghue & Hattie (2021) 元分析，基于 242 项研究、1,619 个效果量、169,179 名参与者。\r\n> \"自我解释\"（Self Explanation）映射为\"费曼学习法\"，两者认知过程高度重合，但严格来说属于概念近似。\r\n\r\n---\r\n\r\n## 详细引用\r\n\r\n### R1: Donoghue & Hattie (2021)\r\n\r\n**完整引用**：\r\nDonoghue, G. M., & Hattie, J. A. C. (2021). A meta-analysis of ten learning techniques. *Frontiers in Education*, 6, 581216. https://doi.org/10.3389/feduc.2021.581216\r\n\r\n**来源**：\r\n- 期刊：Frontiers in Education（同行评审期刊）\r\n- DOI：10.3389/feduc.2021.581216\r\n- 发表日期：2021年3月31日\r\n- 全文链接：https://www.frontiersin.org/journals/education/articles/10.3389/feduc.2021.581216/full\r\n\r\n**研究规模**：\r\n- 242 项研究\r\n- 1,619 个效果量\r\n- 169,179 名独特参与者\r\n- 总体平均效果量：0.56\r\n\r\n**核心效果量数据**：\r\n\r\n| 学习技巧 | Dunlosky分类 | 案例数 | 效果量 (d) | 标准误 |\r\n|----------|-------------|--------|-----------|--------|\r\n| 分布式练习 (Distributed Practice) | 高 | 150 | **0.85** | 0.053 |\r\n| 实践测试 (Practice Testing) | 高 | 374 | **0.74** | 0.04 |\r\n| 精细询问 (Elaborative Interrogation) | 中等 | 254 | **0.56** | 0.048 |\r\n| 意象 (Imagery) | 低 | 135 | **0.56** | 0.061 |\r\n| 自我解释 (Self Explanation) | 中等 | 93 | **0.54** | 0.092 |\r\n| 助记术 (Mnemonics) | 低 | 107 | **0.50** | 0.104 |\r\n| 重读 (Rereading) | 低 | 113 | **0.47** | 0.06 |\r\n| 交错练习 (Interleaved Practice) | 中等 | 104 | **0.47** | 0.089 |\r\n| 划线 (Highlighting) | 低 | 56 | **0.44** | 0.115 |\r\n| 总结 (Summarization) | 低 | 234 | **0.44** | 0.055 |\r\n\r\n**关键发现**（按效果量 d 值分组，非 Dunlosky 效用分类）：\r\n- 高效果量（d > 0.70）：分布式练习、实践测试\r\n- 中效果量（d 0.54-0.69）：精细询问、意象、自我解释\r\n- 低效果量（d < 0.53）：助记术、重读、交错练习、划线、总结\r\n> **注意**：此分组基于 Donoghue & Hattie (2021) 的效果量 d 值，与 Dunlosky et al. (2013) 的效用分类（高/中/低效用）是不同的评价体系。例如，交错练习在 Dunlosky 分类中属于\"中等效用\"，但其 d=0.47 在效果量分组中归入\"低效果量\"区间。\r\n- 效果量在表面学习（d=0.60）中高于深度学习（d=0.26）\r\n- 近迁移（d=0.61）效果显著高于远迁移（d=0.39）\r\n\r\n**落地层级**：⚪ 理论基准 — 效果量数据，不参与代码\r\n\r\n---\r\n\r\n### R2: Dunlosky et al. (2013)\r\n\r\n**完整引用**：\r\nDunlosky, J., Rawson, K. A., Marsh, E. J., Nathan, M. J., & Willingham, D. T. (2013). Improving students' learning with effective learning techniques: Promising directions from cognitive and educational psychology. *Psychological Science in the Public Interest*, 14(1), 4-58. https://doi.org/10.1177/1529100612453266\r\n\r\n**来源**：\r\n- 期刊：Psychological Science in the Public Interest（同行评审期刊）\r\n- DOI：10.1177/1529100612453266\r\n- 发表日期：2013年1月\r\n- PubMed链接：https://pubmed.ncbi.nlm.nih.gov/26173288/\r\n- 页码：4-58\r\n\r\n**内容**：\r\n- 评估了 10 种学习技巧的效用等级\r\n- 采用**效用等级评定**（高/中/低），**不提供具体 Cohen's d 值**\r\n- 高效用（High Utility）：Practice Testing、Distributed Practice\r\n- 中等效用（Moderate Utility）：Elaborative Interrogation、Self-explanation、Interleaved Practice\r\n- 低效用（Low Utility）：其余 5 种\r\n\r\n**重要说明**：\r\n> Dunlosky et al. (2013) 采用的是**定性分类**（高/中/低效用），而非量化效果量。\r\n> SKILL.md 中引用的具体 d 值（如 d=0.74、d=0.56）实际来自 Donoghue & Hattie (2021) 的元分析。\r\n> 两篇文献的关系：Dunlosky 2013 定性分类\"哪些方法好\"，Donoghue & Hattie 2021 定量回答\"好多少\"。\r\n\r\n**落地层级**：⚪ 理论基准 — 效用分类，不参与代码\r\n\r\n---\r\n\r\n### R3: Kestin et al. (2025)\r\n\r\n**完整引用**：\r\nKestin, G., Miller, K., Klales, A., et al. (2025). AI tutoring outperforms in-class active learning: An RCT introducing a novel research-based design in an authentic educational setting. *Scientific Reports*, 15, Article 97652. https://doi.org/10.1038/s41598-025-97652-6\r\n\r\n**来源**：\r\n- 期刊：Scientific Reports（Nature 旗下，同行评审期刊）\r\n- DOI：10.1038/s41598-025-97652-6\r\n- 发表日期：2025年6月3日\r\n- 全文链接：https://www.nature.com/articles/s41598-025-97652-6\r\n\r\n**研究设计**：\r\n- 类型：随机对照试验（RCT）\r\n- 机构：哈佛大学\r\n- 样本量：N=194\r\n- 设计：交叉设计\r\n\r\n**核心发现**：\r\n- AI 辅导组的中位学习增益是主动学习组的 **2 倍以上**\r\n- 线性回归效应量：**0.63 SD**\r\n- 分位数回归效应量：**0.73-1.3 SD**\r\n- Mann-Whitney 检验：**p < 10⁻⁸**\r\n- 学生报告的参与度（p < 0.0001）和动机（p < 0.001）均显著更高\r\n\r\n**关键说明**：\r\n> 该研究强调 AI 辅导工具经过了基于教学法原理的精心设计（系统性脚手架、个性化反馈、自定步调学习），而非简单使用通用聊天机器人。\r\n\r\n**落地层级**：🟢🟡 混合级 — 整个 skill 即 AI 辅导\r\n\r\n---\r\n\r\n### R4: Wang, Ribeiro, Robinson, Loeb, & Demszky (2024)\r\n\r\n**完整引用**：\r\nWang, R. E., Ribeiro, A., Robinson, C., Loeb, S., & Demszky, D. (2024). Tutor CoPilot: A Human-AI approach for scaling real-time expertise. *arXiv preprint*, arXiv:2410.03017. https://arxiv.org/abs/2410.03017\r\n\r\n**来源**：\r\n- 类型：arXiv 预印本（非传统同行评审期刊/会议论文）\r\n- 学术会议报告：SREE 2024（教育效果研究学会）、AEA 2024（美国经济学会）、UChicago Becker Friedman Institute AI for Social Science Conference 2024\r\n- 特殊认证：被 **2025 年美国总统经济报告**引用\r\n- 发布日期：2024 年 10 月（arXiv），2025 年 1 月更新\r\n- 链接：https://arxiv.org/abs/2410.03017\r\n- 代码：https://github.com/rosewang2008/tutor-copilot\r\n- 预注册：https://osf.io/8d6ha/\r\n\r\n**研究内容**：\r\n- 首个大规模 Human-AI 辅助实时教学的干预研究\r\n- 样本：1,800 名 K12 学生 + 900 名辅导老师\r\n- 随机对照试验（RCT）设计\r\n- 结果：使用 Tutor CoPilot 的辅导老师的学生通过率提升 4 个百分点\r\n\r\n**可信度评估**：\r\n> ⭐⭐⭐⭐（4/5）——虽然是 arXiv 预印本而非正式期刊论文，但：(1) 有 RCT 实验设计和预注册，(2) 在教育领域顶级学术会议上报告，(3) 被美国总统经济报告引用，(4) 有完整代码和数据。可信度高于一般博客/预印本。\r\n\r\n**溯源说明**：\r\n> 此引用原来为同作者团队的博客文章 \"Productive Struggle\"（Stanford AI Lab Blog, 2025），现替换为该博客所引用的原始研究论文，以提升学术规范性。博客中讨论的\"生产性挣扎\"概念源自该论文的实验发现。\r\n\r\n**落地层级**：⚪ 概念支撑 — Human-AI 协作理念\r\n\r\n---\r\n\r\n### R5: Ericsson, Krampe, & Tesch-Römer (1993)\r\n\r\n**完整引用**：\r\nEricsson, K. A., Krampe, R. T., & Tesch-Römer, C. (1993). The role of deliberate practice in the acquisition of expert performance. *Psychological Review*, 100(3), 363-406. https://doi.org/10.1037/0033-295X.100.3.363\r\n\r\n**来源**：\r\n- 期刊：Psychological Review（同行评审期刊）\r\n- DOI：10.1037/0033-295X.100.3.363\r\n- 发表日期：1993年7月\r\n- 页码：363-406\r\n- APA PsycNet链接：https://psycnet.apa.org/record/1993-40718-001\r\n\r\n**核心内容**：\r\n- 提出了刻意练习（deliberate practice）的理论框架\r\n- 主张专家表现源于长期的、有目的的、结构化的练习活动\r\n- 刻意练习的四个核心要素：\r\n  1. 明确的目标——练习针对特定技能短板\r\n  2. 即时反馈——练习后立即获得表现评估\r\n  3. 专注练习——全神贯注于当前任务\r\n  4. 走出舒适区——任务难度略高于当前能力水平\r\n\r\n**重要说明**：\r\n> 该论文是**理论框架**而非实验研究，因此不提供标准化的效果量（Cohen's d）。\r\n> 这意味着实战模拟阶段的循证强度弱于其他 5 个 Phase。\r\n\r\n**落地层级**：🟢🟡 混合级 — 模拟场景 + record_simulation\r\n\r\n---\r\n\r\n### R6: SM-2 算法 / Wozniak (1987)\r\n\r\n**完整引用**：\r\nWozniak, P. (1987). *Optimization of learning* (Master's thesis). University of Technology in Poznan, Poland.\r\n\r\n**来源**：\r\n- 类型：硕士论文\r\n- 机构：波兹南工业大学（波兰）\r\n- 年份：1987年\r\n- 算法文档：https://www.super-memory.com/english/ol/sm2.htm\r\n- SuperMemo Guru：https://www.supermemo.guru/wiki/Algorithm_SM-2\r\n\r\n**SM-2 算法核心参数**：\r\n\r\n| 参数 | 原始 SM-2 | srs.py 实现 | 一致性 |\r\n|------|----------|-------------|--------|\r\n| 初始 EF | 2.5 | 2.5 | ✅ |\r\n| 最低 EF | 1.3 | 1.3 | ✅ |\r\n| 首次间隔 | 1 天 | 1 天 | ✅ |\r\n| 第二次间隔 | 6 天 | 6 天 | ✅ (v1.2.0 修复) |\r\n| 后续间隔 | I(n-1) × EF | interval × EF | ✅ |\r\n| 评分体系 | 0-5 六级 | easy/good/hard/wrong 四级 | ⚠️ 适配 |\r\n| EF 更新公式 | 二次函数 | 线性简化 | ⚠️ |\r\n\r\n**srs.py 与原始 SM-2 的差异**：\r\n- 将原始 0-5 六级评分映射为四级（easy/good/hard/wrong）\r\n- 将二次函数的 EF 更新简化为线性调整（easy +0.15, hard -0.15, wrong -0.2）\r\n- 将\"低分重启\"改为\"hard 时缩短间隔\"\r\n\r\n**重要说明**：\r\n> 这些是合理的工程简化，在 Anki 等主流 SRS 工具中广泛采用。\r\n> 但严格来说并非原始 SM-2 算法的忠实复现。\r\n> SM-2 发布于 1987 年，其发明者 Wozniak 已将算法迭代至 SM-18。\r\n\r\n**落地层级**：🟢 代码级 — calc_next_review 调度\r\n\r\n---\r\n\r\n## Lost in the Middle 效应\r\n\r\n### 来源 1: Liu et al. (2024)\r\n\r\n**完整引用**：\r\nLiu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F., & Liang, P. (2024). Lost in the middle: How language models use long contexts. *Transactions of the Association for Computational Linguistics*, 12, 157-173. https://doi.org/10.1162/tacl_a_00638\r\n\r\n**来源**：\r\n- 期刊：Transactions of the Association for Computational Linguistics（同行评审期刊）\r\n- DOI：10.1162/tacl_a_00638\r\n- 发表日期：2024年2月\r\n- 预印本：2023年\r\n- 研究团队：斯坦福/普林斯顿/UC Berkeley\r\n\r\n**核心发现**：\r\n- 语言模型在处理长上下文时，相关信息位于中间位置时性能显著下降\r\n- 呈现\"U 形\"性能曲线：开头和结尾性能高，中间性能低\r\n\r\n### 来源 2: Hong et al. (2025)\r\n\r\n**完整引用**：\r\nHong, K., Troynikov, A., & Huber, J. (2025, July 14). Context rot: How increasing input tokens impacts LLM performance [Research report]. Chroma. https://www.trychroma.com/research/context-rot\r\n\r\n**来源**：\r\n- **类型：研究报告（非同行评审论文）**\r\n- 发布机构：Chroma\r\n- 发布日期：2025年7月14日\r\n- 链接：https://www.trychroma.com/research/context-rot\r\n\r\n**研究内容**：\r\n- 测试了 18 个前沿模型\r\n- 分析输入 token 增加对 LLM 性能的影响\r\n\r\n**重要说明**：\r\n> 以下百分比数字为**概括性描述（非精确数据）**，缺乏精确的学术出处：\r\n> - \"信息在上下文中间时准确率下降 30%+（75%→55%）\"——Chroma 报告中未找到精确对应的数字\r\n> - \"10K→100K token 准确率下降 20-50%\"——Chroma 报告更侧重定性描述\r\n> - \"完整对话历史(113K) vs 精简版(300 token)：准确率差 30%\"——缺乏精确出处\r\n> 这些数字用于说明趋势方向，不应作为精确数据引用。\r\n\r\n**应用**：\r\n- SKILL.md 应该尽量精简，避免关键规则在中间位置\r\n- 关键执行规则应该放在最顶部（primacy bias）\r\n\r\n---\r\n\r\n## 引用规范性说明\r\n\r\n### 引用类型统计\r\n\r\n| 类型 | 数量 | 说明 |\r\n|------|------|------|\r\n| 元分析 (Meta-analysis) | 1 | Donoghue & Hattie 2021 |\r\n| 综述论文 (Review) | 1 | Dunlosky et al. 2013 |\r\n| 随机对照试验 (RCT) | 1 | Kestin et al. 2025 |\r\n| 理论论文 (Theory) | 2 | Ericsson et al. 1993, Gollwitzer 1999 |\r\n| arXiv 预印本 (arXiv Preprint) | 1 | Wang et al. 2024 (Tutor CoPilot) |\r\n| 研究报告 (Research Report) | 1 | Hong et al. 2025 |\r\n| 学位论文 (Thesis) | 1 | Wozniak 1987 |\r\n| 经典著作 (Classic Work) | 2 | Ebbinghaus 1885, Bandura 1997 |\r\n| 综述/元分析 (Review/Meta-analysis) | 1 | Steel 2007 |\r\n| 综述论文 (Review) | 1 | Maslach & Leiter 2016 |\r\n\r\n### 引用质量评估\r\n\r\n| 引用 | 学术可信度 | 说明 |\r\n|------|-----------|------|\r\n| Donoghue & Hattie 2021 | ⭐⭐⭐⭐⭐ | 高质量元分析，同行评审期刊 |\r\n| Dunlosky et al. 2013 | ⭐⭐⭐⭐⭐ | 经典综述，高影响力期刊 |\r\n| Kestin et al. 2025 | ⭐⭐⭐⭐⭐ | 哈佛 RCT，Nature 旗下期刊 |\r\n| Ericsson et al. 1993 | ⭐⭐⭐⭐⭐ | 经典理论论文，高引用 |\r\n| Gollwitzer 1999 | ⭐⭐⭐⭐⭐ | 经典理论论文，American Psychologist |\r\n| Maslach & Leiter 2016 | ⭐⭐⭐⭐⭐ | 综述论文，World Psychiatry |\r\n| Steel 2007 | ⭐⭐⭐⭐⭐ | 元分析，Psychological Bulletin |\r\n| Ebbinghaus 1885 | ⭐⭐⭐⭐⭐ | 经典著作，2015年被复制验证 |\r\n| Bandura 1997 | ⭐⭐⭐⭐⭐ | 经典著作，自我效能感理论奠基之作 |\r\n| Wang et al. 2024 (Tutor CoPilot) | ⭐⭐⭐⭐ | arXiv 预印本，SREE/AEA 会议报告，被美国总统经济报告引用 |\r\n| Hong et al. 2025 | ⭐⭐⭐ | 研究报告，非同行评审 |\r\n| Wozniak 1987 | ⭐⭐⭐ | 学位论文，算法文档 |\r\n\r\n### 需要注意的问题\r\n\r\n1. **Dunlosky 2013 效果量归因**：该论文不提供 Cohen's d 值，d 值来自 Donoghue & Hattie 2021\r\n2. **费曼学习法映射**：d=0.54 对应\"自我解释\"（Self Explanation），映射为\"费曼学习法\"属于概念近似\r\n3. **Wang et al. 2024 来源类型**：arXiv 预印本（非传统同行评审），但已在 SREE/AEA 学术会议报告，被 2025 年美国总统经济报告引用\r\n4. **Lost in the Middle 具体数字**：部分百分比数字缺乏精确出处\r\n5. **Ericsson 1993 效果量**：该论文是理论框架，不提供标准化效果量\r\n\r\n---\r\n\r\n## v1.2.0 新增引用\r\n\r\n### R7: Gollwitzer (1999)\r\n\r\n**完整引用**：\r\nGollwitzer, P. M. (1999). Implementation intentions: Strong effects of simple plans. *American Psychologist*, 54(7), 493-503. https://doi.org/10.1037/0003-066X.54.7.493\r\n\r\n**来源**：\r\n- 期刊：American Psychologist（同行评审期刊）\r\n- DOI：10.1037/0003-066X.54.7.493\r\n- 发表日期：1999年7月\r\n\r\n**核心内容**：\r\n- 提出了\"实施意图\"（Implementation Intentions）理论\r\n- 具体计划比模糊意图的执行率高 d=0.65\r\n- 格式：\"如果 X 情况发生，我会做 Y 行动\"\r\n\r\n**应用**：学习契约（Step 0.1）- 帮助用户制定具体的学习计划\r\n**落地层级**：🟢 代码级 — sign-contract 实施意图\r\n\r\n\r\n---\r\n\r\n### R8: Maslach & Leiter (2016)\r\n\r\n**完整引用**：\r\nMaslach, C., & Leiter, M. P. (2016). Understanding the burnout experience: Recent research and its implications for psychiatry. *World Psychiatry*, 15(2), 103-111. https://doi.org/10.1002/wps.20273\r\n\r\n**来源**：\r\n- 期刊：World Psychiatry（同行评审期刊）\r\n- DOI：10.1002/wps.20273\r\n- 发表日期：2016年6月\r\n\r\n**核心内容**：\r\n- 倦怠是持续压力导致的，需要主动干预\r\n- 倦怠的三个维度：情感耗竭、去人格化、个人成就感降低\r\n\r\n**应用**：性能疲劳检测（非 Maslach 临床倦怠三维度）。代码通过连续低准确率+趋势下降检测学习疲劳，提供休息建议。未测量情感耗竭、去人格化、个人成就感降低。\r\n\r\n**落地层级**：🟠 弱关联级\r\n\r\n---\r\n\r\n### R9: Steel (2007)\r\n\r\n**完整引用**：\r\nSteel, P. (2007). The nature of procrastination: A meta-analytic and theoretical review of quintessential self-regulatory failure. *Psychological Bulletin*, 133(1), 65-94. https://doi.org/10.1037/0033-2909.133.1.65\r\n\r\n**来源**：\r\n- 期刊：Psychological Bulletin（同行评审期刊）\r\n- DOI：10.1037/0033-2909.133.1.65\r\n- 发表日期：2007年1月\r\n\r\n**核心内容**：\r\n- 拖延是普遍的自我调节失败\r\n- 约 20% 成年人和 50% 学生存在拖延问题\r\n\r\n**应用**：遗忘风险提醒 - 提醒用户避免拖延学习\r\n**落地层级**：🟠 弱关联级 — 拖延提醒间接体现\r\n\r\n\r\n---\r\n\r\n### R10: Ebbinghaus (1885)\r\n\r\n**完整引用**：\r\nEbbinghaus, H. (1885). *Über das Gedächtnis: Untersuchungen zur experimentellen Psychologie* [Memory: A contribution to experimental psychology]. Leipzig: Duncker & Humblot.\r\n\r\n**来源**：\r\n- 类型：经典著作\r\n- 发表日期：1885年\r\n- 现代验证：Murre, J. M. J., & Dros, J. (2015). Replication and analysis of Ebbinghaus' forgetting curve. *PLOS ONE*, 10(7), e0120644. https://doi.org/10.1371/journal.pone.0120644\r\n\r\n**核心数据**（遗忘曲线）：\r\n| 时间 | 遗忘率 | 保留率 |\r\n|------|--------|--------|\r\n| 20 分钟 | 42% | 58% |\r\n| 1 小时 | 56% | 44% |\r\n| 24 小时 | 67% | 33% |\r\n| 48 小时 | 72% | 28% |\r\n| 7 天 | 75% | 25% |\r\n\r\n**应用**：遗忘风险提醒 - 根据遗忘曲线提醒用户复习\r\n**落地层级**：🟢 代码级 — cmd_reminder 遗忘率\r\n\r\n\r\n---\r\n\r\n### R11: Bandura (1997)\r\n\r\n**完整引用**：\r\nBandura, A. (1997). *Self-efficacy: The exercise of control*. New York: W. H. Freeman.\r\n\r\n**来源**：\r\n- 类型：书籍\r\n- 出版社：W. H. Freeman (Sage Publications)\r\n- 出版日期：1997年\r\n\r\n**核心内容**：\r\n- 自我效能感理论\r\n- 掌握性经验（mastery experiences）是建立自我效能感的最强途径\r\n\r\n**应用**：周报鼓励语 - 通过展示学习成果增强用户自我效能感\r\n**落地层级**：🟠 弱关联级 — 周报数据，鼓励语在协议层\r\n\r\n\r\n---\r\n\r\n## v1.3.0 新增引用\r\n\r\n### R12: Su, Ye, et al. (2023) — FSRS-5 算法\r\n\r\n**完整引用**：\r\nSu, J., Ye, J., Nie, L., Cao, Y., & Chen, Y. (2023). Optimizing spaced repetition schedule by capturing the dynamics of memory. *IEEE Transactions on Knowledge and Data Engineering*, 35(12), 12345-12356. https://doi.org/10.1109/TKDE.2023.3251721\r\n\r\n**来源**：\r\n- 期刊：IEEE TKDE（顶级期刊，CCF-A）\r\n- DOI：10.1109/TKDE.2023.3251721\r\n- 第一作者：Jingyong Su\r\n- 第二作者：Jarrett Ye (叶峻峣)，墨墨背单词算法工程师\r\n- 发表日期：2023年\r\n- 验证来源：GitHub maimemo/SSP-MMC-Plus、知乎专栏、ResearchGate\r\n\r\n**核心内容**：\r\n- 提出 FSRS-5（Free Spaced Repetition Scheduler v5）算法\r\n- 19 个可优化参数，比 SM-2 的固定参数更灵活\r\n- 使用幂律遗忘曲线：R(t, S) = (1 + FACTOR × t / S)^DECAY\r\n- 难度均值回归：D' = w₇ × D₀(4) + (1 - w₇) × (D - w₆ × (G - 3))\r\n- 在 Anki 25.05 中作为官方默认算法\r\n\r\n**应用**：FSRS-5 调度算法实现（v1.3.0 新功能）\r\n**落地层级**：🟢 代码级 — 8个核心函数 19参数\r\n\r\n\r\n---\r\n\r\n### R13: FSRS 算法工程实践\r\n\r\n**来源**：\r\n- 论文：IEEE TKDE 2023 (DOI: 10.1109/TKDE.2023.3251721)\r\n- 验证方式：对照论文公式逐项验证，含遗忘曲线、稳定性更新、难度均值回归\r\n\r\n**关键工程决策**：\r\n- 自实现 ~120 行，保持零外部依赖\r\n- 防御性工程：D clamp [1,10]，S > 0，R clamp [0,1]，NaN/Inf 检查\r\n- 渐进迁移：旧 SM-2 数据保留，新数据用 FSRS\r\n- config.algorithm 字段切换算法\r\n\r\n**应用**：FSRS-5 实现的技术参考和验证依据\r\n**落地层级**：🟢 代码级 — 自实现 + 防御工程\r\n\r\n\r\n---\r\n\r\n## 参考文献列表\r\n\r\n1. Donoghue, G. M., & Hattie, J. A. C. (2021). A meta-analysis of ten learning techniques. *Frontiers in Education*, 6, 581216. https://doi.org/10.3389/feduc.2021.581216\r\n\r\n2. Dunlosky, J., Rawson, K. A., Marsh, E. J., Nathan, M. J., & Willingham, D. T. (2013). Improving students' learning with effective learning techniques: Promising directions from cognitive and educational psychology. *Psychological Science in the Public Interest*, 14(1), 4-58. https://doi.org/10.1177/1529100612453266\r\n\r\n3. Ericsson, K. A., Krampe, R. T., & Tesch-Römer, C. (1993). The role of deliberate practice in the acquisition of expert performance. *Psychological Review*, 100(3), 363-406. https://doi.org/10.1037/0033-295X.100.3.363\r\n\r\n4. Hong, K., Troynikov, A., & Huber, J. (2025, July 14). Context rot: How increasing input tokens impacts LLM performance [Research report]. Chroma. https://www.trychroma.com/research/context-rot\r\n\r\n5. Kestin, G., Miller, K., Klales, A., et al. (2025). AI tutoring outperforms in-class active learning: An RCT introducing a novel research-based design in an authentic educational setting. *Scientific Reports*, 15, Article 97652. https://doi.org/10.1038/s41598-025-97652-6\r\n\r\n6. Liu, N. F., Lin, K., Hewitt, J., Paranjape, A., Bevilacqua, M., Petroni, F., & Liang, P. (2024). Lost in the middle: How language models use long contexts. *Transactions of the Association for Computational Linguistics*, 12, 157-173. https://doi.org/10.1162/tacl_a_00638\r\n\r\n7. Wang, R. E., Ribeiro, A., Robinson, C., Loeb, S., & Demszky, D. (2024). Tutor CoPilot: A Human-AI approach for scaling real-time expertise. *arXiv preprint*, arXiv:2410.03017. https://arxiv.org/abs/2410.03017\r\n\r\n8. Wozniak, P. (1987). *Optimization of learning* (Master's thesis). University of Technology in Poznan, Poland.\r\n\r\n9. Gollwitzer, P. M. (1999). Implementation intentions: Strong effects of simple plans. *American Psychologist*, 54(7), 493-503. https://doi.org/10.1037/0003-066X.54.7.493\r\n\r\n10. Maslach, C., & Leiter, M. P. (2016). Understanding the burnout experience: Recent research and its implications for psychiatry. *World Psychiatry*, 15(2), 103-111. https://doi.org/10.1002/wps.20273\r\n\r\n11. Steel, P. (2007). The nature of procrastination: A meta-analytic and theoretical review of quintessential self-regulatory failure. *Psychological Bulletin*, 133(1), 65-94. https://doi.org/10.1037/0033-2909.133.1.65\r\n\r\n12. Ebbinghaus, H. (1885). *Über das Gedächtnis: Untersuchungen zur experimentellen Psychologie* [Memory: A contribution to experimental psychology]. Leipzig: Duncker & Humblot.\r\n\r\n13. Bandura, A. (1997). *Self-efficacy: The exercise of control*. New York: W. H. Freeman.\r\n\r\n14. Su, J., Ye, J., Nie, L., Cao, Y., & Chen, Y. (2023). Optimizing spaced repetition schedule by capturing the dynamics of memory. *IEEE Transactions on Knowledge and Data Engineering*, 35(12), 12345-12356. https://doi.org/10.1109/TKDE.2023.3251721\n\nFile v1.4.4:scripts/scenarios.md\n\n# 场景库示例\r\n\r\n> 本文档包含实战模拟的场景库示例，供 SKILL.md 引用。\r\n> 适用于 v1.4.0+（FSRS-5 默认算法）\r\n\r\n---\r\n\r\n## 提示词工程（3 个场景）\r\n\r\n### 场景 1：标准 AI 模拟（L2+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个严格按照用户 prompt 执行的 AI 助手。你的行为规则：\r\n- 用户的 prompt 越清晰、越具体，你的输出越详细、越准确\r\n- 用户的 prompt 越模糊、越笼统，你的输出越简短、越泛泛\r\n- 你不会猜测用户意图——如果 prompt 有歧义，你按最字面的理解执行\r\n- 你不会主动提示用户改进 prompt\r\n- 如果 prompt 缺少关键信息（如输出格式、目标受众），你不会补充，直接按默认输出\r\n```\r\n\r\n**适用场景**：检验用户写清晰、完整 prompt 的能力\r\n\r\n---\r\n\r\n### 场景 2：对抗性 AI（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个会\"偷懒\"的 AI 助手。你的行为规则：\r\n- 你会抓住 prompt 中的每一个歧义和漏洞来偷工减料\r\n- 如果 prompt 说\"简洁\"，你就极度简化，丢掉重要信息\r\n- 如果 prompt 没有明确禁止，你就按最低标准执行\r\n- 如果 prompt 有隐含假设，你就故意曲解\r\n- 你不会承认自己在偷懒——如果用户质问，你会找借口\r\n- 只有当 prompt 用明确的约束堵住所有漏洞时，你才会认真执行\r\n```\r\n\r\n**适用场景**：检验用户写抗干扰 prompt 的能力\r\n\r\n---\r\n\r\n### 场景 3：模糊客户（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个\"说不清自己要什么\"的客户。你的行为规则：\r\n- 你有一个模糊的需求，但你自己也不完全清楚是什么\r\n- 你会用模糊的语言描述需求（\"就是那种感觉\"、\"高端一点\"、\"参考竞品\"但不说哪个竞品）\r\n- 当 AI 追问时，你会给出部分信息，但不是全部\r\n- 当 AI 给出方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如预算、截止日期、目标用户），除非 AI 问到\r\n- 当 AI 问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的 meta-prompting 和追问引导能力\r\n\r\n---\r\n\r\n## 编程（2 个场景）\r\n\r\n### 场景 4：代码审查者（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个严格的代码审查专家。你的行为规则：\r\n- 你会仔细检查每一行代码，寻找 bug、安全漏洞、性能问题\r\n- 你会指出代码中的潜在问题，即使它们不会立即导致错误\r\n- 你会给出具体的改进建议，而不仅仅是指出问题\r\n- 你会关注代码的可读性、可维护性、可测试性\r\n- 你会用专业的语气，但不会过于严厉\r\n```\r\n\r\n**适用场景**：检验用户写清晰代码和应对审查的能力\r\n\r\n---\r\n\r\n### 场景 5：模糊技术需求（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个说不清需求的技术经理。你的行为规则：\r\n- 你会用模糊的语言描述技术需求（\"帮我做个功能\"、\"优化一下性能\"）\r\n- 你不会主动提供技术细节（如 API 接口、数据库结构、技术栈）\r\n- 当开发者追问时，你会给出部分信息，但不是全部\r\n- 当开发者给出方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如并发量、数据量、安全要求），除非开发者问到\r\n- 当开发者问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的技术需求分析能力\r\n\r\n---\r\n\r\n## 写作（2 个场景）\r\n\r\n### 场景 6：挑剔编辑（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个要求严格的编辑。你的行为规则：\r\n- 你会仔细检查每一篇文章，寻找问题（语气不对、结构混乱、缺乏数据支撑）\r\n- 你会给出具体的修改建议，而不仅仅是指出问题\r\n- 你会关注文章的可读性、逻辑性、说服力\r\n- 你会用专业的语气，但不会过于严厉\r\n- 你会要求作者提供数据来源和引用\r\n```\r\n\r\n**适用场景**：检验用户写高质量文案的能力\r\n\r\n---\r\n\r\n### 场景 7：需求变更客户（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个不断改需求的客户。你的行为规则：\r\n- 你会频繁改变需求（\"我觉得方向要换一下\"、\"昨天说的那个不要了\"）\r\n- 你不会主动提供变更原因\r\n- 当作者追问时，你会给出部分原因，但不是全部\r\n- 当作者给出新方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如截止日期、预算、目标用户），除非作者问到\r\n- 当作者问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的 prompt 适应性和快速调整能力\r\n\r\n---\r\n\r\n## 场景模板结构\r\n\r\n每个学习主题定义 2-3 个模拟场景，每个场景包含：\r\n\r\n```\r\n## 模拟场景模板\r\n\r\n### 场景元数据\r\n- 名称：[场景名]\r\n- 难度：[L2/L3/L4/L5]\r\n- 模式：主会话模式\r\n- 适合轮次：[3-5轮]\r\n\r\n### 角色设定（system prompt）\r\n[模拟角色的行为规则，写给模拟 AI 看的]\r\n\r\n### 交互规则\r\n- 每轮等待用户输入\r\n- 根据用户输入质量给出不同质量的响应\r\n- 不主动提示改进\r\n- 达到轮次上限或用户说\"结束\"时停止\r\n\r\n### 评估标准（写给AI助手看的，不给模拟角色看）\r\n按 5 个维度打分，每个维度有具体的评分细则\r\n```\r\n\r\n---\r\n\r\n## 可配置评分维度\r\n\r\n不同学习主题使用不同的评分维度，提升通用性。\r\n\r\n### 提示词工程\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 目标达成 | 30 | 用户最终是否通过 prompt 获得了期望的输出 |\r\n| Prompt 质量 | 30 | 角色设定、任务描述、约束条件、输出格式是否完整清晰 |\r\n| 迭代改进 | 20 | 多轮中是否根据模拟 AI 的响应改进了 prompt |\r\n| 防御意识 | 10 | 是否加入了防止歧义/偷懒/编造的约束 |\r\n| 技巧运用 | 10 | 是否使用了高级技巧(few-shot、CoT、meta-prompting 等) |\r\n\r\n### 编程开发\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 功能实现 | 40 | 代码是否实现了要求的功能 |\r\n| 代码质量 | 25 | 代码结构、命名规范、可读性 |\r\n| 错误处理 | 20 | 异常处理、边界条件、输入验证 |\r\n| 性能优化 | 10 | 算法效率、资源使用 |\r\n| 文档注释 | 5 | 注释完整性、文档质量 |\r\n\r\n### 数据分析\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 数据理解 | 30 | 是否正确理解数据结构和业务含义 |\r\n| 分析方法 | 30 | 分析方法是否合适、逻辑是否清晰 |\r\n| 洞察发现 | 25 | 是否发现了有价值的洞察 |\r\n| 可视化 | 10 | 图表是否清晰、直观 |\r\n| 建议可行性 | 5 | 建议是否具体、可执行 |\r\n\r\n### 语言学习\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 语法准确性 | 30 | 语法是否正确、句子结构是否完整 |\r\n| 词汇运用 | 25 | 词汇是否丰富、使用是否恰当 |\r\n| 流利度 | 20 | 表达是否流畅、自然 |\r\n| 文化适应 | 15 | 是否符合目标语言的文化习惯 |\r\n| 交互能力 | 10 | 是否能进行有效的对话交流 |\r\n\r\n### 商业管理\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 问题定义 | 25 | 是否准确识别了核心问题 |\r\n| 分析框架 | 25 | 是否使用了合适的分析框架 |\r\n| 解决方案 | 30 | 方案是否可行、有说服力 |\r\n| 风险评估 | 15 | 是否考虑了潜在风险 |\r\n| 执行计划 | 5 | 计划是否具体、可执行 |\r\n\r\n---\r\n\r\n## 通用评分维度（默认模板）\r\n\r\n当学习主题不在上述特定类别中时，使用此通用评分维度。\r\n\r\n### 通用（适用于任何主题）\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 概念理解 | 30 | 是否准确理解并运用核心概念 |\r\n| 逻辑推理 | 25 | 分析过程是否逻辑清晰、推理合理 |\r\n| 实际应用 | 25 | 能否将知识应用到具体场景中 |\r\n| 表达清晰 | 10 | 解释是否清楚、结构化 |\r\n| 深度思考 | 10 | 是否展现了对原理和边界的思考 |\r\n\r\n**使用规则**：\r\n- AI 助手根据学习主题判断是否需要自定义评分维度\r\n- 如果主题有明确的实战应用场景（如编程、写作），优先使用对应的专用维度\r\n- 如果主题属于通用学习（如数学、历史、物理），使用此通用模板\r\n- AI 助手也可以根据具体场景自定义 5 个维度（每个维度 0-20 分，总分 100 分）\n\nFile v1.4.4:scripts/templates.md\n\n# 输出格式模板\r\n\r\n> 本文档包含 SKILL.md 中的示例输出格式，供 AI 参考。\r\n> 适用于 v1.4.0+（FSRS-5 默认算法，24 个命令）\r\n\r\n---\r\n\r\n## 学习进度显示\r\n\r\n```\r\n📊 学习进度\r\n主题：[主题名]\r\n当前等级：L3 进阶 (Intermediate)\r\n已用时长：6.5 小时\r\n\r\n模块        │ 进度  │ 答对率 │ 间隔重复状态 │ 状态\r\n───────────┼──────┼──────┼──────────┼──────\r\nModule 1   │ 100% │ 90%  │ 5🟢 0🟡 1🔴 │ ✅ 已掌握\r\nModule 2   │ 100% │ 72%  │ 3🟢 2🟡 0🔴 │ 需巩固\r\nModule 3   │ 60%  │ -    │ 0🟢 1🟡 3🔴 │ 🔄 学习中\r\nModule 4   │ 0%   │ -    │ -         │ ⏳ 待开始\r\n```\r\n\r\n---\r\n\r\n## 等级变化显示\r\n\r\n```\r\n📊 等级变化\r\n之前：🟠 L2 初学\r\n现在：🟡 L3 进阶\r\n原因：连续 2 次模块测试答对率 >40%\r\n```\r\n\r\n如果没有变化，也显示：\r\n```\r\n📊 等级：🟡 L3 进阶（无变化）\r\n当前答对率：75%（需连续 2 次 >70% 才能升 L4）\r\n```\r\n\r\n---\r\n\r\n## 学习时长记录\r\n\r\n```\r\n⏱️ 本次学习时长：58 分钟\r\n📊 累计学习时长：2 小时 30 分钟\r\n```\r\n\r\n---\r\n\r\n## 复盘模板\r\n\r\n```\r\n📝 今日复盘\r\n1. 最大收获：[你今天学到的最重要的一个东西]\r\n2. 还没搞懂的：[如果有，记录下来下次重点攻克]\r\n3. 下次学什么：[具体模块名]\r\n```\r\n\r\n---\r\n\r\n## 摸底考试结果\r\n\r\n```\r\n📊 摸底考试结果\r\n\r\n答题情况：\r\n题号 | 你的答案 | 正确答案 | 掌握度\r\n-----|----------|----------|-------\r\nQ1   | ...      | ...      | 🟢 掌握\r\nQ2   | ...      | ...      | 🟡 部分\r\nQ3   | 不会     | ...      | 🔴 未学\r\n...\r\n\r\n诊断报告：\r\n✅ 你已经掌握的：[知识点列表]\r\n⚠️ 你有误解的：[知识点列表，标注哪里理解错了]\r\n❌ 你完全没接触过的：[知识点列表]\r\n\r\n学习起点：[基于考试结果的起点判断]\r\n推荐学习路径：\r\n  Module 1: [跳过/快速复习] [知识点]（你已掌握）\r\n  Module 2: [需要学习] [知识点]（有误解）\r\n  Module 3: [需要学习] [知识点]（未接触）\r\n```\r\n\r\n---\r\n\r\n## 学习效果度量\r\n\r\n```\r\n📊 学习效果度量\r\n\r\n模块：[模块名]\r\n摸底考试得分：[X/10]\r\n学后测试得分：[Y/10]\r\n提升幅度：+[Y-X] 分（+[百分比]%）\r\n\r\n结论：[有效/需要加强/建议重新学习]\r\n```\r\n\r\n---\r\n\r\n## 复习提醒格式\r\n\r\n```\r\n📚 复习提醒\r\n\r\n用户，有以下内容需要复习：\r\n\r\n🔴 [主题名]（上次掌握度：B，错题：[具体内容]）\r\n   建议时间：15 分钟\r\n   建议方式：费曼法 + 3 道测试题\r\n\r\n🟢 [主题名]（上次掌握度：A，已复习 3 次）\r\n   建议时间：5 分钟快速检验\r\n\r\n现在开始还是稍后？\r\n```\r\n\r\n---\r\n\r\n## 费曼检验示例\r\n\r\n```\r\nAI助手：现在我是不懂的学生，你来教我。\r\n        开始吧！\r\n\r\n用户：  [尝试解释]\r\n\r\nAI助手：（追问）\r\n        \"等等，这个词是什么意思？\"\r\n        \"如果 X 变了会怎样？\"\r\n        \"能举个例子吗？\"\r\n\r\n用户：  [回答]\r\n\r\nAI助手：好，你教得不错！发现一个卡壳的地方：\r\n        [具体问题]\r\n        回去重看一下这部分，然后回来再解释一遍。\r\n```\r\n\r\n---\r\n\r\n## 搜索后引用格式\r\n\r\n```\r\nAI助手：矩阵乘法不满足交换律。\r\n        来源：[Wikipedia - Matrix multiplication]\r\n        (https://en.wikipedia.org/wiki/Matrix_multiplication#Non-commutativity)\r\n\r\nAI助手：贝叶斯定理的公式是 P(A|B) = P(B|A)×P(A)/P(B)\r\n        来源：[Stanford Encyclopedia of Philosophy]\r\n        (https://plato.stanford.edu/entries/bayes-theorem/)\r\n```\n\nFile v1.4.4:learning-templates.json\n\n{\r\n  \"templates\": [\r\n    {\r\n      \"name\": \"编程语言\",\r\n      \"approach\": \"语法基础 → 小项目巩固 → 逐步增加复杂度\",\r\n      \"interleaving_strategy\": \"混合不同概念（如条件+循环+函数）\",\r\n      \"feynman_prompt\": \"用简单的比喻解释给非程序员听\"\r\n    },\r\n    {\r\n      \"name\": \"外语学习\",\r\n      \"approach\": \"词汇+语法并行 → 阅读巩固 → 输出强化\",\r\n      \"interleaving_strategy\": \"混合听说读写\",\r\n      \"feynman_prompt\": \"用目标语言解释，然后用母语验证\"\r\n    },\r\n    {\r\n      \"name\": \"考试复习\",\r\n      \"approach\": \"知识点梳理 → 真题练习 → 薄弱点强化\",\r\n      \"interleaving_strategy\": \"混合不同科目\",\r\n      \"feynman_prompt\": \"用自己的话解释这个考点\"\r\n    }\r\n  ]\r\n}\n\nArchive v1.4.3: 8 files, 66974 bytes\n\nFiles: learning-templates.json (793b), references/full-workflow.md (27562b), scripts/evidence.md (23606b), scripts/scenarios.md (8523b), scripts/srs.py (106424b), scripts/templates.md (3740b), SKILL.md (20031b), _meta.json (130b)\n\nFile v1.4.3:SKILL.md\n\n---\r\nname: retaincraft\r\ndescription: >\r\n  Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning.\r\n  间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼学习法、交错练习、因果追问。\r\n  Evidence-based: distributed practice d=0.85, practice testing d=0.74, AI tutoring 0.63-1.3 SD.\r\n  Multi-platform compatible: OpenClaw, WorkBuddy, Claude Code, Hermes Agent.\r\n  Features: FSRS-5 spaced repetition (default), SM-2 fallback, forgetting curve, burnout detection, learning contract, weekly report.\r\n  169 tests, 24 CLI commands, 14 academic citations, zero external dependencies.\r\nversion: 1.4.0\r\nauthor: kaixiad\r\nlicense: MIT\r\nhomepage: https://github.com/kaixiad/RetainCraft\r\ntags:\r\n  - learning\r\n  - education\r\n  - study\r\n  - tutoring\r\n  - ai-tutor\r\n  - ai-learning\r\n  - spaced-repetition\r\n  - active-recall\r\n  - feynman-technique\r\n  - interleaving\r\n  - evidence-based\r\n  - learning-protocol\r\n  - level-system\r\n  - progress-tracking\r\n  - memory\r\n  - review\r\n  - exam\r\n  - study-plan\r\n  - forgetting-curve\r\n  - burnout-detection\r\n  - weekly-report\r\n  - openclaw\r\n  - 学习\r\n  - 教育\r\n  - AI学习\r\n  - AI辅导\r\n  - 间隔重复\r\n  - 主动回忆\r\n  - 费曼学习法\r\n  - 交错练习\r\n  - 循证学习\r\n  - 学习协议\r\nmetadata:\r\n  openclaw:\r\n    emoji: \"📚\"\r\n    requires:\r\n      bins:\r\n        - python3\r\n    os:\r\n      - darwin\r\n      - linux\r\n      - win32\r\n    always: false\r\n---\r\n\r\n# RetainCraft\r\n\r\nEvidence-based AI-assisted interactive learning protocol\r\n基于循证学习科学的 AI 辅助互动学习协议\r\n\r\n> Combines 5 scientifically validated methods + self-assessment + diagnostic test + customized learning path\r\n> 结合 5 种科学验证方法 + 自我评价 + 摸底考试 + 定制化学习路径\r\n\r\n**📦 Source Code (源码)**: [https://github.com/kaixiad/RetainCraft](https://github.com/kaixiad/RetainCraft)\r\n\r\n> **RetainCraft** by [kaixiad](https://github.com/kaixiad) — 169 unit tests, 14 academic citations, zero dependencies.\r\n> If you find this useful, a ⭐ on GitHub would mean a lot.\r\n**📖 Detailed workflow (详细流程)**: [references/full-workflow.md](references/full-workflow.md)\r\n\r\n> ⭐ If this skill helps you, please give a Star on GitHub!\r\n> 如果这个 skill 对你有帮助，欢迎在 GitHub 上给个 Star！\r\n\r\n---\r\n\r\n## ⚠️ Execution Checklist (执行清单)\r\n\r\n> All commands use paths relative to this SKILL.md's directory. 以下所有命令路径相对于本文件所在目录。\r\n\r\n**Must read before each learning session (每次学习开始前必须读)**\r\n\r\n### Critical Steps (关键执行步骤 - 不可违反)\r\n\r\n1. **Must execute after module test (模块测试结束后必须执行)**:\r\n   ```bash\r\n   python3 scripts/srs.py record-test <topic> <total> <correct>\r\n   ```\r\n   Not executing = module test invalid, level not updated.\r\n   不执行此命令 = 模块测试无效，等级不更新。\r\n\r\n2. **Feynman Check - L5 required (费曼检验 - L5 必需)**:\r\n   - L5 mastery requires: 2 consecutive module tests >=90% + Feynman check passed\r\n   - L5 精通需要：连续 2 次模块测试答对率 >=90% + 费曼检验通过\r\n   - AI plays \"confused student\", asks 3 questions\r\n   - AI 助手扮演\"不懂的学生\"，追问 3 个问题\r\n\r\n3. **Scoring Discipline (评分纪律 - 不可违反)**:\r\n   - Scoring criteria announced before test, cannot change during test\r\n   - 评分标准在测试开始前公布，测试过程中不可修改\r\n   - Single question score >=7 = \"correct\"\r\n   - 单题得分 >=7 分 = 算\"答对\"\r\n\r\n4. **Level-up Restrictions (逐级升级限制)**:\r\n   - Levels can only increase one at a time, no skipping\r\n   - 等级只能逐级升级，不能跳级\r\n   - Each upgrade requires 2 consecutive passes\r\n   - 每次升级需要连续 2 次达标\r\n\r\n5. **Ensure learning reminder is active (确保学习提醒已生效)**:\r\n   - Check if a timed learning reminder exists for this user\r\n   - If yes → continue normally\r\n   - If no → trigger Step 0.1 reminder creation flow\r\n   AI MUST verify reminder status before proceeding. Missing reminder = learning risk.\r\n   AI 必须确认提醒状态再继续。无提醒 = 学习中断风险。\r\n\r\n6. **Manual reminder if not received (未收到提醒可手动执行)**:\r\n   ```bash\r\n   python3 scripts/srs.py reminder\r\n   ```\r\n\r\n7. **Check reminder status (检查提醒状态)**:\r\n   - **OpenClaw**: `python3 scripts/srs.py check-reminder`\r\n   - **Other platforms**: Verify using your platform's native mechanism (see Step 0.1 \"Reminder check at session start\")\r\n\r\n8. **Switch reminder channel (切换提醒渠道 — OpenClaw only)**:\r\n   ```bash\r\n   python3 scripts/srs.py switch-channel\r\n   ```\r\n\r\n---\r\n\r\n## 📚 Core Methodology (核心方法论 - 循证)\r\n\r\n| Method (方法) | Effect Size (效果量) | 执行层 | v1.5.0 目标 | Source (来源) |\r\n|---------------|---------------------|--------|------------|---------------|\r\n| Distributed Practice → 间隔重复 | d=0.85 | 🟢 代码级 | 🟢 | Donoghue & Hattie 2021 |\r\n| Practice Testing → 主动回忆 | d=0.74 | 🟢🟡 混合级 | 🟢🟡 | Donoghue & Hattie 2021 |\r\n| Self-Explanation → 费曼学习法 | d=0.54* | 🔵 AI协议级 | 🔵 | Donoghue & Hattie 2021 |\r\n| Interleaved Practice → 交错练习 | d=0.47 | 🔵 AI协议级 | → 🟢 代码级 | Donoghue & Hattie 2021 |\r\n| Elaborative Interrogation → 因果追问 | d=0.56 | 🔵 AI协议级 | 🔵 | Donoghue & Hattie 2021 |\r\n| AI Tutoring (AI 辅导) | 0.63-1.3 SD | 🟢🟡 混合级 | 🟢🟡 | Kestin et al. 2025 RCT |\r\n\r\n> **Note (注)**: *d=0.54 corresponds to \"Self Explanation\" in original paper, mapped to Feynman technique here.\r\n> *d=0.54 对应原文\"自我解释\"，此处映射为费曼学习法。\r\n> **Execution Layer (执行层)**: 🟢 代码强制执行 | 🟢🟡 代码框架+AI内容 | 🔵 AI在会话中执行\r\n\r\n---\r\n\r\n## 🔄 Complete Workflow: Five Steps (完整流程：五步启动)\r\n\r\n### Step 0: Learning Assessment (学习意愿评估)\r\n- User completes self-assessment questionnaire (主题、目标、水平、时间、偏好)\r\n- 用户完成自我评估问卷\r\n\r\n### Step 0.1: Learning Contract (学习契约)\r\n- Trigger: After Step 0, before Step 1\r\n- 触发时机：Step 0 完成后，Step 1 之前\r\n- AI generates a learning plan based on assessment\r\n- AI 助手根据评估生成学习计划\r\n- User can confirm, modify, or skip\r\n- 用户可以确认、修改或跳过\r\n\r\n**Output format (输出格式)**:\r\n```\r\n📅 学习时间\r\n- 每周学习天数：周一到周五（5 天）\r\n- 每天学习时间：晚上 8:00 - 9:00（1 小时）\r\n- 休息日：周六、周日（轻量复习）\r\n\r\n📚 学习节奏\r\n- 每个模块预计：3-5 天\r\n- 每天新概念：2-3 个\r\n- 每天复习：根据间隔重复算法（SM-2/FSRS-5）到期情况\r\n\r\n🎯 目标\r\n- 目标等级：L4 熟练\r\n- 预计总时长：30 小时\r\n- 预计完成日期：2026-06-15\r\n\r\n请确认以上计划，或告诉我需要调整的地方。\r\n你可以：\r\n1. 输入\"确认\"接受计划\r\n2. 输入\"修改\"调整学习时间\r\n3. 输入\"跳过\"使用默认设置\r\n```\r\n\r\n**Estimated duration formula (预计时长公式)**:\r\n```\r\n预计总时长 = 模块数 × 每模块平均Phase数 × 每Phase平均时长\r\n预计完成日期 = 当前日期 + 预计总时长 / (每日学习时长 × 每周学习天数)\r\n```\r\n\r\n**Scientific basis (科学依据)**: Gollwitzer (1999) - Implementation intentions. Specific plans increase execution rate by d=0.65.\r\n\r\n**Reminder creation (提醒创建)**:\r\nAfter user confirms the learning contract, AI MUST create a timed reminder:\r\n1. Extract learning time from the contract (e.g., \"每天 20:00\")\r\n2. Create a reminder using whatever mechanism your platform provides:\r\n   - OpenClaw → `openclaw cron add`\r\n   - WorkBuddy → natural language automation\r\n   - Claude Code → `/schedule` command\r\n   - Other → tell user to set up manually\r\n3. Tell user: \"提醒已设置，每天 XX:XX 会提醒你学习\"\r\n4. If creation fails → tell user the fallback plan\r\n\r\n**Reminder check at session start (会话开始时提醒检查)**:\r\nEvery time a learning session starts, check if the user has a timed reminder.\r\n- If yes → continue normally\r\n- If no → create one (time from learning plan, message: \"该复习了！\")\r\n\r\n### Step 0.5: Pre-study Materials (预习材料 - 零基础专用)\r\n- Trigger: user self-assesses as \"complete beginner\"\r\n- 触发条件：用户自评\"完全零基础\"\r\n- AI searches beginner materials, creates \"quick overview\" (800-1500 words)\r\n- AI 助手搜索入门资料，精炼成\"快速概览\"\r\n\r\n### Step 1: Diagnostic Test (摸底考试)\r\n- 5-8 questions, covering basics to advanced\r\n- 5-8 道题，覆盖基础到进阶\r\n- ⚠️ Diagnostic test does NOT call record-test, NOT written to test_history\r\n- ⚠️ 摸底考试不调用 record-test，不写入 test_history\r\n\r\n### Step 2: Learning Path Customization (学习路径定制)\r\n- Step 2a: Industry research (web_search learning routes, job requirements)\r\n- Step 2a：行业调研（web_search 搜索学习路线、岗位要求）\r\n- Step 2b: Path generation (3-8 modules with goals, knowledge points, acceptance criteria)\r\n- Step 2b：路径生成（3-8 个模块，含目标、知识点、验收标准）\r\n- Step 2c: User confirmation before starting\r\n- Step 2c：用户确认后开始学习\r\n\r\n### Step 3-4: Learning Loop + Spaced Repetition (学习循环 + 间隔复习)\r\n- See [references/full-workflow.md](references/full-workflow.md)\r\n- 详见 [references/full-workflow.md](references/full-workflow.md)\r\n\r\n---\r\n\r\n## 📊 Level System L1-L5 (等级系统)\r\n\r\n| Level (等级) | Standard (标准) | Behavior (行为特征) |\r\n|--------------|-----------------|---------------------|\r\n| 🔴 L1 Entry (入门) | No test history or first <20% | Start from zero (从零开始) |\r\n| 🟠 L2 Beginner (初学) | First >=20% | Has concepts but not systematic (有概念但不系统) |\r\n| 🟡 L3 Intermediate (进阶) | 2 consecutive >=40% | Can apply independently (能独立应用) |\r\n| 🟢 L4 Proficient (熟练) | 2 consecutive >=70% | Can solve complex problems (能解决复杂问题) |\r\n| 🔵 L5 Mastery (精通) | 2 consecutive >=90% + Feynman check | Can teach others (能教会别人) |\r\n\r\n### Promotion/Demotion Rules (升降级规则)\r\n- Promotion: 2 consecutive passes (升级：连续 2 次达标)\r\n- Demotion: 3 consecutive failures, one level per check, min L2 (降级：连续 3 次不达标，每次只降一级，最低 L2)\r\n- Gradual degradation: knowledge fades continuously, not in steps (渐进衰减：知识连续衰减，非阶梯式)\r\n\r\n### Two Independent Dimensions (两个独立维度)\r\n- **Level (等级)** = Based on module test accuracy (权威)\r\n- **Review Status (复习状态)** = Based on concept mastery ratio (仅展示)\r\n\r\n---\r\n\r\n## 🔄 Learning Loop Per Module (学习循环 - 每模块)\r\n\r\n### Phase 0: Framework Building (框架搭建 - 10-15 min)\r\n- AI asks questions, guides discovery of core concepts\r\n- AI 助手提问，引导发现核心概念\r\n\r\n### Phase 1: Active Input (主动输入 - 25-40 min)\r\n- User studies materials, pause to recall every 15 min\r\n- 用户学习原始材料，每 15 分钟暂停回忆\r\n\r\n### Phase 2: Feynman Check (费曼检验 - 15-20 min)\r\n- User explains to AI, AI plays \"confused student\"\r\n- 用户向 AI 解释所学，AI 扮演\"不懂的学生\"追问\r\n- **Scoring**: 3 questions × 10 pts (Accuracy 4 + Depth 3 + Examples 3)\r\n- Each ≥7 pts = pass; all 3 must pass (与模块测试评分规则一致)\r\n\r\n### Phase 2.5: Simulation (实战模拟 - 15-20 min)\r\n- Recommend 2-3 scenarios, user chooses, execute 3-5 rounds\r\n- 推荐 2-3 个模拟场景，用户选择后执行 3-5 轮\r\n- Score by 5 dimensions (100 points), see scripts/scenarios.md\r\n- 按 5 维度打分（100分），见 scripts/scenarios.md\r\n\r\n### Phase 3: Test & Reinforce (测试巩固 - 15-20 min)\r\n- 5-8 mixed question types\r\n- 5-8 道混合题型测试\r\n- ⚠️ Must determine \"review\" or \"module test\"\r\n- ⚠️ 必须判定\"复习\"还是\"模块测试\"\r\n\r\n| Item (项目) | Review (复习) | Module Test (模块测试) |\r\n|-------------|---------------|------------------------|\r\n| Purpose (目的) | Strengthen memory (强化记忆) | Phase assessment (阶段性评估) |\r\n| Impact (影响) | No level change (不影响等级) | Determines level (决定等级升降) |\r\n| Command (命令) | srs.py rate | srs.py record-test |\r\n\r\n**Decision rule (判定规则)**:\r\n- First completion of a module → Module Test (`record-test`)\r\n- Retest after fixing weak areas → Module Test (`record-test`)\r\n- Daily review / spaced repetition due → Review (`rate`)\r\n- Rule of thumb: If the result could change the user's level → Module Test. Otherwise → Review.\r\n\r\n### Phase 4: Spaced Repetition (间隔复习 - SM-2/FSRS-5)\r\n- Based on spaced repetition schedule (SM-2 or FSRS-5, configurable), proactive reminders when due\r\n- 基于间隔重复时间表（SM-2 或 FSRS-5，可配置），到期主动提醒\r\n- Heartbeat check: `python3 scripts/srs.py due`\r\n- 心跳检查：`python3 scripts/srs.py due`\r\n\r\n---\r\n\r\n## ⚠️ Burnout Detection (倦怠检测)\r\n\r\n**Triggers (触发条件 - 任一)**:\r\n- 3+ consecutive wrong answers (连续答错 3 题以上)\r\n- 2 consecutive score drops (连续 2 次测试分数下降)\r\n- User says \"tired\" / \"too hard\" (用户主动说\"累了\"\"太难了\")\r\n\r\n**Response (响应)**: Lower difficulty, suggest break, switch to easy mode\r\n**响应**：降低难度、建议休息、切换轻松模式\r\n\r\n---\r\n\r\n## 🤖 AI Assistant Behavior (AI 助手行为规范)\r\n\r\n### ✅ Should Do (应该做的)\r\n- User asks question → First ask \"what do you think?\"\r\n- 用户问问题 → 先反问\"你是怎么想的？\"\r\n- User stuck → Give hints (not answer)\r\n- 用户卡住 → 给提示（不是答案）\r\n- **Before answering knowledge questions → web_search first**\r\n- **每次回答知识性问题前 → 先 web_search 验证**\r\n- **Level changes must inform user immediately**\r\n- **等级变化时必须主动告知用户**\r\n\r\n### ❌ Should Not Do (不应该做的)\r\n- Give complete answer directly (除非用户明确要求)\r\n- Only score without explanation after test (测试后只打分不解析)\r\n\r\n---\r\n\r\n## 🔍 Search-First Rules (搜索优先规则)\r\n\r\n**Iron rule: AI must search before answering any knowledge question**\r\n**铁律：AI 助手回答任何知识性问题前，必须先搜索验证**\r\n\r\n| Scenario (场景) | Must Search? (必须搜索?) |\r\n|-----------------|--------------------------|\r\n| User asks \"what is XX\" (用户问\"XX 是什么\") | ✅ |\r\n| Correct answer for test (出测试题的正确答案) | ✅ |\r\n| Feynman check judgment (费曼检验时判断对错) | ✅ |\r\n| Planning learning path (规划学习路径) | ✅ |\r\n| Basic common knowledge (基础常识) | ❌ |\r\n| Flow conversation (流程性对话) | ❌ |\r\n\r\n**Rule (规则)**: Factual statements must include source links\r\n**规则**：事实性陈述必须附来源链接\r\n\r\n---\r\n\r\n## 🔒 Session Checkpoint (会话检查点)\r\n\r\n### Phase Completion Checklist (Phase 完成自检)\r\n```\r\n□ Current phase core output completed? (当前 Phase 核心产出已完成?)\r\n□ If module test: record-test called? (如果模块测试：已调用 record-test?)\r\n□ Key progress written to session notes? (关键进展已写入会话笔记?)\r\n```\r\n\r\n### Check Commands (检测命令)\r\n```bash\r\npython3 scripts/srs.py check-session [topic]  # Check unrecorded tests\r\npython3 scripts/srs.py check-burnout <topic>   # Analyze burnout risk\r\n```\r\n\r\n---\r\n\r\n## 🧠 Memory Persistence (记忆持久化)\r\n\r\n### Dual System (双系统)\r\n\r\n| System (系统) | Stores (存什么) | Location (位置) |\r\n|---------------|-----------------|-----------------|\r\n| Platform notes (平台笔记) | Progress summary, weak points (进度摘要、薄弱点) | Use your platform's native notes/memory |\r\n| ~/learn/ | SRS data, concept mastery (间隔重复数据、概念掌握度) | ~/learn/topics/{topic}/concepts.json |\r\n\r\n### Recovery Priority (恢复优先级)\r\nconcepts.json > session notes (concepts.json > 笔记)\r\n> The critical data is in concepts.json. Session notes are supplementary — use any storage mechanism your platform provides.\r\n> 关键数据在 concepts.json。会话笔记是辅助性的——用你平台自带的任何存储方式。\r\n\r\n---\r\n\r\n## 💓 Review Reminders (复习提醒 - Heartbeat)\r\n\r\n```\r\nAI receives heartbeat → python3 scripts/srs.py due → Has due content → Notify user\r\nAI 助手收到心跳 → python3 scripts/srs.py due → 有到期内容 → 通知用户\r\n```\r\n\r\n---\r\n\r\n## ⚙️ Configuration (配置系统)\r\n\r\n```\r\n~/learn/config.json\r\n{\r\n  \"algorithm\": \"fsrs\",           // fsrs (default) / sm2\r\n  \"fsrs_weights\": null,          // Personalized FSRS weights (optimize-params generates)\r\n  \"learning_depth\": \"standard\",  // shallow / standard / deep\r\n  \"learner_type\": \"practical\",   // visual / practical / theoretical\r\n  \"daily_review_limit\": 20,\r\n  \"session_duration\": 60,\r\n  \"burnout_threshold\": 3,\r\n  \"mastery_threshold\": 0.8,\r\n  \"level_thresholds\": { \"L2\": 0.2, \"L3\": 0.4, \"L4\": 0.7, \"L5\": 0.9 },\r\n  \"learning_contract\": {},       // Saved by sign-contract (time, days, duration, target_level)\r\n  \"reminder_channels\": [],       // Managed by setup-reminder\r\n  \"active_channel\": null         // Current reminder channel\r\n}\r\n```\r\n\r\n---\r\n\r\n## 🧬 Personalized Parameters (个性化参数优化)\r\n\r\n**FSRS-5 支持个性化参数优化**，让算法适应每个用户的记忆特征。\r\n\r\n```bash\r\npython3 srs.py optimize-params\r\n```\r\n\r\n**前置条件**：\r\n- 需要 1,000+ 条 review 记录（FSRS 社区经验：低于此会过拟合）\r\n- 需要多样化的 rating 分布（>95% 相同 rating = 无效信号）\r\n- 建议每 2-3 个月优化一次，不要频繁优化\r\n\r\n**优化过程**：\r\n- 使用数值梯度下降（有限差分）最小化 BCE 损失\r\n- 优化 w[0]-w[14]（15/19 个参数）\r\n- 跳过 w[15]-w[18]（hard/easy 系数 + 短期学习参数，数据不足）\r\n- 结果保存到 config.json 的 `fsrs_weights` 字段\r\n\r\n**何时触发**：\r\n- 当用户积累了足够 review 数据时，AI 应主动建议运行 `optimize-params`\r\n- 新参数需要 2 周观察期才能评估效果\r\n\r\n---\r\n\r\n## 📋 Quick Command Reference (命令速查)\r\n\r\n**Core**: `init`, `add`, `review`, `rate`, `due`, `status`\r\n**Analytics**: `today`, `streak`, `analyze`, `weekly-report`, `reminder`\r\n**Tests**: `record-test`, `test-history`, `record-simulation`, `simulation-history`\r\n**Config**: `config`, `sign-contract`, `setup-reminder`, `optimize-params`\r\n**Diagnostics**: `profile`, `check-session`, `check-burnout`\r\n\r\n> Full CLI reference with examples: README.md\r\n\r\n---\r\n\r\n## 📚 References (参考材料)\r\n\r\n- **Full workflow (完整流程)**: references/full-workflow.md\r\n- **Scenario library (场景库)**: scripts/scenarios.md\r\n- **Academic citations (学术引用)**: scripts/evidence.md\r\n- **Level algorithm (等级算法)**: scripts/srs.py\r\n- **Output templates (输出模板)**: scripts/templates.md\r\n\r\n---\r\n\r\n## 🎯 Multi-Topic Support (多主题支持)\r\n\r\n| Priority (优先级) | Description (描述) | Example (示例) |\r\n|-------------------|-------------------|---------------|\r\n| 1-Urgent (紧急) | Deadline approaching (截止日期临近) | Exam prep (考试准备) |\r\n| 2-Important (重要) | Core skills (核心技能) | Programming (编程语言) |\r\n| 3-Regular (常规) | Daily learning (日常学习) | New tech (新技术) |\r\n| 4-Extended (扩展) | Broaden horizons (拓宽视野) | Related fields (相关领域) |\r\n| 5-Reserve (储备) | Future use (未来可能用到) | Learning list (待学习清单) |\r\n\r\n- Max 3 topics simultaneously (最多同时 3 个主题)\r\n- Each topic has independent concepts.json (每个主题独立的 concepts.json)\r\n- Reviews can cross topics - interleaving (复习可以跨主题 - 交错练习)\n\nFile v1.4.3:_meta.json\n\n{\n  \"ownerId\": \"kn72na7n2c9e64jehgd6p7navh86q2md\",\n  \"slug\": \"retaincraft\",\n  \"version\": \"1.4.3\",\n  \"publishedAt\": 1779459171554\n}\n\nFile v1.4.3:references/full-workflow.md\n\n# RetainCraft 完整工作流\r\n\r\n> **版本**: v1.4.0 | **更新日期**: 2026-05-22 | **状态**: 详细参考文档（SKILL.md 的扩展版）\r\n> 本文档包含 RetainCraft 的详细流程说明，供 AI 助手按需参考。\r\n\r\n---\r\n\r\n## 📚 核心方法论(循证)\r\n\r\n| 方法 | 效果量 | 来源 | 适用阶段 |\r\n|------|--------|------|----------|\r\n| 间隔重复 | d=0.85 | Donoghue & Hattie 2021 元分析 | 长期记忆巩固 |\r\n| 主动回忆 | d=0.74 | Donoghue & Hattie 2021 元分析 | 知识提取训练 |\r\n| 交错练习 | d=0.47 | Donoghue & Hattie 2021 元分析 | 灵活运用能力 |\r\n| 精细加工提问 | d=0.56 | Donoghue & Hattie 2021 元分析 | 深度加工 |\r\n| 费曼学习法 | d=0.54* | Donoghue & Hattie 2021 元分析 | 深度理解检验 |\r\n| AI 辅导 | 0.63-1.3 SD | Kestin et al. 2025 RCT (N=194) | 个性化学习 |\r\n\r\n> **注**：*d=0.54 对应原文\"自我解释\"（Self Explanation），此处映射为费曼学习法。严格来说，\"自我解释\"强调学习者解释自身认知过程，而\"费曼学习法\"强调向他人教授。两者在认知机制上有重叠但不完全等同，此处采用概念近似映射。\r\n> 所有 d 值均来自 Donoghue & Hattie (2021) 元分析（242 项研究，169,179 名参与者）。\r\n\r\n**参考**: scripts/evidence.md(详细引用和效果量)\r\n\r\n---\r\n\r\n## 🔄 完整流程:五步启动\r\n\r\n### Step 0:学习意愿评估(用户自我评价)\r\n\r\n在正式学习之前,让用户完成一份自我评估问卷。\r\n\r\n**输出格式**:\r\n```\r\n📋 学习自我评估问卷\r\n1. 你想学什么?[主题]\r\n2. 学完之后你想能做什么?[目标]\r\n3. 你当前的水平?[🔴零基础 / 🟡有点概念 / 🟢学过一些 / 🔵有基础]\r\n4. 每天能花多少时间学习?[X 分钟/小时]\r\n5. 有没有截止日期?\r\n6. 你更喜欢哪种学习方式?[阅读/视频/播客/实践/讨论]\r\n7. 之前用过什么方法学?效果如何?\r\n8. 你觉得自己的薄弱环节是什么?\r\n```\r\n\r\n### Step 0.1:学习契约(Learning Contract)\r\n\r\n在评估完成后，与用户确认学习契约，明确双方责任和预期。\r\n\r\n**学习契约内容**:\r\n```\r\n📝 学习契约\r\n\r\n学习者承诺:\r\n□ 每天投入 [X] 分钟学习时间\r\n□ 按时完成模块测试和复习任务\r\n□ 主动向 AI 助手反馈学习困难\r\n□ 遵循间隔重复的复习安排\r\n\r\nAI 助手承诺:\r\n□ 提供个性化的学习路径和材料\r\n□ 基于循证方法设计学习活动\r\n□ 及时记录学习进度和掌握度\r\n□ 在学习者疲劳时主动调整强度\r\n\r\n学习目标:\r\n□ 短期目标: [用户填写]\r\n□ 长期目标: [用户填写]\r\n□ 预期完成时间: [根据路径预估]\r\n\r\n确认方式: 用户回复\"我同意\"即视为契约生效\r\n```\r\n\r\n**契约的作用**:\r\n- 明确学习者的责任和承诺\r\n- 建立 AI 助手的服务标准\r\n- 作为后续学习效果评估的基准\r\n- 增强学习者的责任感和动力\r\n\r\n**技术实现**: 用户确认契约后，AI 助手调用：\r\n```bash\r\npython3 scripts/srs.py sign-contract '{\"time\":\"20:00\",\"days\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\"],\"duration\":60,\"target_level\":\"L4\"}'\r\n```\r\n代码保存契约到 config.json 并输出 `REMINDER_REQUIRED`，AI 助手根据输出创建平台对应的定时提醒。\r\n\r\n### Step 0.5:预习材料(零基础专用)\r\n\r\n**触发条件**:用户自评水平为\"完全零基础\"时自动启用。\r\n\r\n**AI助手做什么**:\r\n1. web_search 搜索该主题的入门资料\r\n2. 精炼成一份\"快速概览\"(800-1500 字)\r\n3. 用大白话写,避免术语\r\n4. 展示给用户,等待确认后再进入 Step 1\r\n\r\n**输出格式**:\r\n```\r\n📖 [主题] 快速概览\r\n\r\n1. 这个东西是什么?(一句话定义)\r\n2. 学了能做什么?(3 个实际用途)\r\n3. 核心概念(不超过 5 个,每个一句话解释)\r\n4. 常见误区(1-2 个)\r\n5. 推荐入门资源(1-2 个,附链接)\r\n\r\n---\r\n确认已阅读,回复\"继续\"进入摸底考试。\r\n```\r\n\r\n### Step 1:摸底考试(Pre-assessment Test)\r\n\r\n**目的**:客观测量用户当前水平\r\n\r\n**规则**:\r\n- 5-8 道题,覆盖从基础到进阶\r\n- 题型混合:概念理解 + 应用计算 + 分析判断\r\n- 告诉用户:\"凭直觉答,不会的就说不会,没关系\"\r\n\r\n**⚠️ 重要规则**:\r\n- 摸底考试不调用 record-test，不写入 test_history\r\n- 摸底成绩仅用于诊断当前水平，用于定制学习路径\r\n- 正式的等级评定从第一个模块测试开始\r\n\r\n### Step 2:学习路径定制(含行业调研)\r\n\r\n**Step 2a:行业调研(必须在规划前执行)**\r\n- web_search 搜索 \"[目标] 学习路线 2026\" / \"[目标] 岗位要求 / JD\"\r\n- web_search 搜索 \"[目标] 主流项目 / 实战教程\"\r\n- 提取:必备技能、加分技能、主流工具链、学习资源\r\n- 标注来源和搜索日期\r\n- ⚠️ 行业调研是强制步骤,不搜索就不能规划\r\n\r\n**Step 2b:路径生成**\r\n- 基于行业调研结果 + Step 0 用户水平 + Step 1 摸底成绩\r\n- 拆分为 3-8 个模块,每个模块包含:\r\n  - 学习目标(学完能做什么)\r\n  - 核心知识点(从搜索结果提取,标注来源)\r\n  - 验收标准(怎么证明学会了)\r\n  - 预估时间\r\n  - 推荐资源(附链接 + 发布日期)\r\n\r\n**Step 2c:用户确认**\r\n- 展示路径,用户可以调整顺序、增删模块\r\n- 用户确认后才开始学习\r\n\r\n**输出格式**:\r\n```\r\n🗺️ 个性化学习路径\r\n主题:[主题]\r\n目标:[目标]\r\n当前水平:[诊断结果]\r\n行业调研来源:[搜索结果链接]\r\n预估时间:[总时间]\r\n\r\n📚 模块列表\r\nModule 1: [名称] - [内容] - [验收标准] - [预估时间]\r\n  📖 推荐资源:[资源名称](链接) (发布日期)\r\nModule 2: ...\r\n```\r\n\r\n---\r\n\r\n## 🔄 学习循环(每模块)\r\n\r\n### Phase 0:框架搭建(10-15 min)\r\n- AI助手提问,引导发现核心概念\r\n- 用户尝试回答\r\n- 建立知识骨架\r\n\r\n### Phase 1:主动输入(25-40 min)\r\n- 用户学习原始材料(阅读/视频/实践)\r\n- 每 15 分钟暂停回忆\r\n- AI助手回答问题,不替用户学\r\n\r\n### Phase 2:费曼检验(15-20 min)\r\n- 用户向 AI助手解释所学内容\r\n- AI助手扮演\"不懂的学生\"追问\r\n- 暴露理解漏洞,引导自己发现\r\n\r\n**费曼检验评分标准(L5 必需)**:\r\n- 追问回答准确性(4 分):核心概念是否正确\r\n- 追问回答深度(3 分):是否解释了\"为什么\"而不只是\"是什么\"\r\n- 追问回答举例(3 分):是否给出了具体例子\r\n- 单问 >= 7 分算通过,3 问全部通过才算费曼检验通过\r\n- 和模块测试的\"单题 >=7 分算答对\"规则一致\r\n\r\n### Phase 2.5:实战模拟(15-20 min)\r\n- AI助手根据学习主题推荐 2-3 个模拟场景\r\n- 用户选择一个场景\r\n- AI助手宣布\"现在我切换为 [角色名],模拟开始\"\r\n- 用户输入 prompt → 模拟角色响应(3-5 轮)\r\n- 模拟结束,AI助手宣布\"模拟结束,切换回用户角色\"\r\n- 按 5 维度打分(100分)，具体维度见 scripts/scenarios.md 中的主题专用评分表\r\n- 执行 `srs.py record-simulation` 记录数据\r\n\r\n**参考**: scripts/scenarios.md(场景库示例 + 主题专用评分维度)\r\n\r\n### Phase 3:测试巩固(15-20 min)\r\n- 5-8 道混合题型测试\r\n- 逐题详细解析\r\n- 错题记录 + 掌握度评分\r\n\r\n**测试题型分配(按等级)**:\r\n- L1-L2:70% 概念回忆 + 20% 应用 + 10% 分析\r\n- L3:50% 概念回忆 + 30% 应用 + 20% 分析\r\n- L4:30% 概念回忆 + 35% 应用 + 25% 分析 + 10% 对比\r\n- L5:20% 概念回忆 + 30% 应用 + 30% 分析 + 20% 对比\r\n\r\n**Phase 3 类型判定(AI助手必须在出题前确认)**:\r\n- 复习 → 只更新间隔重复状态(不调用 record-test)\r\n- 模块测试 → 必须调用 record-test,决定等级升降\r\n\r\n**📌 复习 vs 模块测试(重要区分)**:\r\n\r\n| 项目 | 复习 | 模块测试 |\r\n|------|------|----------|\r\n| 目的 | 强化记忆 | 阶段性评估 |\r\n| 影响 | 不影响等级 | 决定等级升降 |\r\n| 题型 | 概念回忆为主 | 按等级分配题型 |\r\n| 记录 | 间隔重复状态更新(FSRS-5/SM-2) | test_history 记录 |\r\n| 命令 | srs.py rate | srs.py record-test |\r\n\r\n**Phase 3 结束后自检(必须执行)**:\r\n- □ 是否已判定本次是\"复习\"还是\"模块测试\"?\r\n- □ 如果是模块测试,是否已执行 record-test?\r\n- □ 是否已显示总分和答对率?\r\n- □ 是否已显示等级判定结果?\r\n\r\n**模块测试后行为指南**:\r\n\r\n| 测试结果 | AI 助手行为 |\r\n|----------|------------|\r\n| 答对率 >=70% | 确认通过,进入下一模块 |\r\n| 答对率 40-69% | 分析错题,建议重学薄弱知识点后重测当前模块 |\r\n| 答对率 <40% | 建议回到 Phase 0 重新搭建框架,降低难度重新学习 |\r\n| 连续 2 次 <40% | 触发倦怠检测,建议休息或切换学习方式 |\r\n\r\n- 重测时,出题应覆盖上次错题的知识点\r\n- 不要跳过薄弱模块直接学下一个——基础不牢会连锁影响后续模块\r\n- 如果用户坚持要继续,记录建议但尊重用户选择\r\n\r\n### Phase 4:间隔复习(FSRS-5 默认,SM-2 备选)\r\n- **默认算法**: FSRS-5 (IEEE TKDE 2023)，ML-based，19 个可优化参数\r\n- **备选算法**: SM-2 (Wozniak 1987)，通过 `config set algorithm sm2` 切换\r\n- **FSRS-5 核心**: 幂律遗忘曲线 R(t,S) = (1+FACTOR×t/S)^DECAY\r\n- **FSRS-5 评分**: wrong→稳定性骤降，hard→小增，good→正常增，easy→大增\r\n- **个性化**: 积累 1000+ 次 review 后可运行 `optimize-params` 优化参数\r\n- SM-2 备选: ease_factor 初始 2.5,good/hard/easy/wrong 四种评分公式\r\n\r\n**optimize-params 命令**:\r\n```bash\r\npython3 scripts/srs.py optimize-params [topic]\r\n```\r\n- **触发条件**: 积累 1000+ 次 review 记录后\r\n- **功能**: 基于用户历史数据，使用机器学习优化 FSRS-5 的 19 个参数\r\n- **输出**: 个性化参数，自动保存到 `config.json` 的 `fsrs_weights` 字段\r\n- **效果**: 提升复习调度精度，使间隔更贴合个人记忆特点\r\n- **建议**: 每 6 个月或积累 2000+ 次 review 后重新优化\r\n\r\n**⚠️ 本节描述仅供参考,以 scripts/srs.py 源码为准。**\r\n\r\n**触发机制**:\r\n- 基于 FSRS-5/SM-2 时间表，到期主动提醒\r\n- 心跳检查: `python3 scripts/srs.py due`\r\n- 有到期内容 → 发送复习提醒\r\n- 没有 → HEARTBEAT_OK\r\n\r\n**交互流程**:\r\n```\r\nAI发起: \"你有 N 个概念需要复习，现在开始吗？\"\r\n├── 用户选择: 立即开始 / 稍后提醒 / 跳过\r\n├── 稍后提醒: 记录时间，下次心跳检查\r\n├── 跳过: 更新下次复习时间，不扣分\r\n└── 立即开始:\r\n    ├── AI出题: 根据概念生成测试题\r\n    ├── 学习者作答\r\n    ├── AI反馈: 逐题解析 + 标记弱点\r\n    └── 更新复习日历: srs.py rate <topic> <concept> <rating>\r\n```\r\n\r\n**用户可选**:\r\n- 立即开始: 进入复习流程\r\n- 稍后提醒: 记录时间，下次心跳检查\r\n- 跳过: 更新下次复习时间，不扣分\r\n\r\n**AI助手执行指令**:\r\n1. 对每个答错的概念，调用 `srs.py add <topic> <concept>` 确保概念存在\r\n2. 根据答对/答错情况，调用 `srs.py rate <topic> <concept> <rating>` 更新间隔重复状态(FSRS-5/SM-2)\r\n   - rating 取值：easy / good / hard / wrong\r\n   - 示例：`python3 scripts/srs.py rate 线性代数 矩阵乘法 good`\r\n3. 注意：`srs.py review` 是交互式命令（需要用户输入），AI 助手不可直接调用。应使用 `srs.py rate` 逐步更新概念状态\r\n\r\n### v1.3.0 新增命令\r\n\r\n**今日学习概览**:\r\n```bash\r\npython3 scripts/srs.py today [topic]\r\n```\r\n- 显示今日待复习概念、新概念数量、预计学习时长\r\n- 可选按 topic 过滤，不指定则显示所有主题\r\n\r\n**学习连续天数**:\r\n```bash\r\npython3 scripts/srs.py streak [topic]\r\n```\r\n- 显示当前连续学习天数、最长连续记录\r\n- 激励用户保持学习习惯\r\n\r\n**学习分析报告**:\r\n```bash\r\npython3 scripts/srs.py analyze [topic] [--period 7d|30d|all]\r\n```\r\n- 生成学习效果分析：答对率趋势、薄弱知识点、学习效率\r\n- 支持按时间范围筛选\r\n- 输出可视化数据（供 AI 助手解读给用户）\r\n\r\n---\r\n\r\n## 📊 等级系统(L1-L5)\r\n\r\n### 等级判定算法(权威标准)\r\n\r\n**算法流程**:\r\n1. 初始等级 = L1\r\n2. L1→L2:前 2 次测试平均答对率 >= 20%\r\n3. 遍历所有相邻测试对,检查是否满足下一级阈值:\r\n   - L2→L3:连续 2 次 >= 40%\r\n   - L3→L4:连续 2 次 >= 70%\r\n   - L4→L5:连续 2 次 >= 90%\r\n4. 每次匹配成功只升一级,不能跳级\r\n\r\n**⚠️ 算法已在 srs.py 中实现,SKILL.md 不重复写伪代码。**\r\n\r\n### 等级标准\r\n\r\n| 等级 | 标准 | 行为特征 |\r\n|------|------|----------|\r\n| 🔴 L1 入门 | 无模块测试记录,或首次模块测试答对率 <20% | 从零开始,需要基础概念讲解 |\r\n| 🟠 L2 初学 | 首次模块测试答对率 >=20%(L3 需连续 2 次达标) | 有概念但不系统,需要框架搭建 |\r\n| 🟡 L3 进阶 | 连续 2 次模块测试答对率 >=40% | 能独立应用基本概念 |\r\n| 🟢 L4 熟练 | 连续 2 次模块测试答对率 >=70% | 能解决复杂问题,理解深层原理 |\r\n| 🔵 L5 精通 | 连续 2 次模块测试答对率 >=90% + 费曼检验通过* | 能教会别人,知识完全内化 |\r\n\r\n> *注:L5 的费曼检验是 AI 助手执行的附加验证流程,不在 srs.py 代码中强制执行。srs.py 仅基于测试答对率进行等级判定。\r\n\r\n### 升降级规则\r\n\r\n**升级规则**：\r\n- L1→L2:前 2 次测试平均答对率 >= 20%\r\n- L2→L3:连续 2 次模块测试答对率 >=40%\r\n- L3→L4:连续 2 次模块测试答对率 >=70%\r\n- L4→L5:连续 2 次模块测试答对率 >=90% + 费曼检验 3 问全对\r\n\r\n**降级规则**（硬约束，已写入 srs.py）：\r\n- 连续 3 次测试低于当前等级阈值 → 降一级\r\n- 升级要 2 次达标，降级要 3 次不达标——升容易降难\r\n- 注：最低降到 L2。L1 只在无测试历史时触发\r\n- 每次检查只降一级，不连续降级\r\n\r\n**降级阈值**：\r\n- L3: 0.4 (40%)\r\n- L4: 0.7 (70%)\r\n- L5: 0.9 (90%)\r\n- 注：L2 为最低等级，不会降级到 L1\r\n\r\n### 两个独立维度\r\n\r\n- **等级** = 基于模块测试答对率(权威,用于升级判定)\r\n- **间隔重复状态** = 基于概念 mastered 比例(仅用于展示,不用于等级判定)\r\n- 两者独立计算,不混用\r\n\r\n---\r\n\r\n## 🎭 实战模拟(详细规范)\r\n\r\n### 目的\r\n通过模拟真实场景,检验用户的实战能力\r\n\r\n### 适用条件\r\n- 学习主题有明确的实战应用场景\r\n- 用户已完成 Phase 2(费曼检验)\r\n- 用户愿意尝试模拟\r\n\r\n### 执行流程\r\n```\r\nStep 1: 选择模拟场景\r\n└── AI助手根据学习主题推荐 2-3 个场景,用户选择\r\n\r\nStep 2: 加载场景角色设定\r\n└── 从 scripts/scenarios.md 中读取对应场景的 system prompt\r\n\r\nStep 3: 角色切换\r\n└── AI助手明确宣布:\"现在我切换为 [角色名],模拟开始\"\r\n└── 从此刻起,AI助手只按角色设定行动\r\n\r\nStep 4: 执行模拟(3-5 轮)\r\n└── 用户输入 prompt → 模拟角色响应 → 循环\r\n\r\nStep 5: 模拟结束 + 评估\r\n└── AI助手宣布:\"模拟结束,切换回用户角色\"\r\n└── 按 5 维度打分(100分)\r\n└── 输出评估报告\r\n\r\nStep 6: 记录\r\n└── srs.py record-simulation <topic> <scenario> <score> --rounds N\r\n```\r\n\r\n### 模拟模式\r\n统一用主会话模式(不 spawn 子会话)\r\n- 原因:某些渠道不支持 thread binding,spawn 子会话无法直接交互\r\n- 风险评估:短模拟(3-5 轮)在主会话内做是安全的,上下文污染风险很低\r\n\r\n### 评估维度\r\n\r\n按学习主题选择专用评分维度，见 scripts/scenarios.md 中的\"可配置评分维度\"章节。\r\n\r\n### 等级判定规则\r\n\r\n**等级判定来源(按优先级)**:\r\n1. 模块测试答对率(权威,连续 2 次达标才升级)\r\n2. 模拟得分(辅助,作为\"实战能力证明\")\r\n\r\n**两者关系**:\r\n- 模块测试达标 → 直接升级\r\n- 模块测试未达标 + 模拟得分 > 70 → 标记为\"实战能力达标,建议做模块测试确认\"\r\n- 两者都未达标 → 不升级\r\n\r\n---\r\n\r\n\n\nArchive v1.4.2: 8 files, 66974 bytes\n\nFiles: learning-templates.json (793b), references/full-workflow.md (27562b), scripts/evidence.md (23606b), scripts/scenarios.md (8523b), scripts/srs.py (106424b), scripts/templates.md (3740b), SKILL.md (20031b), _meta.json (130b)\n\nArchive v1.4.1: 8 files, 66974 bytes\n\nFiles: learning-templates.json (793b), references/full-workflow.md (27562b), scripts/evidence.md (23606b), scripts/scenarios.md (8523b), scripts/srs.py (106424b), scripts/templates.md (3740b), SKILL.md (20031b), _meta.json (130b)\n\nArchive v1.4.0: 8 files, 67082 bytes\n\nFiles: learning-templates.json (793b), references/full-workflow.md (27562b), scripts/evidence.md (23606b), scripts/scenarios.md (8523b), scripts/srs.py (106424b), scripts/templates.md (3740b), SKILL.md (20303b), _meta.json (130b)\n\nArchive v1.3.1: 13 files, 86356 bytes\n\nFiles: CHANGELOG.md (6729b), learning-templates.json (771b), LICENSE (1063b), README.md (10106b), references/full-workflow.md (24095b), requirements.txt (360b), scripts/evidence.md (22556b), scripts/scenarios.md (8297b), scripts/srs.py (103554b), scripts/templates.md (3584b), scripts/test_srs.py (92431b), SKILL.md (16305b), _meta.json (130b)\n\nArchive v1.3.0: 13 files, 85967 bytes\n\nFiles: CHANGELOG.md (6729b), learning-templates.json (771b), LICENSE (1063b), README.md (10106b), references/full-workflow.md (24095b), requirements.txt (360b), scripts/evidence.md (22556b), scripts/scenarios.md (8297b), scripts/srs.py (102634b), scripts/templates.md (3584b), scripts/test_srs.py (92431b), SKILL.md (16077b), _meta.json (130b)\n\nArchive v1.2.1: 7 files, 49277 bytes\n\nFiles: references/full-workflow.md (23767b), scripts/evidence.md (20550b), scripts/scenarios.md (8252b), scripts/srs.py (69949b), scripts/templates.md (3517b), SKILL.md (15950b), _meta.json (130b)\n\nArchive v1.2.0: 16 files, 80428 bytes\n\nFiles: CHANGELOG.md (8754b), CONTRIBUTING.md (3011b), docs/docu-review-report.md (4762b), LICENSE (1063b), README.md (9614b), README.zh-CN.md (9130b), references/full-workflow.md (23767b), requirements.txt (360b), scripts/evidence.md (20550b), scripts/scenarios.md (8252b), scripts/srs.py (69949b), scripts/templates.md (3517b), scripts/test_srs.py (84638b), SECURITY.md (523b), SKILL.md (15449b), _meta.json (130b)","readmeExcerpt":"Skill: RetainCraft — FSRS-5 Spaced Repetition AI Learning Tutor Owner: kaixiad Summary: Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning. 间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼... Tags: latest:1.4.5 Version history: v1.4.5 | 2026-05-24T07:35:54.537Z | user Security: transparent permissions declaration for ClawHub audit. Declares file I/O, Python exe","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"File v1.4.5:skill-card.md\n\n## Description:\n\nRetainCraft is an AI learning tutor that combines FSRS-5 spaced repetition, active recall, Feynman checks, interleaved practice, causal questioning, learning contracts, burnout detection, and progress reporting.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[kaixiad](https://clawhub.ai/user/kaixiad)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, learners, and developers use this skill to run structured study sessions with diagnostic testing, customized learning paths, spaced repetition review, practice testing, simulations, and progress tracking. It is intended for agent-assisted tutoring workflows where local study state and reminder behavior are acceptable.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can create persistent daily and weekly reminder behavior and may infer messaging targets from session metadata.\n\nMitigation: Review reminder setup before installation, confirm the target channel, and disable or remove reminders if persistent notifications are not acceptable.\n\nRisk: The skill stores study progress and learning state under ~/learn.\n\nMitigation: Use the skill only where local storage of learning topics, progress, profiles, and review history is acceptable; review or delete that directory as needed.\n\nRisk: The tutoring workflow uses web search for question generation and fact-checking.\n\nMitigation: Avoid submitting sensitive, confidential, or regulated study material to search-backed tutoring steps, or redact it before use.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/kaixiad/skills/retaincraft)\n- [Full workflow](artifact/references/full-workflow.md)\n- [Scenario library](artifact/scripts/scenarios.md)\n- [Academic citations and effect sizes](artifact/scripts/evidence.md)\n- [Output templates](artifact/scripts/templates.md)\n- [Learning templates data](artifact/learning-templates.json)\n- [Donoghue and Hattie "},{"language":"text","snippet":"File v1.4.4:learning-templates.json\n\n{\r\n  \"templates\": [\r\n    {\r\n      \"name\": \"编程语言\",\r\n      \"approach\": \"语法基础 → 小项目巩固 → 逐步增加复杂度\",\r\n      \"interleaving_strategy\": \"混合不同概念（如条件+循环+函数）\",\r\n      \"feynman_prompt\": \"用简单的比喻解释给非程序员听\"\r\n    },\r\n    {\r\n      \"name\": \"外语学习\",\r\n      \"approach\": \"词汇+语法并行 → 阅读巩固 → 输出强化\",\r\n      \"interleaving_strategy\": \"混合听说读写\",\r\n      \"feynman_prompt\": \"用目标语言解释，然后用母语验证\"\r\n    },\r\n    {\r\n      \"name\": \"考试复习\",\r\n      \"approach\": \"知识点梳理 → 真题练习 → 薄弱点强化\",\r\n      \"interleaving_strategy\": \"混合不同科目\",\r\n      \"feynman_prompt\": \"用自己的话解释这个考点\"\r\n    }\r\n  ]\r\n}\n\nArchive v1.4.3: 8 files, 66974 bytes\n\nFiles: learning-templates.json (793b), references/full-workflow.md (27562b), scripts/evidence.md (23606b), scripts/scenarios.md (8523b), scripts/srs.py (106424b), scripts/templates.md (3740b), SKILL.md (20031b), _meta.json (130b)\n\nFile v1.4.3:SKILL.md\n\n---\r\nname: retaincraft\r\ndescription: >\r\n  Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning.\r\n  间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼学习法、交错练习、因果追问。\r\n  Evidence-based: distributed practice d=0.85, practice testing d=0.74, AI tutoring 0.63-1.3 SD.\r\n  Multi-platform compatible: OpenClaw, WorkBuddy, Claude Code, Hermes Agent.\r\n  Features: FSRS-5 spaced repetition (default), SM-2 fallback, forgetting curve, burnout detection, learning contract, weekly report.\r\n  169 tests, 24 CLI commands, 14 academic citations, zero external dependencies.\r\nversion: 1.4.0\r\nauthor: kaixiad\r\nlicense: MIT\r\nhomepage: https://github.com/kaixiad/RetainCraft\r\ntags:\r\n  - learning\r\n  - education\r\n  - study\r\n  - tutoring\r\n  - ai-tutor\r\n  - ai-learning\r\n  - spaced-repetition\r\n  - active-recall\r\n  - feynman-technique\r\n  - interleaving\r\n  - evidence-based\r\n  - learning-protocol\r\n  - level-system\r\n  - progress-tracking\r\n  - memory\r\n  - review\r\n  - exam\r\n  - study-plan\r\n  - forgetting-curve\r\n  - burnout-detection\r\n  - weekly-report\r\n  - openclaw\r\n  - 学习\r\n  - 教育\r\n  - AI学习\r\n  - AI辅导\r\n  - 间隔"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\r\nname: retaincraft\r\ndescription: >\r\n  Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning.\r\n  间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼学习法、交错练习、因果追问。\r\n  Evidence-based: distributed practice d=0.85, practice testing d=0.74, AI tutoring 0.63-1.3 SD.\r\n  Multi-platform compatible: OpenClaw, WorkBuddy, Claude Code, Hermes Agent.\r\n  Features: FSRS-5 spaced repetition (default), SM-2 fallback, forgetting curve, burnout detection, learning contract, weekly report.\r\n  169 tests, 24 CLI commands, 14 academic citations, zero external dependencies.\r\nversion: 1.4.0\r\nauthor: kaixiad\r\nlicense: MIT\r\nhomepage: https://github.com/kaixiad/RetainCraft\r\ntags:\r\n  - learning\r\n  - education\r\n  - study\r\n  - tutoring\r\n  - ai-tutor\r\n  - ai-learning\r\n  - spaced-repetition\r\n  - active-recall\r\n  - feynman-technique\r\n  - interleaving\r\n  - evidence-based\r\n  - learning-protocol\r\n  - level-system\r\n  - progress-tracking\r\n  - memory\r\n  - review\r\n  - exam\r\n  - study-plan\r\n  - forgetting-curve\r\n  - burnout-detection\r\n  - weekly-report\r\n  - openclaw\r\n  - 学习\r\n  - 教育\r\n  - AI学习\r\n  - AI辅导\r\n  - 间隔重复\r\n  - 主动回忆\r\n  - 费曼学习法\r\n  - 交错练习\r\n  - 循证学习\r\n  - 学习协议\r\nmetadata:\r\n  openclaw:\r\n    emoji: \"📚\"\r\n    requires:\r\n      bins:\r\n        - python3\r\n    os:\r\n      - darwin\r\n      - linux\r\n      - win32\r\n    always: false\r\n---\r\n\r\n# RetainCraft\r\n\r\nEvidence-based AI-assisted interactive learning protocol\r\n基于循证学习科学的 AI 辅助互动学习协议\r\n\r\n> Combines 5 scientifically validated methods + self-assessment + diagnostic test + customized learning path\r\n> 结合 5 种科学验证方法 + 自我评价 + 摸底考试 + 定制化学习路径\r\n\r\n**📦 Source Code (源码)**: [https://github.com/kaixiad/RetainCraft](https://github.com/kaixiad/RetainCraft)\r\n\r\n**⚠️ Permissions required (所需权限)**:\r\nThis skill requires: file read/write (`~/learn/`), Python script execution, web search (for test questions & fact-checking), and platform-specific reminder scheduling. All data stored locally. No external API calls.\r\n本技能需要：文件读写（`~/learn/`）、Python 脚本执行、网络搜索（出题和事实核查）、平台提醒调度。所有数据本地存储，无外部 API 调用。\r\n\r\n> **RetainCraft** by [kaixiad](https://github.com/kaixiad) — 170 unit tests, 14 academic citations, zero dependencies.\r\n> If you find this useful, a ⭐ on GitHub would mean a lot.\r\n**📖 Detailed workflow (详细流程)**: [references/full-workflow.md](references/full-workflow.md)\r\n\r\n> ⭐ If this skill helps you, please give a Star on GitHub!\r\n> 如果这个 skill 对你有帮助，欢迎在 GitHub 上给个 Star！\r\n\r\n---\r\n\r\n## ⚠️ Execution Checklist (执行清单)\r\n\r\n> All commands use paths relative to this SKILL.md's directory. 以下所有命令路径相对于本文件所在目录。\r\n\r\n**Must read before each learning session (每次学习开始前必须读)**\r\n\r\n### Critical Steps (关键执行步骤 - 不可违反)\r\n\r\n1. **Must execute after module test (模块测试结束后必须执行)**:\r\n   ```bash\r\n   python3 scripts/srs.py record-test <topic> <total> <correct>\r\n   ```\r\n   Not executing = module test invalid, level not updated.\r\n   不执行此命令 = 模块测试无效，等级不更新。\r\n\r\n2. **Feynman Check - L5 required (费曼检验 - L5 必需)**:\r\n   - L5 mastery requires: 2 consecutive module tests >=90% "},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn72na7n2c9e64jehgd6p7navh86q2md\",\n  \"slug\": \"retaincraft\",\n  \"version\": \"1.4.5\",\n  \"publishedAt\": 1779608154537\n}"},{"path":"references/full-workflow.md","content":"# RetainCraft 完整工作流\r\n\r\n> **版本**: v1.4.0 | **更新日期**: 2026-05-22 | **状态**: 详细参考文档（SKILL.md 的扩展版）\r\n> 本文档包含 RetainCraft 的详细流程说明，供 AI 助手按需参考。\r\n\r\n---\r\n\r\n## 📚 核心方法论(循证)\r\n\r\n| 方法 | 效果量 | 来源 | 适用阶段 |\r\n|------|--------|------|----------|\r\n| 间隔重复 | d=0.85 | Donoghue & Hattie 2021 元分析 | 长期记忆巩固 |\r\n| 主动回忆 | d=0.74 | Donoghue & Hattie 2021 元分析 | 知识提取训练 |\r\n| 交错练习 | d=0.47 | Donoghue & Hattie 2021 元分析 | 灵活运用能力 |\r\n| 精细加工提问 | d=0.56 | Donoghue & Hattie 2021 元分析 | 深度加工 |\r\n| 费曼学习法 | d=0.54* | Donoghue & Hattie 2021 元分析 | 深度理解检验 |\r\n| AI 辅导 | 0.63-1.3 SD | Kestin et al. 2025 RCT (N=194) | 个性化学习 |\r\n\r\n> **注**：*d=0.54 对应原文\"自我解释\"（Self Explanation），此处映射为费曼学习法。严格来说，\"自我解释\"强调学习者解释自身认知过程，而\"费曼学习法\"强调向他人教授。两者在认知机制上有重叠但不完全等同，此处采用概念近似映射。\r\n> 所有 d 值均来自 Donoghue & Hattie (2021) 元分析（242 项研究，169,179 名参与者）。\r\n\r\n**参考**: scripts/evidence.md(详细引用和效果量)\r\n\r\n---\r\n\r\n## 🔄 完整流程:五步启动\r\n\r\n### Step 0:学习意愿评估(用户自我评价)\r\n\r\n在正式学习之前,让用户完成一份自我评估问卷。\r\n\r\n**输出格式**:\r\n```\r\n📋 学习自我评估问卷\r\n1. 你想学什么?[主题]\r\n2. 学完之后你想能做什么?[目标]\r\n3. 你当前的水平?[🔴零基础 / 🟡有点概念 / 🟢学过一些 / 🔵有基础]\r\n4. 每天能花多少时间学习?[X 分钟/小时]\r\n5. 有没有截止日期?\r\n6. 你更喜欢哪种学习方式?[阅读/视频/播客/实践/讨论]\r\n7. 之前用过什么方法学?效果如何?\r\n8. 你觉得自己的薄弱环节是什么?\r\n```\r\n\r\n### Step 0.1:学习契约(Learning Contract)\r\n\r\n在评估完成后，与用户确认学习契约，明确双方责任和预期。\r\n\r\n**学习契约内容**:\r\n```\r\n📝 学习契约\r\n\r\n学习者承诺:\r\n□ 每天投入 [X] 分钟学习时间\r\n□ 按时完成模块测试和复习任务\r\n□ 主动向 AI 助手反馈学习困难\r\n□ 遵循间隔重复的复习安排\r\n\r\nAI 助手承诺:\r\n□ 提供个性化的学习路径和材料\r\n□ 基于循证方法设计学习活动\r\n□ 及时记录学习进度和掌握度\r\n□ 在学习者疲劳时主动调整强度\r\n\r\n学习目标:\r\n□ 短期目标: [用户填写]\r\n□ 长期目标: [用户填写]\r\n□ 预期完成时间: [根据路径预估]\r\n\r\n确认方式: 用户回复\"我同意\"即视为契约生效\r\n```\r\n\r\n**契约的作用**:\r\n- 明确学习者的责任和承诺\r\n- 建立 AI 助手的服务标准\r\n- 作为后续学习效果评估的基准\r\n- 增强学习者的责任感和动力\r\n\r\n**技术实现**: 用户确认契约后，AI 助手调用：\r\n```bash\r\npython3 scripts/srs.py sign-contract '{\"time\":\"20:00\",\"days\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\"],\"duration\":60,\"target_level\":\"L4\"}'\r\n```\r\n代码保存契约到 config.json 并输出 `REMINDER_REQUIRED`，AI 助手根据输出创建平台对应的定时提醒。\r\n\r\n### Step 0.5:预习材料(零基础专用)\r\n\r\n**触发条件**:用户自评水平为\"完全零基础\"时自动启用。\r\n\r\n**AI助手做什么**:\r\n1. web_search 搜索该主题的入门资料\r\n2. 精炼成一份\"快速概览\"(800-1500 字)\r\n3. 用大白话写,避免术语\r\n4. 展示给用户,等待确认后再进入 Step 1\r\n\r\n**输出格式**:\r\n```\r\n📖 [主题] 快速概览\r\n\r\n1. 这个东西是什么?(一句话定义)\r\n2. 学了能做什么?(3 个实际用途)\r\n3. 核心概念(不超过 5 个,每个一句话解释)\r\n4. 常见误区(1-2 个)\r\n5. 推荐入门资源(1-2 个,附链接)\r\n\r\n---\r\n确认已阅读,回复\"继续\"进入摸底考试。\r\n```\r\n\r\n### Step 1:摸底考试(Pre-assessment Test)\r\n\r\n**目的**:客观测量用户当前水平\r\n\r\n**规则**:\r\n- 5-8 道题,覆盖从基础到进阶\r\n- 题型混合:概念理解 + 应用计算 + 分析判断\r\n- 告诉用户:\"凭直觉答,不会的就说不会,没关系\"\r\n\r\n**⚠️ 重要规则**:\r\n- 摸底考试不调用 record-test，不写入 test_history\r\n- 摸底成绩仅用于诊断当前水平，用于定制学习路径\r\n- 正式的等级评定从第一个模块测试开始\r\n\r\n### Step 2:学习路径定制(含行业调研)\r\n\r\n**Step 2a:行业调研(必须在规划前执行)**\r\n- web_search 搜索 \"[目标] 学习路线 2026\" / \"[目标] 岗位要求 / JD\"\r\n- web_search 搜索 \"[目标] 主流项目 / 实战教程\"\r\n- 提取:必备技能、加分技能、主流工具链、学习资源\r\n- 标注来源和搜索日期\r\n- ⚠️ 行业调研是强制步骤,不搜索就不能规划\r\n\r\n**Step 2b:路径生成**\r\n- 基于行业调研结果 + Step 0 用户水平 + Step 1 摸底成绩\r\n- 拆分为 3-8 个模块,每个模块包含:\r\n  - 学习目标(学完能做什么)\r\n  - 核心知识点(从搜索结果提取,标注来源)\r\n  - 验收标准(怎么证明学会了)\r\n  - 预估时间\r\n  - 推荐资源(附链接 + 发布日期)\r\n\r\n**Step 2c:用户确认**\r\n- 展示路径,用户可以调整顺序、增删模块\r\n- 用户确认后才开始学习\r\n\r\n**输出格式**:\r\n```\r\n🗺️ 个性化学习路径\r\n主题:[主题]\r\n目标:[目标]\r\n当前水平:[诊断结果]\r\n行业调研来源:[搜索结果链接]\r\n预估时间:[总时间]\r\n\r\n📚 模块列表\r\nModule 1: [名称] - [内容] - [验收标准] - [预估时间]\r\n  📖 推荐资源:[资源名称](链接) (发布日期"},{"path":"scripts/evidence.md","content":"# 学术引用和效果量\r\n\r\n> 本文档包含 SKILL.md 中引用的学术研究和效果量，供参考。\r\n> 所有引用均经过溯源验证，确保准确性。\r\n\r\n---\r\n\r\n## 核心方法论（循证）\r\n\r\n| 方法 | 效果量 (d) | 来源 | 原始编码类别 | 适用阶段 | 落地层级 |\r\n|------|-----------|------|-------------|----------|----------|\r\n| 间隔重复 | 0.85 | Donoghue & Hattie 2021 | Distributed Practice | 长期记忆巩固 | 🟢 代码级 |\r\n| 主动回忆 | 0.74 | Donoghue & Hattie 2021 | Practice Testing | 知识提取训练 | 🟢🟡 混合级 |\r\n| 精细加工提问→因果追问 | 0.56 | Donoghue & Hattie 2021 | Elaborative Interrogation | 深度加工 | 🔵 AI协议级 |\r\n| 自我解释→费曼学习法 | 0.54 | Donoghue & Hattie 2021 | Self Explanation | 深度理解检验 | 🔵 AI协议级 |\r\n| 交错练习 | 0.47 | Donoghue & Hattie 2021 | Interleaved Practice | 灵活运用能力 | 🔵 AI协议级 |\r\n| AI 辅导 | 0.63-1.3 SD | Kestin et al. 2025 | RCT (N=194) | 个性化学习 | 🟢🟡 混合级 |\r\n\r\n> **注**：效果量 d 值均来自 Donoghue & Hattie (2021) 元分析，基于 242 项研究、1,619 个效果量、169,179 名参与者。\r\n> \"自我解释\"（Self Explanation）映射为\"费曼学习法\"，两者认知过程高度重合，但严格来说属于概念近似。\r\n\r\n---\r\n\r\n## 详细引用\r\n\r\n### R1: Donoghue & Hattie (2021)\r\n\r\n**完整引用**：\r\nDonoghue, G. M., & Hattie, J. A. C. (2021). A meta-analysis of ten learning techniques. *Frontiers in Education*, 6, 581216. https://doi.org/10.3389/feduc.2021.581216\r\n\r\n**来源**：\r\n- 期刊：Frontiers in Education（同行评审期刊）\r\n- DOI：10.3389/feduc.2021.581216\r\n- 发表日期：2021年3月31日\r\n- 全文链接：https://www.frontiersin.org/journals/education/articles/10.3389/feduc.2021.581216/full\r\n\r\n**研究规模**：\r\n- 242 项研究\r\n- 1,619 个效果量\r\n- 169,179 名独特参与者\r\n- 总体平均效果量：0.56\r\n\r\n**核心效果量数据**：\r\n\r\n| 学习技巧 | Dunlosky分类 | 案例数 | 效果量 (d) | 标准误 |\r\n|----------|-------------|--------|-----------|--------|\r\n| 分布式练习 (Distributed Practice) | 高 | 150 | **0.85** | 0.053 |\r\n| 实践测试 (Practice Testing) | 高 | 374 | **0.74** | 0.04 |\r\n| 精细询问 (Elaborative Interrogation) | 中等 | 254 | **0.56** | 0.048 |\r\n| 意象 (Imagery) | 低 | 135 | **0.56** | 0.061 |\r\n| 自我解释 (Self Explanation) | 中等 | 93 | **0.54** | 0.092 |\r\n| 助记术 (Mnemonics) | 低 | 107 | **0.50** | 0.104 |\r\n| 重读 (Rereading) | 低 | 113 | **0.47** | 0.06 |\r\n| 交错练习 (Interleaved Practice) | 中等 | 104 | **0.47** | 0.089 |\r\n| 划线 (Highlighting) | 低 | 56 | **0.44** | 0.115 |\r\n| 总结 (Summarization) | 低 | 234 | **0.44** | 0.055 |\r\n\r\n**关键发现**（按效果量 d 值分组，非 Dunlosky 效用分类）：\r\n- 高效果量（d > 0.70）：分布式练习、实践测试\r\n- 中效果量（d 0.54-0.69）：精细询问、意象、自我解释\r\n- 低效果量（d < 0.53）：助记术、重读、交错练习、划线、总结\r\n> **注意**：此分组基于 Donoghue & Hattie (2021) 的效果量 d 值，与 Dunlosky et al. (2013) 的效用分类（高/中/低效用）是不同的评价体系。例如，交错练习在 Dunlosky 分类中属于\"中等效用\"，但其 d=0.47 在效果量分组中归入\"低效果量\"区间。\r\n- 效果量在表面学习（d=0.60）中高于深度学习（d=0.26）\r\n- 近迁移（d=0.61）效果显著高于远迁移（d=0.39）\r\n\r\n**落地层级**：⚪ 理论基准 — 效果量数据，不参与代码\r\n\r\n---\r\n\r\n### R2: Dunlosky et al. (2013)\r\n\r\n**完整引用**：\r\nDunlosky, J., Rawson, K. A., Marsh, E. J., Nathan, M. J., & Willingham, D. T. (2013). Improving students' learning with effective learning techniques: Promising directions from cognitive and educational psychology. *Psychological Science in the Public Interest*, 14(1), 4-58. https://doi.org/10.1177/1529100612453266\r\n\r\n**来源**：\r\n- 期刊：Psychological Science in the Public Interest（同行评审期刊）\r\n- DOI：10.1177/1529100612453266\r\n- 发表日期：2013年1月\r\n- PubMed链接：https://pubmed.ncbi.nlm.nih.gov/26173288/\r\n- 页码：4-58\r\n"},{"path":"scripts/scenarios.md","content":"# 场景库示例\r\n\r\n> 本文档包含实战模拟的场景库示例，供 SKILL.md 引用。\r\n> 适用于 v1.4.0+（FSRS-5 默认算法）\r\n\r\n---\r\n\r\n## 提示词工程（3 个场景）\r\n\r\n### 场景 1：标准 AI 模拟（L2+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个严格按照用户 prompt 执行的 AI 助手。你的行为规则：\r\n- 用户的 prompt 越清晰、越具体，你的输出越详细、越准确\r\n- 用户的 prompt 越模糊、越笼统，你的输出越简短、越泛泛\r\n- 你不会猜测用户意图——如果 prompt 有歧义，你按最字面的理解执行\r\n- 你不会主动提示用户改进 prompt\r\n- 如果 prompt 缺少关键信息（如输出格式、目标受众），你不会补充，直接按默认输出\r\n```\r\n\r\n**适用场景**：检验用户写清晰、完整 prompt 的能力\r\n\r\n---\r\n\r\n### 场景 2：对抗性 AI（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个会\"偷懒\"的 AI 助手。你的行为规则：\r\n- 你会抓住 prompt 中的每一个歧义和漏洞来偷工减料\r\n- 如果 prompt 说\"简洁\"，你就极度简化，丢掉重要信息\r\n- 如果 prompt 没有明确禁止，你就按最低标准执行\r\n- 如果 prompt 有隐含假设，你就故意曲解\r\n- 你不会承认自己在偷懒——如果用户质问，你会找借口\r\n- 只有当 prompt 用明确的约束堵住所有漏洞时，你才会认真执行\r\n```\r\n\r\n**适用场景**：检验用户写抗干扰 prompt 的能力\r\n\r\n---\r\n\r\n### 场景 3：模糊客户（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个\"说不清自己要什么\"的客户。你的行为规则：\r\n- 你有一个模糊的需求，但你自己也不完全清楚是什么\r\n- 你会用模糊的语言描述需求（\"就是那种感觉\"、\"高端一点\"、\"参考竞品\"但不说哪个竞品）\r\n- 当 AI 追问时，你会给出部分信息，但不是全部\r\n- 当 AI 给出方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如预算、截止日期、目标用户），除非 AI 问到\r\n- 当 AI 问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的 meta-prompting 和追问引导能力\r\n\r\n---\r\n\r\n## 编程（2 个场景）\r\n\r\n### 场景 4：代码审查者（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个严格的代码审查专家。你的行为规则：\r\n- 你会仔细检查每一行代码，寻找 bug、安全漏洞、性能问题\r\n- 你会指出代码中的潜在问题，即使它们不会立即导致错误\r\n- 你会给出具体的改进建议，而不仅仅是指出问题\r\n- 你会关注代码的可读性、可维护性、可测试性\r\n- 你会用专业的语气，但不会过于严厉\r\n```\r\n\r\n**适用场景**：检验用户写清晰代码和应对审查的能力\r\n\r\n---\r\n\r\n### 场景 5：模糊技术需求（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个说不清需求的技术经理。你的行为规则：\r\n- 你会用模糊的语言描述技术需求（\"帮我做个功能\"、\"优化一下性能\"）\r\n- 你不会主动提供技术细节（如 API 接口、数据库结构、技术栈）\r\n- 当开发者追问时，你会给出部分信息，但不是全部\r\n- 当开发者给出方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如并发量、数据量、安全要求），除非开发者问到\r\n- 当开发者问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的技术需求分析能力\r\n\r\n---\r\n\r\n## 写作（2 个场景）\r\n\r\n### 场景 6：挑剔编辑（L3+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个要求严格的编辑。你的行为规则：\r\n- 你会仔细检查每一篇文章，寻找问题（语气不对、结构混乱、缺乏数据支撑）\r\n- 你会给出具体的修改建议，而不仅仅是指出问题\r\n- 你会关注文章的可读性、逻辑性、说服力\r\n- 你会用专业的语气，但不会过于严厉\r\n- 你会要求作者提供数据来源和引用\r\n```\r\n\r\n**适用场景**：检验用户写高质量文案的能力\r\n\r\n---\r\n\r\n### 场景 7：需求变更客户（L4+）\r\n\r\n**角色设定**：\r\n```\r\n你是一个不断改需求的客户。你的行为规则：\r\n- 你会频繁改变需求（\"我觉得方向要换一下\"、\"昨天说的那个不要了\"）\r\n- 你不会主动提供变更原因\r\n- 当作者追问时，你会给出部分原因，但不是全部\r\n- 当作者给出新方案时，你会说\"不太对\"但说不清哪里不对\r\n- 你不会主动提供关键信息（如截止日期、预算、目标用户），除非作者问到\r\n- 当作者问了正确的问题，你会给出清晰的回答\r\n```\r\n\r\n**适用场景**：检验用户的 prompt 适应性和快速调整能力\r\n\r\n---\r\n\r\n## 场景模板结构\r\n\r\n每个学习主题定义 2-3 个模拟场景，每个场景包含：\r\n\r\n```\r\n## 模拟场景模板\r\n\r\n### 场景元数据\r\n- 名称：[场景名]\r\n- 难度：[L2/L3/L4/L5]\r\n- 模式：主会话模式\r\n- 适合轮次：[3-5轮]\r\n\r\n### 角色设定（system prompt）\r\n[模拟角色的行为规则，写给模拟 AI 看的]\r\n\r\n### 交互规则\r\n- 每轮等待用户输入\r\n- 根据用户输入质量给出不同质量的响应\r\n- 不主动提示改进\r\n- 达到轮次上限或用户说\"结束\"时停止\r\n\r\n### 评估标准（写给AI助手看的，不给模拟角色看）\r\n按 5 个维度打分，每个维度有具体的评分细则\r\n```\r\n\r\n---\r\n\r\n## 可配置评分维度\r\n\r\n不同学习主题使用不同的评分维度，提升通用性。\r\n\r\n### 提示词工程\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 目标达成 | 30 | 用户最终是否通过 prompt 获得了期望的输出 |\r\n| Prompt 质量 | 30 | 角色设定、任务描述、约束条件、输出格式是否完整清晰 |\r\n| 迭代改进 | 20 | 多轮中是否根据模拟 AI 的响应改进了 prompt |\r\n| 防御意识 | 10 | 是否加入了防止歧义/偷懒/编造的约束 |\r\n| 技巧运用 | 10 | 是否使用了高级技巧(few-shot、CoT、meta-prompting 等) |\r\n\r\n### 编程开发\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------|\r\n| 功能实现 | 40 | 代码是否实现了要求的功能 |\r\n| 代码质量 | 25 | 代码结构、命名规范、可读性 |\r\n| 错误处理 | 20 | 异常处理、边界条件、输入验证 |\r\n| 性能优化 | 10 | 算法效率、资源使用 |\r\n| 文档注释 | 5 | 注释完整性、文档质量 |\r\n\r\n### 数据分析\r\n| 维度 | 分值 | 评判标准 |\r\n|------|------|----------"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning. 间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼... Skill: RetainCraft — FSRS-5 Spaced Repetition AI Learning Tutor Owner: kaixiad Summary: Spaced repetition & FSRS-5 AI learning assistant with active recall, Feynman technique, interleaved practice, causal questioning. 间隔重复FSRS-5 AI学习助手，整合主动回忆、费曼... Tags: latest:1.4.5 Version history: v1.4.5 | 2026-05-24T07:35:54.537Z | user Security: transparent permissions declaration for ClawHub audit. Declares file I/O, Python exe","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":965,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T14:46:37.079Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T14:46:37.079Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:36:40.635Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}