# Planning Summarization

> Summarize planning items, demand records, and portfolio decisions with executive summaries for planning meetings including key metrics and recommendations

- Skill: `happy-technologies-llc/planning-summarization` (Agent Skill)
- Install (CLI): `npx skillmds@latest add happy-technologies-llc/planning-summarization`
- Raw SKILL.md: https://api.skillmd.com/api/skills/happy-technologies-llc/planning-summarization/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: Happy-Technologies-LLC (https://skillmd.com/u/happy-technologies-llc)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/happy-technologies-llc/planning-summarization

---


# Planning Summarization

## Overview

This skill provides a structured approach to summarizing planning activities across ServiceNow's Strategic Portfolio Management module. It covers:

- Aggregating demand records by status, priority, and business unit
- Summarizing portfolio investment decisions and funding allocations
- Generating sprint planning summaries with capacity and commitment data
- Creating release planning overviews with feature readiness status
- Producing executive meeting summaries with key metrics and recommendations
- Consolidating program-level status for steering committee reviews

**When to use:** When portfolio managers, program managers, or product owners need concise summaries of planning data for governance meetings, sprint planning, release readiness reviews, or executive briefings in ServiceNow SPM.

## Prerequisites

- **Plugins:** `com.snc.project` (Project Portfolio Management), `com.snc.sdlc.agile.2.0` (Agile Development 2.0)
- **Roles:** `demand_manager`, `portfolio_manager`, `project_manager`, `scrum_master`, or `program_manager`
- **Access:** Read access to `dm_demand`, `pm_portfolio`, `pm_program`, `pm_project`, `rm_sprint`, `rm_story`, `rm_release`, `planned_task` tables
- **Knowledge:** Understanding of demand management lifecycle, portfolio governance processes, and agile ceremonies

## Procedure

### Step 1: Summarize Demand Pipeline

Query demand records to understand the intake pipeline and pending decisions.

**Using MCP (Claude Code/Desktop):**
```
Tool: SN-Query-Table
Parameters:
  table_name: dm_demand
  query: stateNOT IN-5,4,7^ORDERBYpriority
  fields: sys_id,number,short_description,state,priority,type,business_unit,requested_by,requested_for,estimated_cost,estimated_effort,strategic_alignment,score,due_date,assignment_group
  limit: 50
```

**Using REST API:**
```bash
GET /api/now/table/dm_demand?sysparm_query=stateNOT IN-5,4,7^ORDERBYpriority&sysparm_fields=sys_id,number,short_description,state,priority,type,business_unit,requested_by,estimated_cost,estimated_effort,strategic_alignment,score,due_date,assignment_group&sysparm_limit=50&sysparm_display_value=true
```

Group demands by state for a pipeline overview:

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: dm_demand
  query: state=1
  fields: sys_id,number,short_description,priority,type,business_unit,estimated_cost,score
  limit: 30
```

**Using REST API:**
```bash
GET /api/now/table/dm_demand?sysparm_query=state=1&sysparm_fields=sys_id,number,short_description,priority,type,business_unit,estimated_cost,score&sysparm_limit=30&sysparm_display_value=true
```

Demand states reference:
| State Value | Label | Description |
|-------------|-------|-------------|
| -5 | Draft | Initial creation, incomplete |
| 1 | New | Submitted, awaiting screening |
| 2 | Screening | Under initial assessment |
| 3 | Qualified | Approved for further analysis |
| 10 | Assessment | Detailed business case review |
| 15 | Approved | Approved for funding/execution |
| 4 | Closed | Completed or rejected |
| 7 | Cancelled | Withdrawn from pipeline |

### Step 2: Assess Portfolio Allocation

Query the portfolio to understand investment distribution and remaining budget.

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: pm_portfolio
  query: state=2
  fields: sys_id,number,short_description,state,total_budget,allocated_budget,remaining_budget,portfolio_manager,fiscal_year,strategic_theme
  limit: 10
```

**Using REST API:**
```bash
GET /api/now/table/pm_portfolio?sysparm_query=state=2&sysparm_fields=sys_id,number,short_description,state,total_budget,allocated_budget,remaining_budget,portfolio_manager,fiscal_year,strategic_theme&sysparm_limit=10&sysparm_display_value=true
```

Query projects within the portfolio for allocation breakdown:

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: pm_project
  query: portfolio=[portfolio_sys_id]^stateNOT IN-5,4
  fields: sys_id,number,short_description,state,phase,budget_cost,actual_cost,percent_complete,health,priority,end_date,project_manager
  limit: 30
```

**Using REST API:**
```bash
GET /api/now/table/pm_project?sysparm_query=portfolio=[portfolio_sys_id]^stateNOT IN-5,4&sysparm_fields=sys_id,number,short_description,state,phase,budget_cost,actual_cost,percent_complete,health,priority,end_date,project_manager&sysparm_limit=30&sysparm_display_value=true
```

### Step 3: Generate Sprint Planning Summary

For agile teams, summarize the sprint planning data including capacity and committed stories.

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: rm_sprint
  query: release.product.sys_id=[product_sys_id]^state=1
  fields: sys_id,number,short_description,start_date,end_date,capacity,story_points,state
  limit: 3
```

Query stories committed to the upcoming sprint:

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: rm_story
  query: sprint=[sprint_sys_id]^ORDERBYpriority
  fields: sys_id,number,short_description,story_points,state,priority,epic,assigned_to,acceptance_criteria,blocked
  limit: 50
```

**Using REST API:**
```bash
GET /api/now/table/rm_story?sysparm_query=sprint=[sprint_sys_id]^ORDERBYpriority&sysparm_fields=sys_id,number,short_description,story_points,state,priority,epic,assigned_to,acceptance_criteria,blocked&sysparm_limit=50&sysparm_display_value=true
```

### Step 4: Compile Release Readiness

Query the release and its associated features for readiness assessment.

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: rm_release
  query: product.sys_id=[product_sys_id]^state!=3^ORDERBYstart_date
  fields: sys_id,number,short_description,start_date,end_date,state,description
  limit: 5
```

Query stories in the release grouped by completion status:

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: rm_story
  query: sprint.release=[release_sys_id]
  fields: sys_id,number,short_description,story_points,state,epic,sprint,blocked
  limit: 100
```

**Using REST API:**
```bash
GET /api/now/table/rm_story?sysparm_query=sprint.release=[release_sys_id]&sysparm_fields=sys_id,number,short_description,story_points,state,epic,sprint,blocked&sysparm_limit=100&sysparm_display_value=true
```

### Step 5: Review Program Status

For program-level planning, aggregate across constituent projects.

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: pm_project
  query: program=[program_sys_id]^stateNOT IN-5,4
  fields: sys_id,number,short_description,state,phase,health,percent_complete,schedule_variance,budget_cost,actual_cost,end_date,project_manager,risk
  limit: 20
```

**Using REST API:**
```bash
GET /api/now/table/pm_project?sysparm_query=program=[program_sys_id]^stateNOT IN-5,4&sysparm_fields=sys_id,number,short_description,state,phase,health,percent_complete,schedule_variance,budget_cost,actual_cost,end_date,project_manager,risk&sysparm_limit=20&sysparm_display_value=true
```

### Step 6: Review Contract Dependencies

Check active contracts that impact planning timelines or resource availability.

**Using MCP:**
```
Tool: SN-Query-Table
Parameters:
  table_name: ast_contract
  query: stateNOT IN-5,3,4^end_date>=javascript:gs.nowDateTime()^ORDERBYend_date
  fields: sys_id,number,short_description,state,vendor,start_date,end_date,contract_value,renewal_date,contract_type
  limit: 15
```

**Using REST API:**
```bash
GET /api/now/table/ast_contract?sysparm_query=stateNOT IN-5,3,4^end_date>=javascript:gs.nowDateTime()^ORDERBYend_date&sysparm_fields=sys_id,number,short_description,state,vendor,start_date,end_date,contract_value,renewal_date,contract_type&sysparm_limit=15&sysparm_display_value=true
```

### Step 7: Assemble Executive Planning Summary

Compile all data into a structured meeting summary:

```
=== PLANNING MEETING SUMMARY ===
Date: 2026-03-19 | Prepared for: Portfolio Governance Board

DEMAND PIPELINE:
  Total Active Demands: 24
  New (Awaiting Screening): 8
  In Screening: 5
  Qualified: 6
  In Assessment: 3
  Approved (Awaiting Funding): 2

  Top Demands by Strategic Score:
  1. DMD0045001 - AI-Powered Customer Analytics (Score: 92, Cost: $380K)
  2. DMD0045002 - Mobile Self-Service Portal (Score: 88, Cost: $220K)
  3. DMD0045003 - Data Center Consolidation (Score: 85, Cost: $1.2M)

  Demands by Business Unit:
  - Engineering: 9 demands ($2.1M estimated)
  - Sales: 7 demands ($890K estimated)
  - Operations: 5 demands ($1.4M estimated)
  - HR: 3 demands ($340K estimated)

PORTFOLIO STATUS:
  Portfolio: FY2026 Technology Investments
  Total Budget: $12,000,000
  Allocated: $9,400,000 (78.3%)
  Remaining: $2,600,000
  Active Projects: 14
  Health: Green (9) | Yellow (3) | Red (2)

SPRINT PLANNING SUMMARY (Team Alpha):
  Sprint: Sprint 2026-04-A (Apr 1-14)
  Capacity: 40 story points
  Committed: 37 story points (92.5% utilization)
  Stories: 12 committed (8 Enhancement, 3 Defect, 1 Spike)
  Blocked Stories: 1 (STY0014523 - awaiting API access)
  Acceptance Criteria Coverage: 11 of 12 stories (91.7%)

RELEASE READINESS - Release 2.4:
  Target Date: 2026-04-30
  Total Stories: 48
  Complete: 31 (64.6%)
  In Progress: 10 (20.8%)
  Not Started: 7 (14.6%)
  Story Points: 189 total, 121 completed
  Risk: MEDIUM - 7 stories unstarted with 6 weeks remaining

KEY DECISIONS NEEDED:
  1. Approve DMD0045001 (AI Analytics) - $380K, aligns with Strategy Theme A
  2. Determine go/no-go for Release 2.4 on April 30
  3. Reallocate $150K from completed PRJ0010038 to underfunded PRJ0010055

RECOMMENDATIONS:
  1. [APPROVE] DMD0045001 - Highest strategic score, budget available
  2. [DEFER] DMD0045003 - $1.2M exceeds remaining budget, defer to Q3
  3. [ESCALATE] 2 Red projects require executive intervention
  4. [PLAN] Schedule Release 2.4 go/no-go review for April 15
```

## Tool Usage

### MCP Tools Reference

| Tool | When to Use |
|------|-------------|
| `SN-Query-Table` | Query bounded demand, project, sprint, story, release, and contract fields; calculate summaries locally |
| `SN-Get-Record` | Retrieve a single portfolio, program, or project record |
| `SN-Natural-Language-Search` | Natural language search for planning items (e.g., "find approved demands for engineering") |

### REST API Reference

| Endpoint | Method | Purpose |
|----------|--------|---------|
| `/api/now/table/dm_demand` | GET | Query demand pipeline and intake records |
| `/api/now/table/pm_portfolio` | GET | Portfolio budget and investment data |
| `/api/now/table/pm_program` | GET | Program-level status aggregation |
| `/api/now/table/pm_project` | GET | Project status and financial data |
| `/api/now/table/rm_sprint` | GET | Sprint planning and capacity data |
| `/api/now/table/rm_story` | GET | Story commitment and completion status |
| `/api/now/table/rm_release` | GET | Release planning and readiness data |
| `/api/now/table/ast_contract` | GET | Contract timelines and dependencies |
| `/api/now/table/planned_task` | GET | Planned task data for schedule analysis |

## Best Practices

- **Prepare Before Meetings:** Generate summaries at least 1 hour before governance meetings to allow review time
- **Include Decision Points:** Every summary should clearly state what decisions are needed from the audience
- **Show Trends:** Compare current metrics against the previous period to highlight improvements or deterioration
- **Use Strategic Alignment Scores:** When presenting demands, always include strategic alignment to guide prioritization
- **Separate Facts from Recommendations:** Clearly distinguish data-driven observations from subjective recommendations
- **Limit Scope per Summary:** Focus on one planning context (portfolio, program, sprint, or release) per summary to avoid information overload
- **Track Decisions:** Record meeting outcomes as updates on demand or project records for audit trail
- **Validate Budget Data:** Cross-check portfolio budget figures against finance systems before presenting to executives

## Troubleshooting

### "Demand records not showing expected fields"

**Cause:** Custom demand forms may have different field names or additional fields
**Solution:** Query `sys_dictionary` with `name=dm_demand` to discover the actual field names in your instance. Check for custom fields prefixed with `u_`.

### "Portfolio budget does not match project sum"

**Cause:** Not all projects may be linked to the portfolio, or some projects span multiple portfolios
**Solution:** Verify each project's `portfolio` field. Also check for demands approved but not yet converted to projects.

### "Sprint capacity shows zero"

**Cause:** Capacity may need to be manually set or calculated from team member availability
**Solution:** Check the sprint record's `capacity` field. If blank, calculate from team availability: number of team members multiplied by average velocity per person.

### "Release stories count is incomplete"

**Cause:** Stories may be linked to sprints in the release but not directly to the release itself
**Solution:** Query stories via `sprint.release=[release_sys_id]` rather than a direct release field on the story.

## Examples

### Example 1: Quarterly Portfolio Review Summary

**Scenario:** Prepare a summary for the Q2 portfolio governance board meeting.

```
Tool: SN-Query-Table
Parameters:
  table_name: pm_portfolio
  query: short_descriptionLIKEFY2026^state=2
  fields: sys_id,number,short_description,total_budget,allocated_budget,remaining_budget,portfolio_manager
  limit: 5
```

**Output:**
```
Q2 2026 PORTFOLIO REVIEW
Portfolio: FY2026 Technology Investments

INVESTMENT SUMMARY:
  Total Budget: $12.0M | Allocated: $9.4M | Available: $2.6M
  Projects Active: 14 | Completing This Quarter: 3 | Starting: 2

QUARTER HIGHLIGHTS:
  - 3 projects on track for Q2 completion (PRJ0010038, PRJ0010041, PRJ0010044)
  - 2 new projects approved from demand pipeline (DMD0045005, DMD0045008)
  - Net budget savings of $340K from completed projects

DEMAND BACKLOG:
  - 5 qualified demands awaiting funding ($1.8M total estimated cost)
  - 2 high-priority demands can be funded from remaining budget

PROPOSED Q2 ACTIONS:
  1. Fund DMD0045001 AI Analytics ($380K from available budget)
  2. Defer DMD0045003 Data Center Consolidation to FY2027 planning
  3. Reallocate $340K savings to PRJ0010055 API Gateway (currently underfunded)
```

### Example 2: Sprint Planning Pre-Read

```
Tool: SN-Query-Table
Parameters:
  table_name: rm_story
  query: sprint.short_description=Sprint 2026-04-A^product.sys_id=[product_sys_id]
  fields: number,short_description,story_points,state,priority,assigned_to,blocked,acceptance_criteria
  limit: 30
```

**Output:**
```
SPRINT PLANNING PRE-READ
Sprint: 2026-04-A (Apr 1-14) | Team: Alpha
Velocity (3-sprint avg): 34 pts | Capacity: 40 pts

PROPOSED COMMITMENT (37 pts):
  P1 - Must Have:
    STY0014520 - Payment retry logic (8 pts, assigned: Dev A)
    STY0014521 - Invoice PDF generation (5 pts, assigned: Dev B)
    STY0014522 - Email notification templates (3 pts, assigned: Dev C)

  P2 - Should Have:
    STY0014523 - Third-party API integration (8 pts, BLOCKED - awaiting access)
    STY0014524 - Dashboard widget for sales (5 pts, assigned: Dev A)
    STY0014525 - Bulk export functionality (3 pts, assigned: Dev D)

  P3 - Nice to Have:
    STY0014526 - UI polish for settings page (2 pts, assigned: Dev C)
    STY0014527 - Logging improvements (3 pts, assigned: Dev B)

RISKS:
  - STY0014523 blocked on vendor API credentials (escalated Mar 15)
  - Dev D at 80% capacity due to support rotation

READINESS CHECKLIST:
  [YES] All P1 stories have acceptance criteria
  [YES] No unresolved dependencies for P1 stories
  [NO]  STY0014523 still blocked - may need to swap with backlog item
  [YES] Team capacity confirmed with all members
```

## Related Skills

- `spm/agile-story-generation` - Generate user stories from requirements
- `spm/acceptance-criteria` - Write acceptance criteria for stories
- `spm/project-insights` - Project health and performance metrics
- `spm/feedback-summarization` - Retrospective and feedback analysis
- `reporting/executive-dashboard` - Build executive dashboards

