项目管理技能

pm-skills
分类商业
作者Alireza Rezvani
许可MIT
评分4.40/5
使用7.7K

项目管理 — 领域编排器与交付循环

此编排器承担两项职责。路由: 分叉上下文,使用 scripts/pm_goal_router.py 对 PM 咨询进行分类,运行且仅运行 8 个子技能中的一个,并返回摘要。循环: 将交付目标转化为有界 Agent 循环 —— 通过内置的 Atlassian MCP 拉取实时 Jira 数据,将其桥接至领域的确定性分析工具,通过机器运行的门禁验证每一步,并在所有项通过验证或由人工豁免前拒绝关闭。内置的 .mcp.json 连接了 Atlassian Remote MCP (https://mcp.atlassian.com/v1/sse,OAuth 由 Claude Code 处理)。

调用时机

| 症状 | 子技能 |
|---|---|
| “项目/组合健康度、风险 EMV、容量” | senior-pm |
| “Sprint 速率、回顾跟进、仪式健康度、何时能完成” | scrum-master |
| “JQL、Jira 工作流、看板、自动化” | jira-expert |
| “Confluence 空间、页面树、内容审计” | confluence-expert |
| “用户、组、权限、SSO” | atlassian-admin |
| “可复用的 Jira/Confluence 模板” | atlassian-templates |
| “会议转录、发言时长、待办事项” | meeting-analyzer |
| “状态更新、第三方更新、利益相关者沟通” | team-communications |

路由逻辑(确定性)

运行路由程序 —— 当有脚本可以决定时,不要凭直觉查看表格:

bash
python3 scripts/pm_goal_router.py --text "<the goal>" --output json

退出码 0 → route_to 指定子技能:加载其 SKILL.md 并遵循其工作流。
退出码 2 → 提出一个澄清问题,列出候选技能并给出推荐答案。
退出码 3 → 无信号:要求用户重新陈述目标并指明交付物。
绝不要默默猜测;绝不要在未确认的情况下默默链接第二个子技能 —— 先输出摘要,确认后再链接。

交付循环(Agentic)

对于目标(而非问题)—— 如“将 Sprint 14 验证关闭”、“根据实时 Jira 生成组合健康报告”、“使我们的流指标每周可见” —— 运行循环库合约(观察 → 选择 → 行动 → 验证 → 记录 → 重复或停止):

1. 观察 (Observe) — 拉取最新状态:mcp__atlassian__searchJiraIssuesUsingJql(先通过 getAccessibleAtlassianResources 获取 cloudId),保存结果 JSON,然后进行桥接:

bash
python3 scripts/jira_snapshot_bridge.py --input snapshot.json --to flow            # WIP, throughput,

周期时间 p50/85/95、工作项年龄、SLE、老化警报
python3 scripts/jira_snapshot_bridge.py --input snapshot.json --to sprint > s.json # scrum-master 模式
python3 ../scrum-master/scripts/velocity_analyzer.py s.json # 速率 + 波动率 + 预测
code
添加 --forecast N 以通过种子蒙特卡洛模拟回答“何时能完成 N 个项”
(若已完成项 < 10 个则拒绝执行 —— 历史数据不足的预测是不可信的)。
2. 选择 (Choose) — 使用 pm_goal_router.py 路由下一个任务;一次仅处理一个任务。
3. 执行 (Act) — 根据其 SKILL.md,使用路由后的子技能工具执行。
4. 验证 (Verify) — 对计划和每次关闭进行门禁检查:
bash
python3 scripts/delivery_loop_gate.py --plan plan.json --mode plan # 退出码 2 = 已阻塞
python3 scripts/delivery_loop_gate.py --plan plan.json --mode close # 退出码 4 = 拒绝关闭
code
此外还需通过每个子技能自身的门禁(如 scrum-master 的 ≥ 3 个 sprint 规则,atlassian-admin 的 VERIFY 步骤)。绝不要自行判定自己的验证结果。
5. 记录 / 重复或停止 (Record / Repeat-or-stop) — 对于多任务目标,将状态通过仓库范围的测试框架运行(该框架强制执行尝试次数上限、迭代预算和证据日志):
bash
python3 engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py \
--goal "<goal>" --manifest engineering/agent-harness/skills/agent-harness/assets/harnesses/project-management.json \
--out .agent-harness/plan.json
python3 engineering/agent-harness/skills/agent-harness/scripts/loop_controller.py init|next|record|verify|close ...
``
终止状态:成功 (success)、干净的无操作 (clean no-op)、已阻塞 (blocked)、需要审批 (approval-required)、预算耗尽 (exhausted)、停滞 (stagnated)。预算耗尽属于升级事件 —— 绝不能报告为成功。

硬性规则(智能体委派治理)

1. 智能体是贡献者,而非所有者(线性模型):每个循环任务必须携带一名指定的负责人(人类);由智能体执行的任务还必须携带一名指定的人类审核员。delivery_loop_gate.py 强制执行此规则 (G1/G2)。
2. 验收必须是机器可检查的 —— 必须是一个命令,或带有阈值的标准。“看起来不错”不能作为门禁条件 (G3)。
3. 所有 Jira/Confluence 的写入必须可审计且优先考虑可逆性(Rovo 规范):在没有验证证据前,绝不能将
transitionJiraIssue 状态改为“完成”;破坏性/不可逆操作(删除、权限更改、组织级管理)属于需要审批的终止状态,而非循环步骤。
4. 绝不能修改用于评估自己的门禁 —— 遵循与 autoresearch-agent 相同的锁定评估器不变性。
5. 预测必须是带有置信度的范围,绝不能是具体日期 —— 遵循 Vacanti 标准,使用蒙特卡洛百分位数 (p50/p70/p85/p95)。承诺单一日期是反模式。
6. 每个任务最多尝试 3 次,每个目标最多循环迭代 12 次 —— 超过后需将证据日志提交给指定的人类负责人进行升级。

强制性问题库(文档质询模式)

每轮仅提一个问题,包含建议答案和权威引用。在确定路径决策之前,绝不要运行子技能或启动循环:

  • SPRINT 路径:“您是想*衡量*流速(周期时间、WIP、吞吐量、年龄)还是*预测*交付?建议:先衡量 —— 基于未衡量流速的预测只是噪音。权威引用:Kanban Guide (2025年5月) 四项强制流速指标;Vacanti, *Actionable Agile Metrics*。”
  • HEALTH 路径:“您的项目状态是自报的 RAG(红黄绿)还是基于信号推导的?建议:通过推导(进度偏差、老化 WIP、范围变更)并与自报结果对比 —— 这种差异能发现‘西瓜项目’(外绿内红)。权威引用:Kanb
  • JIRA 路径:“此配置更改是否可以先部署到测试项目中?建议:始终在测试项目中进行分阶段实施;jira-expert 的工作流验证器在生产环境运行前必须返回退出码 0。准则:jira-expert 验证工作流。”
  • ADMIN 路径:“此操作是否可逆?由谁批准?建议:在修改权限前指定批准人——在任何循环中,管理操作都是需要批准的终态。准则:atlassian-admin VERIFY 纪律;loop-library 停止状态。”
  • LOOP 接收端:“哪个单一的可观察结果意味着‘完成’ (DONE),以及哪个命令可以证明这一点?建议:一个具名产出物 + 一个针对该产出物且返回退出码 0 的命令。准则:agent-harness 验证器定律;Anthropic 《构建高效 Agent》(评估者需要明确的标准)。”
  • 会议/沟通路径:“这次会议是否可以用异步书面更新代替?建议:状态广播类会议转换为异步第三方更新;决策类会议保持同步。准则:GitLab 异步优先手册。”

假设条件

1. 用户拥有(或正在为拥有)交付权限的人员准备分析报告。
2. Jira/Confluence 的访问通过捆绑的 MCP 实现;不在
project-management/references/atlassian-mcp-tools.md 中的功能(如项目/冲刺/看板/空间创建、管理配置)在 Web UI 中完成——绝不要虚构工具名称。
3. 输入可能是部分缺失的——每个工具都提供
--sample 参数,以便先确认数据格式。

非目标

  • 不是子技能的替代品——编排器负责路由和循环,子技能负责具体工作。
  • 不是通用循环引擎——通用引擎是 engineering/agent-harness;本编排器是 PM 领域适配器(数据桥接 + 治理网关 + 路径路由)。
  • 不决定“构建什么”——那是 product-team 的职责。

输出产出物

| 模式 | 产出物 |
|---|---|
| 路由 (Route) | 子技能自身的产出物 + $\le$ 200 字的摘要(含一项引用准则的挑战) |
| 流程报告 (Flow report) |
flow_metrics.json(桥接输出),包含 SLE 合规性 + 滞后警报 |
| 交付循环 (Delivery loop) |
.agent-harness/plan.json + state.json + 网关判定 + 关闭移交 |

反模式(禁止事项)

  • ❌ 为了“全面”而运行所有 8 个子技能——应路由至一个,生成摘要,并在确认后进行链式调用。
  • ❌ 在可以通过一次 MCP 调用获取 Jira 快照时,手动输入数字报告冲刺健康状况或预测——应桥接真实数据。
  • ❌ 在任务未验证的情况下关闭循环,或将预算耗尽报告为成功。
  • ❌ 让 Agent 成为记录中的经办人 (Assignee)——人类负责所有权,Agent 负责贡献。
  • ❌ 在没有指定批准人的情况下,在循环内部自动转换 Jira 问题状态或修改权限。

参考资料

  • references/pm_loop_playbook.md — 五个可复用的 PM 循环(冲刺、健康度、回顾行动、RAID 维护、沟通)及其与循环契约的映射
  • 权威 MCP 工具列表:project-management/references/atlassian-mcp-tools.md
  • 循环引擎:engineering/agent-harness · 循环词汇表:loop-library`