关于 project-insights
project-insights 是面向项目经理、PMO 负责人和高管的技能,用于评估 ServiceNow SPM 中的项目与项目组合健康状况。它汇总进度、资源、风险、里程碑和敏捷指标,生成结构化报告与建议。
主要功能
- 01分析进度偏差与任务状态
- 02评估资源利用率
- 03识别风险与阻碍因素
- 04跟踪里程碑和截止日期
- 05计算敏捷速率与燃尽指标
- 06生成高管及项目组合摘要
适用场景
- 01编制项目健康报告
- 02对照计划检查资源分配
- 03识别风险和逾期里程碑
- 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 参考
| Endpoint | Method | Purpose |
|---|---|---|
/api/now/table/pm_project | GET | 查询项目记录和项目组合数据 |
/api/now/table/pm_project_task | GET | 查询任务、里程碑和进度安排数据 |
/api/now/table/pm_resource_plan | GET | 资源分配和利用率 |
/api/now/table/risk | GET | 项目风险和缓解措施 |
/api/now/table/rm_sprint | GET | 用于速度计算的 Sprint 数据 |
/api/now/table/rm_story | GET | 用于燃尽指标的故事完成情况 |
/api/now/table/pm_portfolio | GET | 项目组合级别的汇总 |
/api/now/table/pm_program | GET | 计划级别的项目分组 |
最佳实践
- 使用显示值: 在 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- 分析项目指标随时间变化的趋势