---
name: uaio/custom:new-demand
source: https://app.decimal.ai/s/uaio-custom-new-demand@1/SKILL.md
source_sha256: 8588059abef4
---

# 全局 orchestrator：新需求（任务放本项目skill目录下）

## 严格执行流程（必须100%遵守）

1. <thinking>...</thinking>
2. 理解用户需求 → 转换成专业主题（kebab-case）
3. **自动生成带时间标号的标题**：需求-YYYYMMDD-hhmm-专业主题（精确到分钟）
   示例：需求-20260314-0823-用户登录流程重构
4. 先展示标题，问用户“这个标题（含时间标号）是否确认？需要修改主题吗？”
5. 标题确认后，给出完整方案 + 风险说明，再次等待确认
6. 用户第二次回复“确认”“执行”“开始”“OK”等后：
   - 生成编号的任务列表（每条只写简述 + 涉及文件）
   - **立即在项目 .claude/skills/ 下创建主需求 skill 文件夹**：
     - 文件夹名：需求-YYYYMMDD-hhmm-专业主题
     - SKILL.md（轻量主索引）
     - tasks/ 子文件夹（每个任务一个独立 .md 文件）

## 主需求 skill 模板（自动生成时严格使用）

```markdown
---
name: 需求-20260314-0823-用户登录流程重构
description: 本需求主索引 skill。Use when 用户提到”需求-20260314-0823””20260314-0823””用户登录流程重构””整体进度””登录需求””查看需求””恢复需求””继续需求””恢复上次””继续上次””查看所有需求””需求列表””当前需求””所有需求进度”等词时加载。触发词：整体进度、需求进度、登录需求、恢复、继续、需求列表、所有需求。
---

# 需求主索引：20260314-0823 用户登录流程重构

## 需求原始描述

[用户原文简述]

## 任务列表（索引）

1. 01-创建useAuthHook → 状态：待办 （详情见 tasks/01-创建useAuthHook.md）
2. 02-实现jwt双token → 状态：待办 （详情见 tasks/02-实现jwt双token.md）
   ...

## 整体进度总结

已完成：0/5 | 当前阶段：规划中
```

## 使用说明

- 更新任务时请说“更新任务01 已完成...”或“任务01 中断原因：xxx”
- 查看整体进度时说“查看需求-20260314-0823”

# 单个任务文件模板（自动放在 tasks/ 目录下）

文件名格式：编号-简述.md

```Markdown
# 任务01：创建 useAuthHook（20260314-0823）

## 详细修改计划
- 文件：src/hooks/useAuth.ts
- 修改内容：新增 hook，封装登录状态、token 刷新逻辑...
- 修改理由：统一前端状态管理，避免重复代码
- 预期结果：登录后状态自动同步

## 当前状态
待办

## 更新记录
- 2026-03-14 08:23 创建

## 中断/失败原因（如有）
无
```

# 后续更新规则（按需加载）

用户说”更新任务01 已完成，原因：测试通过” → 自动加载主 skill 并更新对应 tasks/01-xxx.md
用户说”查看需求-20260314-0823” 或 “整体进度” → 自动加载主 skill

# 需求完成与归档

## 完成检测

当所有任务状态变为”已完成”时，自动触发归档流程。

## 归档流程

1. **生成完整文档**：汇总所有任务到 `docs/requirements/需求-YYYYMMDD-hhmm-主题.md`
2. **展示摘要**：输出需求完成摘要，包含所有任务详情和最终结果
3. **确认归档**：
   ```
   需求”用户登录认证”已全部完成！

   ### 完成摘要
   - 任务数：5/5
   - 涉及文件：src/api/auth.ts, src/stores/auth.ts, ...
   - 完成时间：2026-03-17 16:30

   是否归档此需求？
   - 确认归档：移动到 docs/archived-requirements/ 并删除 skill
   - 暂不归档：保留 skill 以便后续查阅
   ```
4. **执行归档**（用户确认后）：
   - 移动文档到 `docs/archived-requirements/需求-YYYYMMDD-hhmm-主题.md`
   - **删除 skill 目录**：`rm -rf .claude/skills/需求-YYYYMMDD-hhmm-主题/`
5. **确认删除**：
   ```
   ✓ 已归档到 docs/archived-requirements/需求-20260317-1430-用户登录认证.md
   ✓ 已删除 skill: 需求-20260317-1430-用户登录认证
   ```

# 列出所有需求

## 触发方式

- 用户说 “查看所有需求” / “需求列表” / “当前需求” / “所有需求进度”
- 用户说 “帮我看一下需求的进度” / “看看有什么需求”

## 执行流程

1. **扫描需求目录**：遍历 `.claude/skills/需求-*/` 目录
2. **读取每个 SKILL.md**：提取需求名称、创建时间、整体进度
3. **汇总输出**：
   ```markdown
   ## 需求列表

   | 编号 | 需求名称 | 创建时间 | 进度 | 状态 |
   |------|----------|----------|------|------|
   | 1 | 需求-20260317-1430-用户登录认证 | 2026-03-17 14:30 | 2/5 | 进行中 |
   | 2 | 需求-20260315-0920-订单导出功能 | 2026-03-15 09:20 | 5/5 | 已完成 |
   | 3 | 需求-20260314-0823-用户登录流程重构 | 2026-03-14 08:23 | 0/3 | 待办 |

   ---
   共 3 个需求，1 个已完成，1 个进行中，1 个待办

   想查看/恢复哪个需求？说”恢复需求-XXX”或”查看需求-XXX”
   ```

# 中断恢复规则

## 触发方式

- 用户说 “恢复需求-20260314-0823” 或 “继续需求-20260314-0823”
- 用户说 “恢复上次” 或 “继续上次”（自动匹配最近一个未完成的需求）
- 用户说 “恢复登录需求”（通过主题关键词匹配）

## 恢复执行流程

1. **定位需求目录**：根据时间标号或关键词找到 `.claude/skills/需求-XXX/` 目录
2. **读取主 SKILL.md**：获取任务列表和整体进度
3. **扫描 tasks/*.md**：按编号顺序检查每个任务状态
4. **生成断点摘要**：
   ```markdown
   ## 断点恢复摘要

   **需求**：需求-20260317-1430-用户登录认证
   **整体进度**：已完成 2/5

   ### 已完成任务
   - ✓ 任务01：创建 useAuthHook
   - ✓ 任务02：实现 jwt 双 token

   ### 断点位置
   - ⏸ 任务03：实现手机号登录 API（状态：进行中）
     - 中断原因：第三方短信服务接口超时
     - 涉及文件：src/api/auth.ts

   ### 待办任务
   - ○ 任务04：添加登录状态管理
   - ○ 任务05：编写单元测试

   ---
   是否从任务03继续？
   ```
5. **等待用户确认**：用户回复”继续””执行””OK”后从断点任务开始执行

## 任务状态定义

| 状态 | 标记 | 含义 |
|------|------|------|
| 待办 | ○ | 尚未开始 |
| 进行中 | ⏸ | 正在执行或中断暂停 |
| 已完成 | ✓ | 已通过验证 |
| 阻塞 | ⚠ | 因外部依赖暂停 |

## 更新记录规范

每次任务状态变更时，必须在任务文件中追加更新记录：
```markdown
## 更新记录
- 2026-03-14 08:23 创建
- 2026-03-14 09:15 开始执行
- 2026-03-14 10:30 中断 - 第三方短信服务接口超时
```

## 示例交互

### 查看所有需求

```
用户: 帮我看一下需求的进度

AI: ## 需求列表

    | 编号 | 需求名称 | 创建时间 | 进度 | 状态 |
    |------|----------|----------|------|------|
    | 1 | 需求-20260317-1430-用户登录认证 | 2026-03-17 14:30 | 2/5 | 进行中 |
    | 2 | 需求-20260315-0920-订单导出功能 | 2026-03-15 09:20 | 5/5 | 已完成 |
    | 3 | 需求-20260314-0823-用户登录流程重构 | 2026-03-14 08:23 | 0/3 | 待办 |

    ---
    共 3 个需求，1 个已完成，1 个进行中，1 个待办

    想查看/恢复哪个需求？说"恢复需求-20260317-1430"或"查看需求-20260315-0920"

用户: 恢复需求-20260317-1430

AI: [进入中断恢复流程...]
```

### 新建需求

```
用户: /new-demand 实现用户登录功能，支持邮箱和手机号登录

AI: <thinking>
用户需要一个登录功能，涉及认证模块...
主题应该是 user-login-auth
</thinking>

    生成的标题：需求-20260317-1430-用户登录认证

    这个标题是否确认？需要修改主题吗？

用户: 确认

AI: ## 完整方案

    ### 任务拆分
    1. 创建登录表单组件 → src/components/LoginForm.tsx
    2. 实现邮箱登录 API → src/api/auth.ts
    3. 实现手机号登录 API → src/api/auth.ts
    4. 添加登录状态管理 → src/stores/auth.ts
    5. 编写单元测试 → src/__tests__/auth.test.ts

    ### 风险说明
    - 手机验证码需要对接第三方服务
    - 登录失败需要限流保护

    确认执行？

用户: 执行

AI: ✓ 已创建需求目录: .claude/skills/需求-20260317-1430-用户登录认证/
    ✓ 已生成 SKILL.md
    ✓ 已生成 5 个任务文件到 tasks/

    现在可以：
    - 说”更新任务01 进行中”更新状态
    - 说”查看需求-20260317-1430”查看进度
```

### 中断后恢复

```
用户: 恢复需求-20260317-1430

AI: ## 断点恢复摘要

    **需求**：需求-20260317-1430-用户登录认证
    **整体进度**：已完成 2/5

    ### 已完成任务
    - ✓ 任务01：创建登录表单组件
    - ✓ 任务02：实现邮箱登录 API

    ### 断点位置
    - ⏸ 任务03：实现手机号登录 API（状态：进行中）
      - 中断原因：第三方短信服务接口超时，等待后端修复
      - 涉及文件：src/api/auth.ts

    ### 待办任务
    - ○ 任务04：添加登录状态管理
    - ○ 任务05：编写单元测试

    ---
    是否从任务03继续？

用户: 继续

AI: 好的，继续执行任务03：实现手机号登录 API
    ...
```

### 归档需求

```
用户: 更新任务05 已完成，测试通过

AI: ## 需求完成通知

    需求"用户登录认证"已全部完成！

    ### 完成摘要
    - 任务数：5/5
    - 涉及文件：src/api/auth.ts, src/stores/auth.ts, src/components/LoginForm.tsx
    - 完成时间：2026-03-17 16:30

    是否归档此需求？
    - 确认归档：移动到 docs/archived-requirements/ 并删除 skill
    - 暂不归档：保留 skill 以便后续查阅

用户: 确认归档

AI: ✓ 已生成归档文档: docs/requirements/需求-20260317-1430-用户登录认证.md
    ✓ 已移动到: docs/archived-requirements/需求-20260317-1430-用户登录认证.md
    ✓ 已删除 skill: 需求-20260317-1430-用户登录认证

    需求已归档完成，可随时在 docs/archived-requirements/ 中查阅。
```

## 验收标准

执行完成后必须满足：

- [ ] `.claude/skills/需求-YYYYMMDD-hhmm-主题/` 目录已创建
- [ ] SKILL.md 包含完整的 frontmatter（name、description）
- [ ] tasks/ 目录下每个任务文件都包含：详细修改计划、当前状态、更新记录
- [ ] 任务编号连续（01、02、03...）
- [ ] description 中包含正确的触发词