Use when the user wants a mock interview / timed simulated exam over a topic, not a guided study session. 触发:「模拟面试」「mock」「面我一次」「来场模拟」「模拟考」「mock interview」「考一套」。
Scanned 8/31/2026
Install to Claude Code
npx -y skills add guoqiaoZhou/study-with-claude-code --skill mock --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mock?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/guoqiaozhou-mock)More formats (shields.io, HTML) on the badges page.
---
name: swcc-mock
description: Use when the user wants a mock interview / timed simulated exam over a topic, not a guided study session. 触发:「模拟面试」「mock」「面我一次」「来场模拟」「模拟考」「mock interview」「考一套」。
argument-hint: "[topic] [level]"
user-invocable: true
---
# swcc · mock — 大厂业务研发岗模拟面试
跨节点连续出题 + 综合评分报告。一气呵成地考一整套,最后给分数、亮点、改进建议。**默认定位是大厂业务研发岗面试**:题目以场景/实践/选型为主,概念题为辅,避免纯源码细节和书本背诵。
> 开始前先读:
> - `${CLAUDE_PLUGIN_ROOT}/skills/_shared/data-contract.md`(落盘格式、大文件分块写、stats/weakPoints)
> - `${CLAUDE_PLUGIN_ROOT}/skills/_shared/mock-rubric.md`(题型配比、评分、回写、业务研发视角规则)
> 本技能会**写**:新增一份 mock-sessions 报告,并回写 progress.json 的 weakPoints 与 stats。
参数:`$ARGUMENTS` —— 可选 topic(默认 activeTopic)、可选 level(默认该专题 frontmatter 的 level)。
---
## 核心原则
1. **先连续作答,再统一评分。** 像真面试:一题接一题问完,中途只简短承接、不长篇点评;全部答完后一次性出报告。
2. **评分由独立子智能体做。** 不靠主对话主观印象;按 mock-rubric 客观打分。
3. **抽样,不重定节点掌握度。** 一场面试覆盖有限,只回写 weakPoints + 计一次 stats,**不直接改各节点 mastery**。
4. **题型随专题 kind。** 算法/实操题**仅 `kind: coding` 且 level ≥ p7** 出;`conceptual` 专题不出算法题。
5. **建议用时,不真倒计时。** 每题标「建议 X 分钟」即可。
6. **业务研发视角。** 优先考"业务代码里怎么用、怎么踩坑、怎么做取舍";avoid 纯源码细节、纯事实记忆。
---
## subagent 纪律
本技能 stage 3 的评分由独立子智能体完成,主对话与该子智能体都必须遵守以下纪律,避免临时联网导致评分失真或输出格式错误。
1. **工具权限**
- 评估子智能体**严禁使用 WebSearch / WebFetch**;它只能读取本场完整 Q&A 文本与 `mock-rubric.md`。
- 主对话在执行 `mock` 期间**默认也不调用 WebSearch / WebFetch**;专题材料、题目、评分全部来自本地 knowledge-tree / knowledge-system / progress / references。
2. **输入来源**
- 子智能体输入仅限:本场模拟面试的完整题目 + 用户作答、`mock-rubric.md`。
- 禁止为某道题临时上网查答案、查文档或查文章。
3. **输出契约**
- 子智能体**只评估、不写文件**,严格按 `mock-rubric.md` 第五节返回 JSON:
- `totalScore`:总分
- `questionCount`:总题数
- `typeDistribution`:题型分布(concept / scenario / algo)
- `byType`:各题型实际得分
- `items`:逐题得分与点评
- `weakConcepts`:薄弱概念列表
- `advice`:改进建议
- 不得返回 Markdown 报告、不得自行写 `mock-sessions/` 或 `progress.json`。
4. **结果校验**
- 主对话收到子智能体输出后,先检查是否包含 `http(s)://` 链接、未提供的外部网页/文章引用、或 "according to web / article / online / 网上 / 网页" 等表述。
- 若出现上述痕迹,视为违规联网,**丢弃该输出并按评估失败处理**。
5. **失败回退**
- 若 Agent 调用失败,或输出格式不符,或校验发现联网痕迹 → **暂停报告生成**。
- 不向 `mock-sessions/` 写报告,不回写 `progress.json`。
- 向用户说明「评估暂不可用,本次未写入,请稍后重试 `/swcc-mock`」,然后停止。
---
## 流程
### 1. 加载 & 选题篮
- topic 缺省 → activeTopic(缺失按数据契约第九节兜底)。读 `knowledge-tree.md`(取 `level`、`kind`,以及每 `##` 子主题的「核心问题」「本章考察点」)、`knowledge-system.md`、`progress.json`、`references.json`。
- 读全局 `learner-profile.md`(若存在),据其中风格偏好**调整出题/点评风格**——只调风格,不放松题型配比与独立评分纪律。见 data-contract 第十四节。
- 按 mock-rubric 组卷:
- **偏向 weakPoints 与低 mastery 节点**(查漏) + **主干高频点**(覆盖)。
- 题型配比:场景/实践/选型题 ≥ 70% 总题数(`kind: conceptual` 可降至 ≥ 50%),且 ≥ 概念题数量。
- 算法/实操题仅 `kind: coding` 且 level ≥ p7 时保留,否则省略。
- 每题按业务研发视角重构:场景、线上排查、技术选型、系统设计取舍、项目经验追问。
- 判断规则:worth assessing if (1) 业务代码因不理解可能写出性能/稳定性/可维护性问题;(2) 理解它可帮助日常编码做更好取舍/设计。avoid 纯源码细节、纯事实记忆。
宣布:
```
🎤 模拟面试:<topic>(level <level>,kind <kind>)
题型:业务研发岗面试,以场景/实践/选型题为主
预计 <N> 题,建议总时长 ~<n> 分钟
开始后我会一题题问,全部答完再统一给报告。
```
### 2. 连续作答
- **一题一题问**,每题标注题型 + 建议用时。用户答完只做**简短承接**(「收到,下一题」),不展开点评——把点评留到报告。
- 用户中途要求看进度/跳过 → 允许跳过(记 0 分),不强制。
### 3. 派评估子智能体评分
全部答完后,用 **Agent 工具**把整场题目与作答 + mock-rubric 交给评估子智能体。向其明确重申 subagent 纪律:
- **禁用 WebSearch / WebFetch**;只能基于本场 Q&A 文本与 `mock-rubric.md` 评分,禁止临时联网查答案。
- **只评估、不写文件**;严格按 `mock-rubric.md` 第五节返回 JSON(`totalScore`、`questionCount`、`typeDistribution`、`byType`、`items`、`weakConcepts`、`advice`)。
- 输出中不得出现 `http(s)://` 链接、未提供的外部网页/文章引用、"according to web / article / online / 网上 / 网页" 等表述。
主对话收到结果后执行校验:
- 检查 JSON 是否包含必需的七个字段。
- 检查内容是否出现联网痕迹(URL、外部文章引用、"网上/网页" 等)。
- 若 Agent 调用失败、返回格式错误、或发现联网痕迹,**暂停报告生成**:不写 `mock-sessions/`、不回写 `progress.json`,告知用户「评估暂不可用,本次未写入,请稍后重试 `/swcc-mock`」,然后停止。
### 4. 写 mock 报告(分块)
按数据契约第十二节,在 `mock-sessions/<时间戳>.md`(时间戳 `date +%Y-%m-%d-%H-%M-%S`)分块写:先骨架,再按实际题型 Edit 追加。结构参考 mock-rubric 第六节,按本场实际出现的题型动态列出,并注明题数与题型分布。
### 5. 回写 progress.json
- **weakConcepts → weakPoints**:逐条追加(node/concept/mastery/createdAt=今天/nextReview 按艾宾浩斯 reviewCount=1/reviewCount=0/consecutivePass=0;已存在同概念则更新 mastery、不重复加)。
- `stats`:`totalReviewCount += 1`、`totalReviewTime` 加本场估时、全局 `streak`、`lastReviewDate`=今天。
- **不改各节点 mastery / status**。
### 6. 输出摘要
```
🎤 模拟面试报告 总分 <totalScore>/100
本场 <N> 题(概念 <x> / 场景/实践/选型 <y> / 算法/实操 <z>)
🔴 新增/加重薄弱点:<列表>
💡 改进建议:<前 2 条>
📁 报告:~/.study-with-cc/topics/<slug>/mock-sessions/<时间戳>.md
```
---
## 质量基准
- 题型配比符合 mock-rubric(场景/实践/选型为主,概念题为辅,算法题受 kind/level 限制)。
- 题目体现业务研发岗面试视角,避免纯源码细节和书本背诵。
- 评分来自独立子智能体;报告分块写、未超时。
- 只回写了 weakPoints + stats,未改各节点 mastery。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!