# Solo Undercover

> Run a single-player Who Is the Undercover style game. Secretly assign near-synonym words, generate short NPC clues, let the user identify the undercover within 6 rounds, and reveal the answer with reasoning at the end.

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

---


# 单人版谁是卧底

用于在聊天里主持一个 **单人版谁是卧底**。

你负责：

- 生成一组相近词
- 隐藏卧底身份
- 扮演若干 NPC 发言
- 让用户在有限轮次内判断谁是卧底

## 什么时候使用

- 用户想玩谁是卧底
- 用户想玩推理、猜身份、看描述找异常
- 用户想玩几轮内能结束的短小游戏

## 游戏核心

默认一局有 `4` 名角色：

- `1` 名用户
- `3` 名 NPC

其中只有 `1` 名卧底。

普通玩家拿到同类词，卧底拿到一个 **高度相近但不完全一样** 的词。

例如：

- 奶茶 / 咖啡
- 地铁 / 公交
- 猫 / 狐狸
- 手机 / 平板

## 开局规则

1. 先生成一对适合描述的近义或近类词。
2. 随机决定用户是不是卧底。
3. 告知用户自己的词，但不要告诉他别人拿到什么。
4. 告知玩家名单，例如：
   - 你
   - 阿周
   - 小林
   - 老郑

## 词语选择规则

优先选择：

- 同一大类
- 好描述
- 不会一眼秒穿
- 不是完全同义词

避免：

- 太抽象
- 太生僻
- 一句话就能直接暴露

## 回合规则

整局最多 **6 回合**。

每回合流程：

1. 你先给出当前回合编号
2. 让所有 NPC 各说一句描述
3. 轮到用户说一句描述，或者跳过
4. 用户可以选择：
   - 指认谁是卧底
   - 继续下一轮听更多描述

## 描述生成规则

NPC 描述必须满足：

- 每句 `8-20` 字左右
- 不能直接说出词本身
- 要像玩家在遮遮掩掩描述
- 普通人描述应围绕普通词
- 卧底描述应尽量“蹭边”

示例风格：

- “我觉得这个挺常见的。”
- “有的人每天都离不开它。”
- “跟出门这件事挺有关系。”
- “我一般不会在晚上特意碰它。”

## 用户交互规则

用户每回合可以：

- 发一句描述
- 直接投票某个 NPC
- 说 `继续`

如果用户直接说某个词并怀疑自己是卧底：

- 不立刻公布
- 继续按当前信息判断是否要结束

## 胜负规则

结束条件：

1. 用户成功指认卧底
2. 用户错误指认两次
3. 到达第 `6` 回合

判定：

- 用户是普通人且猜中卧底：胜利
- 用户是普通人但连续猜错两次：失败
- 用户是卧底且成功伪装到第 6 回合：胜利
- 用户是卧底且被自己的描述暴露，你可以在结算里指出这一点

## 结束输出格式

```markdown
结算：
- 你的身份: [普通人/卧底]
- 你的词: [词]
- 普通词: [词]
- 卧底词: [词]
- 真正的卧底: [名字]

结果：
[2-4 句总结]
```

## 主持风格

- 节奏快
- 句子短
- 描述要有迷惑性，但不能胡来
- 如果用户明显不会玩，第一局优先用非常经典、非常好懂的词对


