mcpField
P
project-insights

project-insights

github.com/happy-technologies-llc生产力4141 次安装2 天前更新
代码仓库

关于 project-insights

project-insights 是面向项目经理、PMO 负责人和高管的技能,用于评估 ServiceNow SPM 中的项目与项目组合健康状况。它汇总进度、资源、风险、里程碑和敏捷指标,生成结构化报告与建议。

主要功能

  1. 01分析进度偏差与任务状态
  2. 02评估资源利用率
  3. 03识别风险与阻碍因素
  4. 04跟踪里程碑和截止日期
  5. 05计算敏捷速率与燃尽指标
  6. 06生成高管及项目组合摘要

适用场景

  1. 01编制项目健康报告
  2. 02对照计划检查资源分配
  3. 03识别风险和逾期里程碑
  4. 04汇总多个项目的冲刺表现

MCP 相关

使用 SN-Get-Record、SN-Query-Table 等 ServiceNow MCP 工具读取项目数据;技能还介绍了如何根据采集的记录生成摘要。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/happy-technologies-llc/happy-platform-skills --skill project-insights

安装后在 Claude Code 中输入/project-insights确认已加载。

详细介绍

项目洞察

概述

此技能可帮助你从 ServiceNow 的 Strategic Portfolio Management(SPM)模块生成全面的项目健康状况洞察。内容包括:

  • 分析项目任务的进度偏差和时间表遵循情况
  • 衡量资源利用率与计划分配的对比情况
  • 识别风险指标和潜在阻碍因素
  • 跟踪里程碑完成情况和即将到来的截止日期
  • 计算敏捷速度和迭代燃尽指标
  • 生成包含可执行建议的高管仪表板摘要

使用场景: 当项目经理、PMO 负责人或高管需要在 ServiceNow SPM 中,以数据为依据评估项目健康状况、项目组合状态或迭代绩效时。

前提条件

  • 插件: com.snc.project(项目组合管理)、com.snc.sdlc.agile.2.0(敏捷开发 2.0)
  • 角色: project_manager、program_manager、portfolio_manager 或 admin
  • 访问权限: 对 pm_project、pm_project_task、planned_task、pm_resource_plan、rm_story、rm_sprint、risk 表具有读取权限
  • 知识: 了解项目排期概念(关键路径、EVM)和敏捷指标(速度、燃尽)

操作步骤

步骤 1:获取项目概览

获取核心项目记录及其当前状态。

使用 MCP(Claude Code/Desktop):

Tool: SN-Get-Record
Parameters:
  table_name: pm_project
  sys_id: [project_sys_id]
  fields: sys_id,number,short_description,description,state,phase,priority,risk,percent_complete,start_date,end_date,actual_start_date,actual_end_date,work_start,work_end,schedule_variance,cost_variance,budget_cost,actual_cost,project_manager,program,portfolio,business_unit,health,health_reason

如果你只有项目编号:

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: pm_project
  query: number=PRJ0010001
  fields: sys_id,number,short_description,state,phase,percent_complete,start_date,end_date,actual_start_date,schedule_variance,cost_variance,budget_cost,actual_cost,project_manager,health,risk
  limit: 1

使用 REST API:

GET /api/now/table/pm_project?sysparm_query=number=PRJ0010001&sysparm_fields=sys_id,number,short_description,state,phase,percent_complete,start_date,end_date,actual_start_date,schedule_variance,cost_variance,budget_cost,actual_cost,project_manager,health,risk&sysparm_limit=1&sysparm_display_value=true
步骤 2:分析进度偏差

查询项目任务,识别逾期、有风险和进度正常的事项。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: pm_project_task
  query: parent=[project_sys_id]^stateNOT IN3,4,7^end_date<javascript:gs.nowDateTime()
  fields: sys_id,number,short_description,state,percent_complete,start_date,end_date,actual_start_date,actual_end_date,assigned_to,priority,milestone
  limit: 50

使用 REST API:

GET /api/now/table/pm_project_task?sysparm_query=parent=[project_sys_id]^stateNOT IN3,4,7^end_date<javascript:gs.nowDateTime()&sysparm_fields=sys_id,number,short_description,state,percent_complete,start_date,end_date,assigned_to,priority,milestone&sysparm_limit=50&sysparm_display_value=true

查询未来 14 天内到期的任务:

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: pm_project_task
  query: parent=[project_sys_id]^stateNOT IN3,4,7^end_date>=javascript:gs.nowDateTime()^end_date<=javascript:gs.daysAgoEnd(-14)
  fields: sys_id,number,short_description,state,percent_complete,end_date,assigned_to,priority,milestone
  limit: 30

使用 REST API:

GET /api/now/table/pm_project_task?sysparm_query=parent=[project_sys_id]^stateNOT IN3,4,7^end_date>=javascript:gs.nowDateTime()^end_date<=javascript:gs.daysAgoEnd(-14)&sysparm_fields=sys_id,number,short_description,state,percent_complete,end_date,assigned_to,priority&sysparm_limit=30&sysparm_display_value=true
步骤 3:评估资源利用率

查询资源计划,了解资源分配与实际投入的对比情况。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: pm_resource_plan
  query: task=[project_sys_id]^state=2
  fields: sys_id,resource,planned_hours,actual_hours,remaining_hours,utilization,start_date,end_date,resource_type,group
  limit: 50

使用 REST API:

GET /api/now/table/pm_resource_plan?sysparm_query=task=[project_sys_id]^state=2&sysparm_fields=sys_id,resource,planned_hours,actual_hours,remaining_hours,utilization,start_date,end_date,resource_type,group&sysparm_limit=50&sysparm_display_value=true

计算利用率指标:

  • 超额分配: actual_hours > planned_hours 的资源
  • 利用不足: utilization < 50% 的资源
  • 接近满负荷: 利用率在 80% 到 100% 之间的资源
步骤 4:检查风险指标

查询风险表,了解项目特定的风险和问题。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: risk
  query: task=[project_sys_id]^state!=6
  fields: sys_id,number,short_description,category,risk_score,probability,impact,state,response,assigned_to,due_date,mitigation_plan
  limit: 20

使用 REST API:

GET /api/now/table/risk?sysparm_query=task=[project_sys_id]^state!=6&sysparm_fields=sys_id,number,short_description,category,risk_score,probability,impact,state,response,assigned_to,due_date,mitigation_plan&sysparm_limit=20&sysparm_display_value=true
步骤 5:跟踪里程碑

查询里程碑任务,评估关键交付成果的进展情况。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: pm_project_task
  query: parent=[project_sys_id]^milestone=true^ORDERBYend_date
  fields: sys_id,number,short_description,state,percent_complete,end_date,actual_end_date,assigned_to,priority
  limit: 20

使用 REST API:

GET /api/now/table/pm_project_task?sysparm_query=parent=[project_sys_id]^milestone=true^ORDERBYend_date&sysparm_fields=sys_id,number,short_description,state,percent_complete,end_date,actual_end_date,assigned_to,priority&sysparm_limit=20&sysparm_display_value=true
步骤 6:收集敏捷指标(如适用)

对于采用敏捷方法的项目,查询迭代和用户故事数据。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: rm_sprint
  query: release.product.project=[project_sys_id]^state=3^ORDERBYDESCend_date
  fields: sys_id,number,short_description,start_date,end_date,story_points,capacity,state
  limit: 5

查询每个迭代中已完成的用户故事,以计算速度:

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: rm_story
  query: sprint=[sprint_sys_id]^state=3
  fields: sys_id,number,story_points,state,sprint
  limit: 100

使用 REST API:

GET /api/now/table/rm_story?sysparm_query=sprint=[sprint_sys_id]^state=3&sysparm_fields=sys_id,number,story_points,state&sysparm_limit=100

计算速度:汇总每个迭代中已完成用户故事的 story_points。取最近 3-5 个迭代的平均值,得出可靠的速度指标。

步骤 7:整理高管仪表板摘要

将收集到的所有数据汇总为结构化的健康状况报告:

=== PROJECT HEALTH DASHBOARD ===
Project: PRJ0010001 - Cloud Migration Phase 2
Manager: Sarah Chen | Program: Digital Transformation
Phase: Execution | Health: [Green/Yellow/Red]

SCHEDULE PERFORMANCE:
  Planned End: 2026-06-30 | Projected End: 2026-07-15
  Schedule Variance: +15 days (at risk)
  Tasks Overdue: 4 of 32 (12.5%)
  Tasks Due Next 14 Days: 7
  Milestones Completed: 3 of 8 (37.5%)
  Next Milestone: "Integration Testing Complete" due 2026-04-01

COST PERFORMANCE:
  Budget: $450,000 | Actual Spend: $285,000 (63.3%)
  Cost Variance: -$12,000 (under budget)
  Burn Rate: $47,500/month
  Projected Total: $427,500

RESOURCE UTILIZATION:
  Total Resources: 12
  Over-allocated (>100%): 2 (John D. 120%, Maria S. 115%)
  Under-utilized (<50%): 1 (Alex K. 35%)
  Average Utilization: 82%

RISK SUMMARY:
  Open Risks: 5 (2 High, 2 Medium, 1 Low)
  Top Risk: "Vendor API deprecation" (Score: 16, Impact: High)
  Overdue Mitigations: 1

AGILE VELOCITY (Last 3 Sprints):
  Sprint 14: 34 pts | Sprint 15: 38 pts | Sprint 16: 31 pts
  Average Velocity: 34.3 pts/sprint
  Remaining Backlog: 142 pts
  Projected Sprints to Complete: 4.1 sprints

RECOMMENDATIONS:
  1. [URGENT] Address 4 overdue tasks blocking Integration Testing milestone
  2. [ACTION] Rebalance workload from John D. and Maria S. to Alex K.
  3. [MONITOR] Vendor API deprecation risk - mitigation plan overdue
  4. [PLAN] At current velocity, backlog completion extends 1 sprint beyond plan
步骤 8:项目组合层面的洞察

对于 PMO 负责人,汇总项目组合中各项目的健康状况。

使用 MCP:

Tool: SN-Query-Table
Parameters:
  table_name: pm_project
  query: portfolio=[portfolio_sys_id]^stateNOT IN-5,3,4
  fields: sys_id,number,short_description,state,phase,health,percent_complete,schedule_variance,cost_variance,budget_cost,actual_cost,risk,project_manager,end_date
  limit: 50

使用 REST API:

GET /api/now/table/pm_project?sysparm_query=portfolio=[portfolio_sys_id]^stateNOT IN-5,3,4&sysparm_fields=sys_id,number,short_description,state,phase,health,percent_complete,schedule_variance,cost_variance,budget_cost,actual_cost,risk,project_manager,end_date&sysparm_limit=50&sysparm_display_value=true

工具用法

MCP 工具参考
工具使用场景
SN-Get-Record按 sys_id 获取单个项目或任务记录
SN-Query-Table查询范围受限的任务、资源、风险、里程碑、迭代和用户故事字段;在本地计算汇总信息
SN-Natural-Language-Search使用自然语言搜索项目(例如,“查找第二季度有风险的项目”)
REST API 参考
EndpointMethodPurpose
/api/now/table/pm_projectGET查询项目记录和项目组合数据
/api/now/table/pm_project_taskGET查询任务、里程碑和进度安排数据
/api/now/table/pm_resource_planGET资源分配和利用率
/api/now/table/riskGET项目风险和缓解措施
/api/now/table/rm_sprintGET用于速度计算的 Sprint 数据
/api/now/table/rm_storyGET用于燃尽指标的故事完成情况
/api/now/table/pm_portfolioGET项目组合级别的汇总
/api/now/table/pm_programGET计划级别的项目分组

最佳实践

  • 使用显示值: 在 REST 调用中始终包含 sysparm_display_value=true,以便在仪表板中显示易读的输出
  • 计算挣值: 使用 percent_complete * budget_cost 推导挣值,用于 EVM 分析
  • 跟踪趋势变化: 比较多个报告周期的指标以识别趋势,而不只是查看快照
  • 关注领先指标: 优先关注速度趋势、即将到来的里程碑和资源约束,而非滞后指标
  • 设置健康度阈值: 明确规定绿/黄/红标准(例如,绿色 = 进度偏差 < 5 天,黄色 = 5-15 天,红色 = >15 天)
  • 提供建议: 原始数据并不足够;务必提供可执行的建议并标明紧急程度
  • 交叉核对风险: 将逾期任务与未解决风险关联起来,以识别系统性问题
  • 验证数据时效性: 检查 sys_updated_on 时间戳,确保指标反映当前状态

故障排除

“项目显示已完成 0%,但任务都已完成”

原因: 完成百分比可能根据计划工期计算,而非任务完成情况
解决方案: 检查项目的 percent_complete_method 字段。可选项包括 "manual"、"task-based" 和 "duration-based"。确认任务状态已正确更新。

“资源利用率数字似乎不正确”

原因: 资源计划记录可能没有记录实际数据
解决方案: 确认工时条目已记入项目任务。检查 pm_resource_plan 记录上的 actual_hours。

“未找到项目的风险记录”

原因: 风险可能通过 task 字段关联到项目任务,而非项目本身
解决方案: 使用 task.parent=[project_sys_id] 查询,以查找关联到子任务的风险。另请检查自动生成的风险记录的 risk_condition。

“Sprint 速度数据不一致”

原因: 故事可能在不同 Sprint 之间移动,或在 Sprint 结束后才完成
解决方案: 筛选 sprint 与目标 Sprint 匹配且 state=3(Complete)的故事。如果可用,通过 sprint_changed 字段排除已移出的故事。

示例

示例 1:单个项目的每周状态报告

步骤 1 - 收集数据:

Tool: SN-Query-Table
Parameters:
  table_name: pm_project
  query: number=PRJ0010042
  fields: sys_id,number,short_description,state,phase,health,percent_complete,schedule_variance,budget_cost,actual_cost,project_manager,end_date
  limit: 1

步骤 2 - 获取逾期任务:

Tool: SN-Query-Table
Parameters:
  table_name: pm_project_task
  query: parent=[sys_id]^state=2^end_date<javascript:gs.nowDateTime()
  fields: number,short_description,end_date,assigned_to,priority
  limit: 10

输出:

WEEKLY STATUS - PRJ0010042 ERP Upgrade
Report Date: 2026-03-19

Health: YELLOW | Phase: Testing | Complete: 72%
Schedule: 8 days behind plan | Budget: $12K under budget

KEY ISSUES:
- 3 overdue tasks in Integration Testing phase
- UAT environment provisioning delayed by vendor

MILESTONES:
  [DONE] Requirements Complete (Feb 15)
  [DONE] Development Complete (Mar 01)
  [LATE] Integration Testing (Due Mar 10, now projected Mar 22)
  [UPCOMING] UAT Sign-off (Due Apr 05)
  [UPCOMING] Go-Live (Due Apr 30)

ACTIONS NEEDED:
1. Escalate vendor environment issue to procurement
2. Add 2 QA resources for parallel testing
示例 2:项目组合健康度摘要
Tool: SN-Query-Table
Parameters:
  table_name: pm_project
  query: portfolio.short_description=Digital Transformation^stateNOT IN-5,3,4
  fields: number,short_description,health,percent_complete,schedule_variance,budget_cost,actual_cost,end_date,project_manager
  limit: 20

输出:

PORTFOLIO DASHBOARD - Digital Transformation
Active Projects: 8 | Total Budget: $3.2M

HEALTH DISTRIBUTION:
  Green: 5 projects (62.5%)
  Yellow: 2 projects (25.0%)
  Red: 1 project (12.5%)

AT-RISK PROJECTS:
  [RED] PRJ0010042 - ERP Upgrade (8 days behind, vendor dependency)
  [YELLOW] PRJ0010055 - API Gateway (resource constraints)
  [YELLOW] PRJ0010061 - Data Lake (scope change pending approval)

BUDGET SUMMARY:
  Allocated: $3,200,000
  Spent: $1,890,000 (59.1%)
  Projected: $3,050,000 (4.7% under budget)

相关技能

  • spm/agile-story-generation - 生成和管理用户故事
  • spm/planning-summarization - 总结规划会议和项目组合决策
  • spm/feedback-summarization - 分析回顾会议和利益相关者反馈
  • reporting/executive-dashboard - 构建高管仪表板和可视化内容
  • reporting/trend-analysis - 分析项目指标随时间变化的趋势

评论

支持 Markdown