doa-quotationlisted
Install: claude install-skill medalsoftchina/workcopilot
# 报价与敏捷任务拆分生成
## 工作流概览
```text
用户提供需求/客户/项目信息
→ 确认输出模式(经典报价 / 敏捷方式)
→ 搜索并比对当前工作区模板
→ 结构化整理报价项或 Sprint/任务项
→ 生成 Excel 或 Python 生成脚本
→ 校验工时/金额/税率/样式
→ 输出最终文件路径与说明
```
## 何时使用
- 用户说“帮我做报价”“生成报价单”“整理工时报价”
- 用户说“按敏捷方式拆任务”“做 Sprint 拆分”“生成敏捷排期 Excel”
- 用户提供客户名称、项目名称,希望参考已有模板生成新的 Excel
- 用户提供 Python/openpyxl 脚本或历史 Excel,要求按同类风格生成新版本
## Step 0: 必须先确认输出模式
当用户只说“做报价”或“做任务拆分”,**必须先使用 `vscode_askQuestions` 确认**:
- 经典报价
- 适合固定范围、按模块/工时/费用输出传统报价单
- 敏捷方式
- 适合按 Sprint、任务、人天、验收标准输出敏捷任务拆分表
推荐问题:
```text
问题:本次希望采用哪种输出方式?
选项:
- 经典报价 ← recommended
- 敏捷方式(Sprint / 任务拆分)
```
如果用户已经明确说了“经典报价”或“敏捷方式”,可以跳过这一步。
## Step 0.5: 必须确认期望总工时范围
在进入模板选择和任务拆分前,**必须再使用 `vscode_askQuestions` 确认期望的总工时范围**,单位为人天。
推荐问题:
```text
问题:本次期望的总工时范围是?
选项:
- 10人天以下
- 10-30人天
- 30-50人天
- 50-70人天 ← recommended
- 70-100人天
```
使用规则:
1. 这个范围是生成报价和任务拆分时的重要约束,不应跳过
2. 若用户已明确给出目标工时或目标预算可推导工时范围,可直接采用并在最终说明中写明
3. 若用户选择的工时范围与参考模板差距很大,应优先调整任务粒度、Sprint 数量或模块范围,而不是机械照搬模板
4. 经典报价与敏捷方式都应记录该范围,作为总人天校验依据
## Step 1: 收集最小必要信息
至少确认以下信息;如用户未提供,继续追问缺失项:
1. 客户名称
2. 项目名称
3. 需求描述或范围说明
4. 输出模式
5. 期望总工时范围
6. 人天单价(必填,单位:元/人天,例如 2200、3000、3500)
7. 是否有参考模板
> **人天单价必须由用户提供**,不使用任何默认值。如果用户未主动给出,使用 `vscode_askQuestions` 追问。
建议补充信息:
1. 报价主体
- 默认:用户公司名称(需用户提供)
2. 税率
- 默认沿用模板;无模板时单独确认
3. 交付周期
4. 角色与单价口径
- 例如 PM/BA 与 PG/PT 是否同价,SA、QA 是否有独立单价
5. 是否需要同时输出 Python 生成脚本
## Step 2: 先找模板,再决定结构
优先在当前工作区搜索并复用现有模板,而不是从零随意生成。
### 模板搜索优先级
1. 同客户、同项目族的 Excel 或 Python 生成脚本
2. 同类型文档模板
- 报价单、敏捷任务拆分、Sprint 计划、工时校验
3. 用户本次显式提供的附件或脚本
4. 如果仍然没