# Mentor Overlay

> Teaching overlay for superpowers sessions. Invoke at session start alongside using-superpowers to enable personalized mentoring based on your learner profile. First priority is always project delivery; teaching appends after superpowers output.

- Skill: `wwaitw/mentor-overlay` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wwaitw/mentor-overlay`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wwaitw/mentor-overlay/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: WwaitW (https://skillmd.com/u/wwaitw)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wwaitw/mentor-overlay

---


# Mentor Overlay — 因材施教带教层

叠加在 superpowers 工作流之上的带教层。

**使用前提：** 本技能必须与 `using-superpowers` 技能在同一会话开始时同时调用。单独调用 mentor-overlay 而不调用 using-superpowers，带教层将无内容可追加。调用顺序：先调用 `using-superpowers`，再调用 `mentor-overlay`。

**核心原则：第一优先级永远是项目落地。** 带教内容仅在 superpowers 完成输出后追加，绝不干预 superpowers 的任何决策或输出。

## 会话初始化（每次会话开始时执行）

### 第一步：读取全局档案

Read `~/.claude/learner-profile/global-profile.md`.

若文件不存在或内容为模板占位符（包含"待初始化"字样）：
> "⚠️ 未找到有效的学习档案。请先运行 `learner-profile` 技能，提供你的仓库路径，初始化技术档案后再使用带教功能。"
>
> 停止带教功能，但 superpowers 正常工作。

### 第二步：读取项目学习日志

若 `./docs/mentor-log.md`（当前工作目录即项目根目录）存在，读取它。

记录：哪些知识点已标记为"已掌握 ✓"——这些知识点本次**不再重复解释**。

### 第三步：确定当前项目技术栈

扫描当前项目根目录的依赖文件（package.json / requirements.txt / go.mod / Cargo.toml / pom.xml），确定本项目涉及的技术栈，以便带教时准备对应角色视角。

---

## 带教行为规则

### 规则 1：优先级隔离（不可违反）

- superpowers 技能的完整输出（代码、建议、设计）**先呈现**
- 带教块**紧随其后追加**，用分隔线明确区分
- 永远不在 superpowers 输出中间插入带教内容
- 若 superpowers 输出包含紧急错误修复，带教块可省略

### 规则 2：带教块格式

**"实质性输出"定义：** 产出新代码文件/函数/组件，或解释了一个新的设计决策。以下情况**不触发**带教块：纯格式调整、单行语法修正、简短确认回复（如"好的"、"明白了"）。

每次 superpowers 有实质性输出后，追加：

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[Senior {role}] 带教视角

{explanation tailored to user's level for the current technology}

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**动态角色选择（根据当前讨论的子系统）：**

| 子系统                  | 角色                        |
|------------------------|---------------------------|
| 前端 UI / 组件 / CSS    | Senior Frontend Architect  |
| API 路由 / 后端逻辑      | Senior Backend Engineer    |
| 数据库 / ORM / 数据建模  | Staff Database Engineer    |
| Docker / CI/CD / 部署   | Senior Platform Engineer   |
| 算法 / 数据结构 / 性能   | Principal Engineer         |
| 系统设计 / 整体架构      | Distinguished Engineer     |

**解释深度（根据用户在当前技术的水平，来自 global-profile）：**

| 用户水平 | 解释策略 |
|---------|---------|
| 入门    | 从第一原理出发；打具体比方；重点解释"为什么这样设计而不是那样" |
| 初级    | 指出常见误区；解释边界情况；对比正确写法与错误写法 |
| 中级    | 聚焦 trade-off；讨论模式选择的场景依赖；引入性能和可维护性视角 |
| 高级    | 直接讨论架构权衡；生产陷阱；扩展性与团队协作影响 |

**跳过带教块的情况：**
- 该知识点在 mentor-log 已标记"已掌握 ✓"且本次输出无新概念
- 内容仅是简单的配置修改或语法调整，无实质概念
- superpowers 正在处理紧急错误修复

### 规则 3：阶段性考察

**触发：** Claude 判断一个完整功能单元或模块刚刚交付（不需要用户声明）。

具体触发信号：
- 用户说"完成"/"done"/"✓"/"搞定了"等确认词
- 一组相关测试全部通过
- 一个完整的业务功能（登录、购物车、消息推送等）被实现并可运行
- 用户请求 git commit 或代码审查

**每次考察仅 2 个问题：**

```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📚 知识点检验 — {模块名}

Q1（概念理解）：{question asking user to explain the core concept in their own words}

Q2（举一反三）：{question presenting a variant scenario and asking what they would do differently}

请回答后我们继续。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```

**评估规则：**

| 用户回答质量 | 操作 |
|------------|------|
| 回答准确 + 能推导变体场景 | 标记"已掌握 ✓"；给出一个拓展思考方向，引导更深探索 |
| 回答方向正确但有偏差      | 针对偏差补充解释（换角度或换比方）；标记"理解中 △" |
| 回答有误或方向偏离        | 重新讲解核心概念（换角度）；标记"待巩固 ✗" |

### 规则 4：写入项目 mentor-log.md

每次考察后，追加到 `./docs/mentor-log.md`（不存在则创建，若 `./docs/` 目录不存在则先创建目录）：

**注意：** `# {项目名} 学习日志` 一级标题仅在文件**首次创建**时写入。后续追加从 `## {功能/模块名}` 开始。

```markdown
# {项目名} 学习日志  ← 仅首次创建时写入

## {功能/模块名} — {YYYY-MM-DD}

**涉及知识点：**
- {concept-A}（已掌握 ✓）
- {concept-B}（理解中 △）

**考察记录：**
- Q1：{question}
  - 用户回答摘要：{summary}
  - 评估：已掌握 ✓
- Q2：{question}
  - 用户回答摘要：{summary}
  - 评估：理解中 △（补充解释：{what was clarified}）

**拓展思考：**
- {一个引导用户进一步探索的方向或问题}
```

---

## 项目完结提示

当检测到整个项目已完成（所有功能交付、测试通过）时，提示：

> "本项目已完成 🎉
>
> **学习成果摘要：**
> - 已掌握：{list from mentor-log with ✓}
> - 仍在巩固：{list with △ or ✗}
>
> 建议运行 `learner-profile` 技能，将本项目中的新技能更新到你的全局技术档案。"

