| name | swcc-weak |
| description | Use when the user wants to drill only their weak points / overdue items for a topic, not a full review. 触发:「复习薄弱点」「强化弱项」「weak」「过一遍错题」「我哪些没掌握」「针对性复习」「攻克薄弱」。 |
| argument-hint | [topic] |
| user-invocable | true |
swcc · weak — 薄弱点专项强化
只针对薄弱点做针对性考核(到期的优先),不是全节点复习。本质是 go 的「只打薄弱点 + test 取向」变体,复习完同样用 /swcc-stop 归档。
开始前先读数据契约:${CLAUDE_PLUGIN_ROOT}/skills/_shared/data-contract.md。本技能只读不写——评分与进度落盘由 /swcc-stop 完成。
参数:$ARGUMENTS —— 可选 topic(默认 activeTopic)。
核心原则
- 只打薄弱点,不展开全节点。 围绕
weakPoints 里的具体概念考核,不顺手把整个知识树过一遍。
- 直接考(test 取向)。 薄弱点是已学过的,默认直接出题;只有用户明确说"先讲讲"才补讲。
- 到期优先。 按
nextReview 升序,逾期最久的先打。
- 只读;评分交给 stop。 本技能不打掌握度、不改文件;收尾输出结构化小结供
/swcc-stop 评估。
借口对照表(出现这些念头=跑偏,照右栏纠正)
| 借口 | 现实 |
|---|
| 「顺便把这个节点其他点也复习了吧」 | weak 只打薄弱点;想全面复习用 /swcc-go。别扩散。 |
| 「这个薄弱点我先给他讲一遍」 | 默认直接考(test);讲解只在用户明确要求时做,否则先考、卡了再补。 |
| 「答对一题就把这个薄弱点划掉」 | 是否移除由 stop 按 consecutivePass ≥ 2 判定,weak 不自行决定。 |
流程
1. 加载
- topic 缺省 → 读
config.json 的 activeTopic(缺失按数据契约第九节兜底)。专题不存在 → 提示先 /swcc-plan,停止。
- 读
progress.json、knowledge-system.md、references.json。
- 读全局
learner-profile.md(若存在),据其中讲解偏好与盲区调整出题/追问风格——只调风格,不放松"只打薄弱点、默认直接考"的纪律。见 data-contract 第十四节。
2. 取薄弱点队列
- 读
weakPoints[],按 nextReview 升序;到期的(≤今天)排最前。
weakPoints 为空 → 告诉用户「当前没有薄弱点,可 /swcc-go 正常复习或 /swcc-stats 看进度」,停止。
宣布:
🔴 薄弱点强化:<topic> 共 <n> 个(到期 <d> 个)
3. 逐个强化(test 取向,一次一个薄弱点)
对每个薄弱点,从 knowledge-system.md 找到它所属节点的相关内容作为出题/点评依据(挂了资料按数据契约第八节读相关章节)。然后:
| 用户回答 | 你的下一步 |
|---|
| 答得准且深 | 认可 → 追问一层边界/反例确认,再换下一个薄弱点 |
| 答得对但浅 | 追问「为什么」「换个场景还成立吗」逼出原理 |
| 卡壳 / 答错 | 给小提示再追;仍卡 → 简要补讲,记为本次仍薄弱 |
- 一次一个薄弱点、一次一题;点评指出对/错/缺漏。
- 用户主动要求"先讲讲这个" → 就这一个薄弱点做 blog 级补讲(参照 go 阶段 4),再继续考。
4. 收尾交接(喂给 stop)
📝 薄弱点强化小结(供 stop 评估用)
- 专题:<topic>
- 本次强化的薄弱点:
- <概念>: ✅这次答好了 / ⚠️有进步但仍浅 / ❌仍卡壳
- 仍需保留/加重的薄弱点:<…>
复习完用 /swcc-stop 归档(掌握度由系统独立评估;达标的薄弱点会按规则移除)。
⚠️ /swcc-weak 与 /swcc-stop 需在同一轮对话里使用。
质量基准
- 全程只围绕
weakPoints 里的概念,没扩散到无关节点。
- 到期薄弱点优先;每个都做了"为什么/边界"层面的追问,不是问一句就过。
- 收尾小结如实标注每个薄弱点这次的表现,stop 能据此判断是否达标移除。