weak-point-drill · git:20260901.401e1ec · 2026-09-01 · sha256 2019b36113dbfbe6
weak-point-drill git:20260901.401e1ecB
Immutable. This exact content is served forever at /api/v1/blob/2019b36113dbfbe6.
---
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 <n>`
用户说"来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`
定重点范围,再用这个技能在重点范围内做加权定向练习。
- **不代替用户判断学习进度。** 给出得分和规律,不代替用户决定"这块学够了
没有"。