snow-report

Generates read-only aggregate statistics and record queries on ServiceNow tables.

Updated Jul 18, 2026
One-click install
npx skills add https://github.com/dlaporte/claude-plugins --skill snow-report-dlaporte
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: snow-report
Source: https://github.com/dlaporte/claude-plugins/tree/main/plugins/servicenow/skills/snow-report
Command: npx skills add https://github.com/dlaporte/claude-plugins --skill snow-report-dlaporte

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Answering "how many", "which", and "trend" questions about ServiceNow data normally requires manual list filtering or exporting to spreadsheets. This Skill turns those questions into direct aggregate and query calls against any ServiceNow table, entirely read-only. ## Core Features & Use Cases - Aggregate Reporting: Count, group, average, and sum records with aggregate_stats — for example, open incidents per assignment group or average reassignment counts. - Trend & Top-N Analysis: Bucket records by date ranges for weekly or monthly trends, and pull capped top-N lists with query_records using ordered encoded queries. - Accurate Quoting: Uses total_matching rather than page length, maps raw choice values to labels via describe_table, and flags ACL-driven discrepancies between aggregate counts and readable rows. - Use Case: A manager asks "how many incidents were opened per week last month, broken down by assignment group?" The Skill runs one grouped aggregate_stats call with a date-window encoded query and returns labeled, honest totals. ## Quick Start Ask the assistant to report on open incidents per assignment group in ServiceNow, and it will run the appropriate aggregate query and present the grouped counts.

Frequently Asked Questions about snow-report

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I count ServiceNow incidents by assignment group?

Run aggregate_stats with table="incident", a query filter such as active=true, and group_by="assignment_group". One grouped aggregate call is preferred over running a separate count per group.

How to build a trend report of ServiceNow records over time?

Group by a date field and bucket results client-side, or run one count per time window using encoded date queries like sys_created_on>=javascript:gs.beginningOfLastMonth(). There is no built-in ratio aggregate, so percentages require two counts divided manually.

Does ServiceNow reporting work on read-only deployments?

Yes, this Skill is fully read-only and works on every deployment. It only uses aggregate_stats and query_records, which never modify records, so it is safe under read-only mode restrictions.

Why do aggregate counts differ from the rows query_records returns?

ACLs scope the rows query_records can read, so an empty list does not mean zero activity. aggregate_stats counts all matching records regardless of read access, so totals can exceed the rows visible to you.

What are the limitations of ServiceNow aggregate reporting?

There is no ratio or percentage aggregate, so percentages need two separate counts. Choice fields group by raw value rather than label, requiring describe_table to map labels, and date bucketing must be done client-side or per window.