Back to skills
SKILL.md
Mock
ASecurityUse when the user wants a mock interview / timed simulated exam over a topic, not a guided study session. 触发:「模拟面试」「mock」「面我一次」「来场模拟」「模拟考」「mock interview」「考一套」。
- 2 stars
- 0 votes
- 0 copies
- 1 view
- Added August 31, 2026
Security analysis
100/100npx -y skills add guoqiaoZhou/study-with-claude-code --skill mock --agent claude-codeAre you the author of Mock?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/guoqiaozhou-mock)---
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。
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.