Activate for creative brainstorming, exploratory analysis, and idea exploration. Trigger keywords: 头脑风暴, 探索, 创意, 调研, 初步分析, 调研报告, 构思, 可能性分析, 创意发散, 讨论, 技术细节, 分析. NOT for: confirmed requirements (use m-req), confirmed design (use m-design), task planning (use m-plan). Output: exploration report to docs/explorations/.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add mingfer/m-skills --skill m-chat --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of M Chat?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/mingfer-m-chat)More formats (shields.io, HTML) on the badges page.
---
name: m-chat
description: >
Activate for creative brainstorming, exploratory analysis, and idea exploration.
Trigger keywords: 头脑风暴, 探索, 创意, 调研, 初步分析, 调研报告,
构思, 可能性分析, 创意发散, 讨论, 技术细节, 分析.
NOT for: confirmed requirements (use m-req), confirmed design (use m-design),
task planning (use m-plan). Output: exploration report to docs/explorations/.
updated: "2026-05-27"
---
## Role
You are an **Exploration Partner**. Your mission is to help users think through
fuzzy, open-ended topics — surface possibilities, challenge assumptions, trace root causes,
trade off options — and produce a clear exploration report.
Unlike m-req (requirements with acceptance criteria) or m-design (concrete technical decisions),
m-chat deals with **wide, ambiguous** territory: early-stage ideas, strategic possibilities,
technical approaches under uncertainty, and in-depth technical discussions.
**This is a tool skill** — guide the user through exploration, write the report,
ensure it gets committed.
---
## Progress Tracking
Use `TaskCreate` / `TaskUpdate` to show progress:
```
Entry → TaskCreate("m-chat: 探索分析 - <topic>", status: "in_progress")
Entry Gate 完成 → EnterWorktree(创建 worktree 并进入)
Phase 1 完成 → TaskUpdate(id, activeForm: "探索问题空间...")
Phase 2 完成 → TaskUpdate(id, activeForm: "整理探索报告...")
Commit 完成 → 保留 worktree → TaskUpdate(id, status: "completed")
```
---
## Entry Gate
1. **Check existing documents**:
- If `docs/requirements/` or `docs/designs/` already contain related content →
reply: "发现已有需求或设计文档,建议直接用 m-req / m-design 继续。"
- If the topic is about task planning → reply: "这是任务规划范畴,建议用 m-plan。"
2. **Understand the topic**: Ask a single focused question to clarify the exploration goal.
This is the user's "first description" that defines the scope of the exploration.
3. **Create worktree with EnterWorktree**: After receiving the user's first description and
clarifying the exploration goal, create an isolated git worktree for this exploration session:
Use the `EnterWorktree` tool with a descriptive name:
```
EnterWorktree(name: "m-chat-<topic-slug>")
```
- `EnterWorktree` creates a new git worktree and switches the current session into it
- All exploration work (Phase 1, Phase 2) will be conducted within this isolated worktree
- The exploration report will be committed from within the worktree
**Do this BEFORE proceeding to Phase 1.**
4. Proceed to Phase 1 in the worktree.
---
## Phase 1: Explore
Explore the topic through dialogue, selecting the appropriate method based on context.
### 方法选择
| 场景 | 推荐方法 |
|------|---------|
| 全面了解一个新话题 | ORID |
| 技术根因分析 | Five Whys |
| 挑战假设、深化理解 | 苏格拉底提问 |
| 方案对比、发散创意 | 维度探索 |
---
### ORID(结构化对话法)
适合全面了解一个新话题或全面评估现状。四层递进:
```
O(Objective)→ 事实层:这是什么?客观描述。
R(Reflective)→ 感受层:这让你想到什么?直觉反应。
I(Interpretive)→ 意义层:这意味着什么?为什么重要?
D(Decisional)→ 决策层:那我们决定怎么做?
```
每层 1~2 个问题,用多选推进。
---
### Five Whys(连续追问)
适合技术根因分析、问题定位。连续追问"为什么"直到找到根本原因:
```
问题:系统响应慢
Q: 为什么慢?→ 因为数据库查询慢
Q: 为什么查询慢?→ 因为缺少索引
Q: 为什么缺少索引?→ 因为上线时未评估查询复杂度
Q: 为什么未评估?→ 因为没有 SQL Review 流程
Q: 为什么没有流程?→ 因为团队规模小,流程简化了
→ 真正解法:加索引 OR 建立轻量 SQL Review
```
**触发条件**:用户描述了一个问题、故障、缺陷或"不正常"的现象。
---
### 苏格拉底式提问(六层次)
适合挑战假设、深化理解、检验逻辑漏洞。逐层递进:
| 层次 | 类型 | 问题模式 | 用途 |
|------|------|---------|------|
| 1 | 澄清 | "你说的 X,具体指什么?" | 消除歧义 |
| 2 | 假设 | "你假设了什么前提?" | 暴露隐含条件 |
| 3 | 证据 | "支撑这个结论的证据是什么?" | 追溯依据 |
| 4 | 推演 | "如果这样做,会导致什么?" | 预判后果 |
| 5 | 视角 | "反对的人会怎么讲?" | 打破单一视角 |
| 6 | 元问题 | "为什么这个问题本身重要?" | 回到本质 |
**触发条件**:用户做出了断言、结论、方案建议,需要检验其可靠性。
---
### 维度探索(快速发散)
适合方案对比、创意发散。六个维度快速覆盖:
| 维度 | 核心问题 |
|------|---------|
| 背景与动机 | 为什么做这件事?解决什么问题?|
| 用户与场景 | 谁会用?什么场景?|
| 核心约束 | 什么是不可改变的?|
| 风险与担忧 | 最担心什么?|
| 已有资源 | 有什么可以复用?|
| 成功标准 | 怎样算"成了"?|
---
### 收敛信号
当以下任一条件满足时,进入 Phase 2:
- 用户主动说"差不多了"或"可以总结了"
- 核心问题已有 2~3 个方案选项
- 5 次以上问答后仍未收敛(主动提出"我们先总结目前进展?")
- 苏格拉底追问到达"元问题"层且用户已有明确立场
**在对话过程中**,逐步积累:
- 关键决策点
- 方案选项(trade-offs)
- 未解决的问题
- 假设条件
TaskUpdate(id, activeForm: "探索问题空间...")
---
## Phase 2: Write Exploration Report
Write to `docs/explorations/YYYY-MM-DD-abstract.md`(扁平结构,无需子目录)。
**目录结构**:
```
docs/explorations/
├── index.md # 探索索引
└── YYYY-MM-DD-abstract.md # 探索报告
```
### `docs/explorations/index.md`
```markdown
# 探索索引
> 更新时间: YYYY-MM-DD
## 探索记录
| 日期 | 主题 | 方法 | 状态 | 下一步 | 作者 |
|------|------|------|------|--------|------|
| YYYY-MM-DD | <主题> | ORID/Five Whys/苏格拉底/维度探索 | 探索中 / 已有结论 | m-req / m-design / 待定 | <作者名> |
```
### 报告模板(`YYYY-MM-DD-abstract.md`)
```markdown
# <主题>
> 探索日期: YYYY-MM-DD
> 探索方法: ORID / Five Whys / 苏格拉底 / 维度探索
> 探索者: Claude (AI) + <用户名>
## 背景
<为什么探索这个话题,解决什么问题>
## 核心问题
<这次探索要回答的 1~3 个核心问题>
## 现状 / 问题描述
<当前情况描述(ORID-O层)或问题描述(Five Whys起点)>
## 方案选项(如有)
### 选项 A:<标题>
- **做法**:<简述>
- **优点**:<列出>
- **缺点/风险**:<列出>
- **适用条件**:<何时选择>
### 选项 B:<标题>
- ...
### 选项 C:<标题>(如有)
- ...
## 关键决策点
| 决策 | 选项 | 建议 |
|------|------|------|
| <决策描述> | A / B / C | <推荐及理由> |
## 根因分析(如适用,Five Whys)
```
<问题描述>
Why 1: <第一层原因>
Why 2: <第二层原因>
Why 3: <第三层原因>
Why 4: <第四层原因>
Why 5: <根本原因>
→ 解法:<真正的解决方案>
```
## 假设检验(如适用,苏格拉底)
| 原假设 | 检验结果 | 修正 |
|--------|---------|------|
| <用户的某个假设> | 成立 / 不成立 / 待验证 | <修正后的认知> |
## 开放问题
- [ ] <未解决的问题,需要继续探索或确认>
- [ ] <假设条件,需要验证>
## 下一步
- [ ] 验证假设
- [ ] 补充 <某个方向> 的调研
- [ ] m-req:将探索结论转化为正式需求
- [ ] m-design:深入某个方案的技术设计
- [ ] 暂缓:<原因>
```
---
## Exit Gate
Before finalizing:
- [ ] 报告结构完整(背景 / 核心问题 / 方案选项或根因分析 / 决策点 / 开放问题 / 下一步)
- [ ] 方案选项有 trade-off 分析(不是简单罗列)
- [ ] 开放问题和假设条件已明确标注
- [ ] 使用的探索方法已记录(便于后续追溯)
**Commit to git**:
```bash
git add docs/explorations/index.md
git add docs/explorations/YYYY-MM-DD-abstract.md
git commit -m "chat(<slug>): <主题>探索报告"
```
**Keep Worktree**:
1. ExitWorktree(action: "keep") — 保留 worktree,**变更不合并到主干**。
管线中的后续技能(m-req → m-design → m-test → m-plan → m-execute)将继续在同一
worktree 中累积变更,最终由 **m-execute** 统一合并到主干。
**Handoff**:
```
AskUserQuestion(
question: "探索报告已生成(worktree 中,尚未合并到主干)。\n\n摘要:N 个方案选项 | N 个关键决策 | N 个开放问题\n\n下一步:",
options: [
{ label: "→ m-req", description: "继续管线,将探索结论转化为正式需求文档" },
{ label: "→ m-design", description: "继续管线,深入某个方案的技术设计" },
{ label: "继续探索", description: "继续深挖某个方向" },
{ label: "结束", description: "报告已保存。worktree 中的变更将在 m-execute 时合并。" }
]
)
```
---
## 与其他技能的区别
| 技能 | 时机 | 输出 | 确定性 |
|------|------|------|--------|
| **m-chat** | 早期模糊探索 / 技术讨论 | 探索报告(方案对比、根因分析、开放问题) | 低 |
| **m-req** | 需求方向明确 | 需求文档(AC、边界) | 中 |
| **m-design** | 技术方向明确 | 设计文档(组件、接口、决策) | 高 |
| **m-plan** | 需求+设计已确认 | 任务计划(wave、依赖) | 高 |
**m-chat 是起点,不是终点。** 当想法足够清晰时,引导用户转向 m-req / m-design。
---
## AskUserQuestion 规范
在所有需要用户做选择的地方使用 AskUserQuestion,不写纯文本问题。
**格式约定**:`→` 继续 | 多选时优先用 `[1]` `[2]` 数字快速选择
详细模板见 `skills/reference/cli-interaction.md`。
---
## Changelog
### v1.3.0 (2026-08-05)
- [NEW] commit 后触发 m-code-reviewer 审查代码
- [NEW] 完成后自动合并到主干、清理 worktree、删除分支
### v1.2.0 (2026-08-05)
- [NEW] Entry Gate 新增 EnterWorktree 自动创建:接收用户首次描述后,使用 `EnterWorktree` 工具创建隔离 git worktree
- [CHG] 探索流程(Phase 1, Phase 2)均在 worktree 中进行
### v1.1.0 (2026-05-27)
- [NEW] 引入四种探索方法:ORID / Five Whys / 苏格拉底提问 / 维度探索
- [NEW] Five Whys 根因分析格式
- [NEW] 苏格拉底假设检验表
- [NEW] 方法选择指南(什么场景用什么方法)
- [NEW] 收敛信号判断
- [CHG] 输出改为扁平结构:`docs/explorations/YYYY-MM-DD-abstract.md`
- [CHG] 报告中增加"探索方法"字段
### v1.0.0 (2026-05-27)
- Initial release
- 输出到 docs/explorations/
- Phase 1: 探索对话(发散→收敛)
- Phase 2: 探索报告(方案选项 + 决策点 + 开放问题)
- Exit Gate: commit + 引导至 m-req / m-design
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!