---
name: workflows
description: |
  触发：当你面临的任务明显需要多个思想武器协作时调用；常见信号包括：从零启动新项目、攻坚复杂疑难问题、对已有方案进行迭代优化。此 skill 提供标准化的跨 skill 工作流组合，解决"应该先用哪个 skill、怎么衔接"的问题。
  English: Trigger when a task clearly requires multiple skills in sequence. Use this skill to select a standard workflow that chains skills together, defines data handoff between steps, and specifies termination conditions.
---

# 工作流组合

> "政策和策略是党的生命，各级领导同志务必充分注意，万万不可粗心大意。"
> —— 毛泽东

方法论的威力不在于单独使用某一件思想武器，而在于**在正确的时机以正确的顺序组合使用**。本 skill 提供三条标准化工作流，定义 skill 的调用顺序、步骤间的数据传递格式和终止条件。

---

## Workflow 1：新项目启动

**适用场景：** 从零开始面对一个新任务/项目/领域，目标已知但路径未知，资源有限。

**触发信号：** 新项目、新领域、MVP、从零开始、不知道从哪里下手

### 工作流

```
investigation-first → contradiction-analysis → spark-prairie-fire → protracted-strategy
     调查研究        →     矛盾分析          →     星火燎原        →     持久战略
```

### 步骤详解

**Step 1：investigation-first（调查研究）**
- 目标：摸清现状，占有第一手材料
- 输出格式（传递给 Step 2）：
  ```
  调查结论：
  - 现状是：……
  - 关键约束是：……
  - 主要的未知项是：……
  - 已知的可依托基础是：……
  ```
- 终止条件：能够回答"现在是什么情况"这个问题

**Step 2：contradiction-analysis（矛盾分析）**
- 输入：Step 1 的调查结论
- 目标：从调查材料中识别主要矛盾，找到最值得突破的切入点
- 输出格式（传递给 Step 3）：
  ```
  主要矛盾：[A] vs [B]
  矛盾性质：[对抗性/非对抗性]
  最值得突破的切入点：……
  原因：解决了它，[X]、[Y] 问题随之缓解
  ```
- 终止条件：找到一个明确的主要矛盾和切入点

**Step 3：spark-prairie-fire（星火燎原）**
- 输入：Step 2 识别的切入点
- 目标：以切入点为根据地，制定从小到大的发展路线
- 输出格式（传递给 Step 4）：
  ```
  根据地：[具体切入点]
  发展路线：
    第1步：[具体行动] → 成功标志：……
    第2步：[具体行动] → 成功标志：……
    第3步：[具体行动] → 成功标志：……
  ```
- 终止条件：有一条清晰的、从当前能力出发的发展路线

**Step 4：protracted-strategy（持久战略）**
- 输入：Step 3 的发展路线
- 目标：将发展路线纳入阶段性战略框架，确定当前处于哪个阶段，设置阶段转换条件
- 输出格式：
  ```
  当前阶段：战略防御期
  本阶段核心任务：[Step 3 第1步]
  转入相持期的条件：当 [具体里程碑] 达成时
  ```
- 终止条件：有明确的阶段定位和转换条件

---

## Workflow 2：复杂问题攻坚

**适用场景：** 面对一个已知存在但难以解决的具体问题，问题边界清楚但原因不明或路径不清。

**触发信号：** 疑难 bug、架构瓶颈、反复失败的尝试、根因不明的问题

### 工作流

```
investigation-first → contradiction-analysis → concentrate-forces → practice-cognition → criticism-self-criticism
     调查研究        →     矛盾分析          →     集中兵力        →    实践认识论      →     批评与自我批评
```

### 步骤详解

**Step 1：investigation-first（调查研究）**
- 目标：弄清问题的真实面目（而非症状）
- 输出（传递给 Step 2）：
  ```
  调查结论：
  - 问题的现象是：……
  - 问题出现的条件是：……
  - 已经排除的原因是：……
  - 还未调查的方向是：……
  ```
- 终止条件：能够精确描述问题（而非"好像是 X 出了问题"）

**Step 2：contradiction-analysis（矛盾分析）**
- 输入：Step 1 的调查结论
- 目标：找到问题中的主要矛盾（根本冲突点）
- 输出（传递给 Step 3）：
  ```
  主要矛盾：[根本冲突点]
  我的假说：这个冲突导致了……，因为……
  验证方式：如果假说正确，应该能观察到……
  ```
- 终止条件：有一个可以验证的假说

**Step 3：concentrate-forces（集中兵力）**
- 输入：Step 2 的假说和验证方式
- 目标：围绕验证这个假说，集中全部力量，拒绝分心
- 输出（传递给 Step 4）：
  ```
  🎯 主攻目标：验证假说"[假说内容]"
  验证方法：[具体的验证步骤]
  完成信号：[假说被证实或证伪]
  暂缓的其他方向：……
  ```
- 终止条件：假说被验证（证实或证伪均可）

**Step 4：practice-cognition（实践认识论）**
- 输入：Step 3 的验证结果
- 目标：根据验证结果，更新认识，进入下一轮（如果假说被证伪则回到 Step 2）
- 循环终止条件：问题被彻底解决（可以明确描述原因和解决方案）

**Step 5：criticism-self-criticism（批评与自我批评）**
- 输入：整个攻坚过程
- 目标：审视攻坚过程中的方法论失误，防止下次犯同类错误
- 必须输出：结构化工作审视报告

---

## Workflow 3：方案迭代优化

**适用场景：** 已有一个基础方案，需要通过收集反馈、分析问题、迭代改进来提升质量。

**触发信号：** 迭代优化、用户反馈、代码审查后改进、方案效果不理想

### 工作流

```
mass-line → contradiction-analysis → practice-cognition → criticism-self-criticism → mass-line（循环）
 群众路线 →     矛盾分析          →    实践认识论      →     批评与自我批评      →  群众路线（下一轮）
```

### 步骤详解

**Step 1：mass-line（群众路线）**
- 目标：从多个信息源收集对现有方案的反馈
- 信息源清单（根据具体情况选择）：
  - 用户的明确反馈
  - 测试结果/运行结果
  - 代码审查意见
  - 性能数据/指标
  - 代码库中相关模式的启示
- 输出（传递给 Step 2）：
  ```
  收集到的多源反馈：
  - [信息源1]：……
  - [信息源2]：……
  各源之间的矛盾之处：……
  共同指向的问题：……
  ```
- 终止条件：有来自至少 2 个信息源的反馈

**Step 2：contradiction-analysis（矛盾分析）**
- 输入：Step 1 的多源反馈
- 目标：从反馈中识别出需要优先解决的主要矛盾
- 输出（传递给 Step 3）：
  ```
  本轮迭代的主要矛盾：[当前方案的核心问题]
  改进假说：如果……，则……
  验证方式：……
  ```

**Step 3：practice-cognition（实践认识论）**
- 输入：Step 2 的改进假说
- 目标：实施改进并验证效果
- 循环终止条件（开始前明确说明）：当 [具体指标] 达到 [具体数值/状态] 时，本轮迭代完成

**Step 4：criticism-self-criticism（批评与自我批评）**
- 目标：审视本轮迭代的过程质量
- 必须输出：工作审视报告

**Step 5：mass-line（下一轮）**
- 基于本轮的改进结果，重新收集反馈，开始新的迭代循环

**整体循环终止条件：** 当 mass-line 的多源反馈显示"没有新的重要问题"或用户确认满意时，退出循环。

---

## 工作流选择指南

| 你的情况 | 推荐工作流 |
|---------|---------|
| 面对全新的项目/任务，不知道从哪里下手 | Workflow 1：新项目启动 |
| 有一个具体的疑难问题，需要找到根因并解决 | Workflow 2：复杂问题攻坚 |
| 已有方案但效果不理想，需要迭代优化 | Workflow 3：方案迭代优化 |
| 以上都不完全符合 | 回到 `arming-thought` 的调度表，单独调用最匹配的 skill |

## 数据传递规则

工作流中每个步骤的**输出必须显式传递给下一步骤**。具体做法：

1. 每个步骤结束时，写出格式化的"传递给下一步的信息"
2. 下一步开始时，确认收到并引用上一步的输出
3. 不得跳步骤执行（如不得跳过 contradiction-analysis 直接进入 concentrate-forces）

## 工作流中断处理

如果在工作流执行过程中遇到阻塞：
- **信息不足** → 插入一次 `investigation-first`，补充信息后继续
- **假说被证伪** → 返回 `contradiction-analysis`，重新分析
- **发现新的更重要的矛盾** → 用 `overall-planning` 评估是否需要调整工作流
