Back to skills
SKILL.md
M Chat
ASecurityActivate 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/.
- 2 stars
- 0 votes
- 0 copies
- 5 views
- Added September 6, 2026
Works with
Security analysis
100/100npx -y skills add mingfer/m-skills --skill m-chat --agent claude-codeAre you the author of M Chat?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/mingfer-m-chat)---
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
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.