# M Chat

> >

- **Type:** Skill
- **Install:** `agentstack add skill-mingfer-m-skills-m-chat`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [mingfer](https://agentstack.voostack.com/s/mingfer)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [mingfer](https://github.com/mingfer)
- **Source:** https://github.com/mingfer/m-skills/tree/main/m-chat

## Install

```sh
agentstack add skill-mingfer-m-skills-m-chat
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

## 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: 探索分析 - ", 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-")
   ```

   - `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) + 

## 背景

## 核心问题

## 现状 / 问题描述

## 方案选项（如有）

### 选项 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(): 探索报告"
```

**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

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [mingfer](https://github.com/mingfer)
- **Source:** [mingfer/m-skills](https://github.com/mingfer/m-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-mingfer-m-skills-m-chat
- Seller: https://agentstack.voostack.com/s/mingfer
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
