项目管理助手 Skill
分发项目管理总表时,应先打开表格概览给用户确认。
一、技能概述
帮助项目管理经理搭建和管理项目管理工作区。支持:
- 一键初始化项目管理工作区
- 新增/修改项目信息
- 从会议纪要/客户沟通记录提取信息并更新表格和归档
- 项目状态看板维护
二、何时触发
当用户表达以下意图时触发此技能:
- 需要建立项目管理体系/工作区
- 需要管理多个并行项目的进度、卡点、资源
- 上传了会议纪要或客户沟通内容要求处理和更新
- 需要新增项目立项
- 需要生成项目概览或周报
三、目录结构
初始化时应创建的完整目录结构:
项目管理工作区/
├── 项目管理总表.xlsx
├── 模板/
│ ├── 会议纪要模板.md
│ └── 客户沟通记录模板.md
├── 项目文档存档/
│ └── [项目名称]/
│ ├── 会议纪要/
│ └── 客户沟通/
└── README.md
四、核心指令
场景1:初始化项目管理工作区
- 询问用户当前工作区路径,若无明确路径默认在
{workspace}/下创建 - 创建完整目录结构
- 调用
scripts/create_project_table.py生成项目管理总表 - 将
assets/会议纪要模板.md和assets/客户沟通记录模板.md同步到模板/目录 - 创建
README.md使用说明 - 打开
项目管理总表.xlsx给用户预览
场景2:新建项目立项
当用户说"新建一个项目"或"立项"时:
- 获取项目名称(必须)
- 获取可选信息:负责人、阶段、预计里程碑等
- 在项目管理总表新增一行(使用 openpyxl 追加行)
- 在
项目文档存档/下创建{项目名称}/会议纪要/和{项目名称}/客户沟通/ - 告知用户已立项完成
场景3:处理会议纪要
当用户上传或粘贴会议纪要内容时说"这是XX项目的会议纪要":
- 读取用户提供的会议纪要内容
- 提取关键信息:
- 进度更新(当前进度百分比)
- 里程碑完成情况
- 卡点/阻塞问题
- 决策事项
- 行动项 - 更新项目管理总表中对应项目的行(进度、卡点问题、最近更新时间)
- 如果用户要求,将原始纪要内容保存为文件存档到
项目文档存档/{项目名称}/会议纪要/下,文件名格式YYYY-MM-DD-{主题}.md - 告知用户已更新了哪些内容
场景4:处理客户沟通记录
当用户上传或粘贴客户聊天内容时说"这是XX项目的客户沟通":
- 读取用户提供的沟通内容
- 提取关键信息:
- 客户诉求/反馈
- 我方承诺
- 行动项
- 对项目的影响(进度、范围、资源、风险等级) - 更新项目管理总表中对应项目行的卡点问题、资源需求、风险等级等字段
- 将原始内容存档到
项目文档存档/{项目名称}/客户沟通/下 - 告知用户已归档和更新的内容
场景5:更新项目进展
当用户说"更新项目进展"或告知进度变化:
- 确认是哪个项目
- 获取更新的字段和值(进度百分比、阶段变更、卡点变化等)
- 更新项目管理总表
- 记录最近更新日期为当天
场景6:展示项目全景/生成周报
当用户想看项目全景时:
- 打开项目管理总表,读取所有项目数据
- 按状态分类汇总(正常/预警/停滞项目列表)
- 按风险等级列出高风险项目
- 列出所有当前卡点问题
- 以结构化方式展示给用户
五、Excel 操作规范
表格结构
项目管理总表包含以下列,索引从 A 开始:
| 列 | 标题 | 说明 |
|---|---|---|
| A | 序号 | 自动编号 |
| B | 项目名称 | 文本 |
| C | 负责人 | 文本 |
| D | 阶段 | 下拉:需求阶段,设计阶段,开发阶段,测试阶段,验收阶段,已完结,暂停 |
| E | 当前进度 | 百分比文本,如 "15%" |
| F | 关键里程碑 | 文本,描述里程碑和时间节点 |
| G | 卡点问题 | 文本 |
| H | 资源需求 | 文本 |
| I | 状态 | 下拉:🟢 正常,🟡 预警,🔴 停滞 |
| J | 风险等级 | 下拉:低,中,高 |
| K | 最近更新 | 日期文本,如 "2026-05-15" |
| L | 备注 | 文本 |
更新表格的方法
使用 openpyxl 操作 Excel:
from openpyxl import load_workbook
wb = load_workbook(xlsx_path)
ws = wb["项目总览"]
# 查找项目所在行
target_row = None
for row in range(2, ws.max_row + 1):
if ws.cell(row=row, column=2).value == project_name:
target_row = row
break
# 若未找到,在末尾追加新行
if target_row is None:
target_row = ws.max_row + 1
ws.cell(row=target_row, column=1, value=target_row - 1) # 序号
ws.cell(row=target_row, column=2, value=project_name)
# 更新字段
ws.cell(row=target_row, column=5).value = progress # 当前进度 E列
ws.cell(row=target_row, column=7).value = blockers # 卡点问题 G列
ws.cell(row=target_row, column=11).value = today # 最近更新 K列
wb.save(xlsx_path)
公式重算(如涉及 SUM/AVERAGE 等公式)
python /path/to/skill-creator/scripts/recalc.py {xlsx_path}
当前表格结构为纯文本列,无需公式重算。若后续增加计算列,需执行此步骤。
六、模板内容
见 assets/会议纪要模板.md 和 assets/客户沟通记录模板.md,初始化时同步到工作区 模板/ 目录。
七、注意事项
- 所有文件路径使用绝对路径,避免相对路径引起错误
- 操作 Excel 时必须使用 openpyxl 库
- 更新表格后务必调用
.save()保存 - 新增项目时,同时创建文档存档子文件夹
- 保持 README.md 与当前工作区内容一致
- 如用户未提供工作区路径,默认使用当前会话的工作区根目录