# Default

> 通用默认工作流技能。当用户提出一个任务但没有匹配到更具体的专项技能时，使用此技能作为兜底方案。 提供标准化的三阶段工作流：先 Brainstorming 进行前期构思与设计确认，再用 Planning with Files 进行文件化任务追踪， 最后收尾归档生成任务日志并清理临时文件。 触发词：帮我做个、我要、写一个、建一个、实现、开发、完成、整理、分析、处理任何没有明确技能匹配的任务。 当 brainstorming、planning-with-files 等 slash command 可用时优先使用此工作流。

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

---


# Default — 通用默认工作流

当你收到一个用户任务，且没有更具体的专项技能匹配时，按照本技能定义的三阶段工作流执行。

---

## 核心原则

1. **必须先调用 brainstorming** — 每次任务执行**必须**先调用 brainstorming 技能进行前期构思和分析，**不得跳过此步骤**。这帮助你在动手之前全面理解用户意图、项目目标和潜在挑战。
2. **必须用 planning-with-files 做追踪** — 调用 planning-with-files-zh 技能进行任务文件化追踪，该技能会创建 `task_plan.md`、`findings.md`、`progress.md` 三个核心追踪文件，让整个过程有迹可循、可回溯。
3. **任务结束后清理并归档** — 基于三个规划文件生成最终的任务日志文档，存入 `./docs/`，然后删除过程中产生的无用文件。
4. **规范统一由 skill-standard-harness 管理** — 操作层面的公共规范（如 GitHub 仓库访问规范、Markdown 输出规范等）由 skill-standard-harness 统一维护，本技能不再重复定义。
5. **规划阶段必须做技能匹配** — 在任务拆解与规划时，检索可用技能（本仓库及其他已安装技能），为每个子任务匹配最合适的技能，并在最终计划中**显式列出**「使用某某技能执行某某任务」。避免有现成技能不用、重复造轮子。
6. **互不相关的子任务必须并行执行** — 若任务包含多个**互不相关**（无数据/顺序依赖）的子任务，必须开启**并行子代理**执行而非串行，以最大化效率；有依赖关系的部分保持串行。

---

## GitHub 仓库访问规范

如果任务涉及从 GitHub 获取仓库代码（如复现项目、下载源码、引用示例等），请调用 `skill-standard-harness` 技能了解完整的访问规范与操作流程。

---

## 三阶段工作流

```
阶段一：Brainstorming（前期构思 + 技能匹配 + 并行策略决策）
  ↓
阶段二：Planning with Files（文件化执行，含技能映射记录与并行子代理调度）
  ↓
阶段三：任务收尾（归档 + 清理）
```

### 阶段一：Brainstorming（前期构思 + 技能匹配）

**触发条件**：接收到用户任务后立即进入此阶段。

**执行步骤：**

1. **调用 brainstorming** — 对任务进行初步分析构思。思考：
   - 用户到底想要什么？核心诉求是什么？
   - 这个任务涉及哪些方面？
   - 可能遇到哪些主要挑战？
   - 需要哪些前置条件或资源？

2. **遵循 brainstorming 流程**：
   - 探索项目上下文（文件、文档、最近的变更）
   - 逐一提出澄清性问题，理解目的、约束和成功标准
   - 提出 2-3 种方案，附上权衡分析和你的推荐
   - 分部分呈现设计，每部分获得用户确认后再继续
   - 将确认后的设计写入设计文档（按 brainstorming 默认路径）
   - 让用户审查书面规格
   - **重要**：在用户批准设计之前，不得开始任何实现工作

3. **技能匹配（必做）** — 在设计中识别各子任务所需能力，检索可用技能列表（本仓库及全局已安装技能），为每个子任务匹配最合适的技能。技能匹配规则：
   - **优先级从高到低**：① 专用专项技能（如复现项目用 `github-project-replication`、处理 docx 用 `docx`、下载抖音用 `douyin-downloader`）→ ② 通用工作流技能（本 `default`）→ ③ 不匹配任何技能时直接执行
   - 匹配依据技能的 `description` 与任务意图的契合度，不凭名字猜
   - 将匹配结果**暂存于设计文档**（brainstorming 的设计文档），阶段二初始化 `task_plan.md` 后正式写入，格式：`- [子任务] → 技能：<skill-name>（原因：...）`

4. **执行策略决策（并行 or 串行）** — 对设计中的子任务做依赖分析：
   - **无依赖**（互不相关）：标记为可并行
   - **有依赖**（顺序/数据依赖）：标记为串行，明确依赖链
   - 将决策**暂存于设计文档**，阶段二初始化 `task_plan.md` 后正式记录（见阶段二）

5. **设计获得批准后**，进入阶段二。

### 阶段二：Planning with Files（文件化执行）

**执行步骤：**

1. **调用 planning-with-files-zh** — 初始化三个追踪文件：
   - `task_plan.md` — 将任务拆解为可执行的阶段和清单
   - `findings.md` — 预留研究笔记空间
   - `progress.md` — 准备记录操作日志

2. **规划文件中显式记录技能映射与并行策略** — 在 `task_plan.md` 中为每个子任务标注：
   ```markdown
   ## 任务拆解与技能映射
   - 子任务 A（无依赖 → 并行）→ 技能：xxx（原因：...）
   - 子任务 B（无依赖 → 并行）→ 技能：yyy（原因：...）
   - 子任务 C（依赖 A 的输出 → 串行，在 A 之后）→ 技能：zzz（原因：...）
   ```

3. **遵循 planning-with-files-zh 的工作模式**：
   - 每一步操作前重新读取计划文件，保持目标清晰
   - 每执行 2 次查看/搜索操作后，将关键发现写入文件
   - 所有错误都要记录到文件中，防止重复失败
   - 每个阶段完成后更新 task_plan.md 状态
   - 遵循「三次失败协议」：3 次尝试失败后向用户求助

4. **按计划执行任务，并行子任务用子代理并行执行**：
   - **判定并行**：子任务之间无数据依赖、无顺序依赖、可独立完成 → 并行
   - **并行执行方式**：为每个可并行子任务启动一个独立子代理（如 `task` / `fleet` / `parallel_tasks`），在最终计划中写明每个子代理的输入、输出路径与验收标准；各子代理返回结果后由主进程统一汇总、交叉验证
   - **串行部分**：有依赖关系的子任务按依赖链顺序执行，前序输出作为后序输入
   - **并行规模**：并行子代理数量建议 2-4 个，避免上下文过载；共享文件写入冲突时给每个子代理分配互不重叠的写路径
   - **实时更新进度**：根据 task_plan.md 的阶段划分，逐一完成，实时更新进度和发现

### 阶段三：任务收尾（归档 + 清理）

**执行步骤：**

1. **生成任务日志文档**：
   - 基于 `task_plan.md`、`findings.md`、`progress.md` 三份文件
   - 整合生成一份完整的日志文档
   - **命名规则**：根据任务内容总结一个概括性名称，加上年月日时分
   - 格式：`{概括性名称}-{YYYY-MM-DD-HHmm}.md`
   - 例如：`用户登录模块重构-2026-06-27-1530.md`
   - 保存路径：`./docs/`（如果 `./docs/` 目录不存在，自动创建）
   - 内容应包含：
     - 任务概述（名称、目标、范围）
     - 执行过程摘要（每个阶段做了什么）
     - 关键发现与决策
     - 遇到的问题与解决方案
     - 最终结果与状态

2. **清理无用文件**：
   - 删除 `.planning/` 目录（如果存在）
   - 删除项目根目录下的 `task_plan.md`（如果存在）
   - 删除项目根目录下的 `findings.md`（如果存在 — 注意：如果用户原本就有自己的 findings.md，只删除由 planning-with-files 创建的内容，或与用户确认）
   - 删除项目根目录下的 `progress.md`（如果存在）
   - **注意**：不要删除用户原有的重要文件。如果发现 findings.md 在技能运行前就已存在，询问用户是否删除。

3. **输出最终结果摘要** — 用简洁的语言告诉用户：
   - 任务是否完成
   - 主要产出物（文件列表、路径）
   - 任务日志位置
   - 遗留问题（如果有）

---

## 错误处理与异常

| 异常场景 | 处理方式 |
|---|---|
| **用户未批准设计** | 如果 brainstorming 阶段用户对设计不满意，回到设计环节修改，直到用户批准 |
| **任务中途变更需求** | 更新 task_plan.md 和 findings.md，记录变更，调整剩余计划（含技能映射与并行策略） |
| **三次连续失败** | 停止当前操作，向用户说明尝试过的方法和具体错误，请求指导 |
| **清理时发现用户原有文件** | 不自动删除，询问用户确认 |
| **并行子代理执行失败** | 标记失败子任务，不阻塞其他并行子代理；全部结束后由主进程汇总失败原因并重试失败项 |
| **并行子代理写文件冲突** | 规划时为各子代理分配互不重叠的写路径（见阶段二第 4 步）；冲突发生时合并冲突内容并记录到 findings.md |
| **子任务之间出现隐藏依赖** | 停止该子代理，改为串行执行；将依赖关系补录到 task_plan.md，避免结果不一致 |

---

## 输出规范

请调用 `skill-standard-harness` 技能并读取 `references/markdown-output-standard.md`，按照统一的 Markdown 输出规范执行（标题层级、时间戳格式、日志文档结构、文件命名规则等）。

本技能特有要求：`progress.md` 每条记录必须包含时间戳（格式：`YYYY-MM-DD HH:mm`）。

---

## 成功标准

任务完成时，以下条件应全部满足：

- Brainstorming 已完成，设计已获用户批准
- 规划阶段已完成技能匹配，`task_plan.md` 中显式列出了「子任务 → 技能」映射
- 已对子任务做依赖分析：互不相关的子任务通过并行子代理执行，有依赖的按依赖链串行执行
- Planning with Files 的三个追踪文件已创建并全程使用
- 任务目标已达成
- 完整的任务日志文档已生成到 `./docs/`
- 无用文件已清理

---

## 使用示例

**示例 1：数据处理任务**

> 用户：帮我整理一下这个 CSV 文件，把销售额按月份汇总

触发此技能后：
1. 调用 brainstorming：理解数据结构、汇总需求、输出格式
2. 技能匹配：无更合适的专项技能 → 使用本 default 工作流；规划中记录「数据汇总 → 直接执行（无技能匹配）」
3. 用户确认设计后，创建 task_plan.md 等文件开始执行
4. 完成数据汇总，生成日志 `销售额月度汇总-2026-06-27-1530.md` 到 `./docs/`
5. 清理 .planning/ 和追踪文件

**示例 2：小型功能开发**

> 用户：给我的网站加一个回到顶部按钮

触发此技能后：
1. 调用 brainstorming：探讨按钮样式、位置、滚动行为、兼容性
2. 技能匹配：前端 UI 任务 → 可考虑 `frontend-design` 技能（若已安装）辅助视觉设计，规划中显式列出
3. 用户确认后创建规划文件并实现
4. 生成日志 `回到顶部按钮-2026-06-27-1600.md` 到 `./docs/`
5. 清理临时文件

**示例 3：多子任务并行执行**

> 用户：帮我做三件事——① 整理本周销售数据成 Excel 报告；② 下载这个抖音视频；③ 检查 Reasonix 是否有更新

触发此技能后：
1. 调用 brainstorming：三件事互不相关，无数据/顺序依赖
2. 技能匹配：① → `xlsx` 技能（Excel 处理）；② → `douyin-downloader` 技能；③ → `check-reasonix-update` 技能
3. 在 task_plan.md 中显式记录技能映射，并标记三个子任务均为**可并行**
4. 为三个子任务各启动一个**并行子代理**（分配互不重叠的输出路径），主进程等待全部完成
5. 汇总三个子代理结果，生成最终日志到 `./docs/`，清理临时文件



