--- name: weak-point-drill license: Apache-2.0 (adapted from anthropics/claude-for-legal, law-student/skills/bar-prep-questions; complete terms in LICENSE.txt) description: 针对薄弱知识点定向出题练习,而不是泛泛出一堆题——先定位哪些子主题反复出错, 再加重这些子主题的出题权重,并追踪跨小节的错误规律。Use when 用户说 "考我一下这个知识点""针对我不会的地方出题""我总是这几个概念搞混,帮我 多练练""来一组针对性练习"。如果只是想泛泛出几道题不追踪薄弱点,直接出题 即可,不需要加载这个技能。 metadata: origin: 薄弱子主题加权出题机制、错题归因与跨小节规律追踪、置信度纪律 ("宁可少出题不编规则"),改编自 anthropics/claude-for-legal 的 law-student/skills/bar-prep-questions(Apache-2.0);原技能一大半篇幅是 美国司法考试(UBE/NextGen)的法域分歧规则,已整段删除,只保留出题-评分- 归因-加权这条通用主干 --- # Skill: weak-point-drill 泛泛出题效率不高——如果用户在某几个子主题上反复出错,把出题权重往那几个 子主题倾斜,比平均分配到所有主题更有效。这个技能负责:定位薄弱子主题、 按权重出题、讲透每道题对错的原因、追踪跨小节的错误模式是不是真的"卡住了"。 ## 置信度纪律 每道题都在陈述一个规则/事实。一个自信但错误的规则,比不出这道题更糟。 - **有把握:** 规则是学科里公认的基础知识,正常出题。 - **不确定:** 规则有争议、是小众说法、或者不确定自己记得对不对——用 `[不确定:原因]` 标注在题目/解析里,提醒用户对照教材核实。 - **不知道:** 不编题目。直说"这块我没有可靠的把握,建议跳过或者查教材/ 权威来源确认"。不要为了凑数编一道基于错误规则的题。 ## 加载上下文 如果存在 `~/.octo/learning-data/study-plan.yaml`,读取该学科的 `session_history`,看看之前哪些子主题错得多——出题权重往那些子主题倾斜。 没有这个文件也没关系,直接问用户"最近在哪几个知识点上容易出错"。 ## 小节模式:`--session ` 用户说"来10道关于XX的题"或类似需求时用这个模式。 **流程:** 1. 确认学科、题目数N、题型(选择题/简答/论述,或混合)。 2. 生成N道题,按 `session_history` 里之前错过的子主题加权(如果有历史 记录);没有历史记录就先泛出一轮,把这次的结果作为后续加权的起点。 3. 逐题呈现。每题作答后,展示正确答案+为什么对+为什么其他选项错(如果是 选择题)。 4. 小节结束后,输出: ```markdown ## 小节:[学科],[N]题 **得分:** [X]/[N]([百分比]) **错题:** [列表——子主题+错在哪] **薄弱子主题:** [错误集中的2-3个子主题] **掌握较好的子主题:** [表现好的部分] **和之前小节的对比:** [如果 session_history 里有这个学科的历史记录: "XX子主题在最近4次小节里错了3次——这是真卡住了,建议换个方式重新理解 这块内容,光靠刷题可能不够。" 或者:"XX从40%提升到70%,YY这块还不太 稳。"] ``` 5. 把结果追加到 `~/.octo/learning-data/study-plan.yaml` 的 `session_history`(如果文件不存在,写到 `~/.octo/learning-data/session-history.yaml`): ```yaml session_history: - date: 2026-05-08 subject: 有机化学 type: weak-point-drill n_questions: 10 score: 6 weak_subtopics: [亲核取代反应机理, 立体化学命名] ``` ## 出题原则 按学科实际考察的难度出题,不要故意拔高或降低。子主题分布按薄弱程度加权—— 如果某个子主题历史上错得多,这次小节里它应该占更大比例(比如错得最多的 1-2个子主题占60%左右,其余泛化覆盖)。 **答题后的解析格式:** ```markdown **正确答案:C** **为什么是C:** [规则+应用] **为什么不是A:** [这个选项对应什么误区,为什么在这里不对] **为什么不是B:** [同上] **为什么不是D:** [同上] **记忆要点:** [一句话总结] ``` ## 追踪跨小节规律 维护一个粗略的统计:哪些子主题、哪些具体错误类型反复出现。小节结束后如果 看到规律,直接说出来:"最近4次小节里有3次在[子主题]上出错,都是同一类 错误([具体描述])。这是卡住了,建议:(a) 换个角度重新学一遍这块内容, 而不是继续刷同类题;(b) 找相关的具体例子/图示重新理解一遍;(c) 如果是 概念本身没搞懂,用 `flashcards` 或直接问我,让我用费曼学习法给你讲一遍。" ## 边界 - **不替代系统学习。** 这是针对已经学过、但记不牢/理解不透的内容做定向 强化,不是初次学习新概念的方式——初次学概念用费曼学习法讲解或 `outline-builder` 搭框架。 - **不为了凑数编题。** 某个学科只有把握出5道靠谱的题,就给5道。硬凑一堆 `[不确定]` 的猜测题比少几道题更糟。 - **不预测考试内容。** 出题练习针对的是用户自己的薄弱环节,不是猜考试会 考什么——那是 `exam-forecast` 的事,两者可以配合:先用 `exam-forecast` 定重点范围,再用这个技能在重点范围内做加权定向练习。 - **不代替用户判断学习进度。** 给出得分和规律,不代替用户决定"这块学够了 没有"。