Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问clear审计通过

reporting-dashboards报告仪表板

Agent Skill

reporting-dashboards 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,860

周安装

76

GitHub Stars

63

下载量

602
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:reporting-dashboards(报告仪表板)
来源仓库:https://github.com/groeimetai/snow-flow
仓库路径:skills/reporting-dashboards
安装命令:
npx skills add https://github.com/groeimetai/snow-flow --skill reporting-dashboards
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/groeimetai/snow-flow --skill reporting-dashboards

简介

reporting-dashboards 用于查找、检索和筛选相关信息。

  • 它适合根据关键词或任务场景快速定位候选结果。
  • 可在 Codex、Claude、Cursor、Gemini CLI 中使用。
  • 安装命令为 npx skills add https://github.com/groeimetai/snow-flow --skill reporting-dashboards。
  • 建议确认是否会触发联网或命令执行。

SKILL.md

Reporting & Dashboards for ServiceNow

ServiceNow provides comprehensive reporting capabilities for data visualization and business intelligence.

Report Types

TypeUse CaseExample
ListTabular dataIncident list
BarCategory comparisonIncidents by priority
Pie/DonutDistributionTickets by category
Line/AreaTrends over timeWeekly ticket volume
Pivot TableMulti-dimensionalPriority x Category
Single ScoreKPI valueOpen P1 count
GaugeProgress/thresholdSLA compliance

Creating Reports

List Report (ES5)

// Create list report
var report = new GlideRecord("sys_report")
report.initialize()

report.setValue("title", "Open High Priority Incidents")
report.setValue("table", "incident")
report.setValue("type", "list")

// Filter condition
report.setValue("filter", "active=true^priority<=2")

// Columns
report.setValue("field", "number,short_description,priority,state,assigned_to,opened_at")

// Sorting
report.setValue("orderby", "priority")
report.setValue("order", "ASC")

// Grouping (optional)
report.setValue("group", "assignment_group")

// Access control
report.setValue("user", gs.getUserID())
report.setValue("roles", "itil")

report.insert()

Bar Chart Report (ES5)

// Create bar chart
var barReport = new GlideRecord("sys_report")
barReport.initialize()

barReport.setValue("title", "Incidents by Priority")
barReport.setValue("table", "incident")
barReport.setValue("type", "bar")

// Aggregation
barReport.setValue("aggregate", "COUNT")
barReport.setValue("group", "priority")

// Filter
barReport.setValue("filter", "active=true")

// Chart options
barReport.setValue("show_data_label", true)
barReport.setValue("show_legend", true)
barReport.setValue("chart_color", "blue")

barReport.insert()

Trend Report (ES5)

// Create trend line chart
var trendReport = new GlideRecord("sys_report")
trendReport.initialize()

trendReport.setValue("title", "Incident Volume - Last 30 Days")
trendReport.setValue("table", "incident")
trendReport.setValue("type", "line")

// Time-based grouping
trendReport.setValue("trend", "opened_at")
trendReport.setValue("trend_interval", "day")

// Aggregation
trendReport.setValue("aggregate", "COUNT")

// Time filter
var thirtyDaysAgo = new GlideDateTime()
thirtyDaysAgo.addDaysLocalTime(-30)
trendReport.setValue("filter", "opened_at>=" + thirtyDaysAgo.getValue())

// Stacked by category
trendReport.setValue("stack", "priority")

trendReport.insert()

Pivot Table (ES5)

// Create pivot table
var pivotReport = new GlideRecord("sys_report")
pivotReport.initialize()

pivotReport.setValue("title", "Incidents: Priority vs Category")
pivotReport.setValue("table", "incident")
pivotReport.setValue("type", "pivot")

// Dimensions
pivotReport.setValue("group", "priority") // Rows
pivotReport.setValue("stack", "category") // Columns

// Aggregation
pivotReport.setValue("aggregate", "COUNT")

// Filter
pivotReport.setValue("filter", "active=true")

// Show totals
pivotReport.setValue("show_row_total", true)
pivotReport.setValue("show_column_total", true)

pivotReport.insert()

Dashboards

Creating Dashboard (ES5)

// Create dashboard
var dashboard = new GlideRecord("sys_dashboard")
dashboard.initialize()

dashboard.setValue("name", "IT Service Desk Dashboard")
dashboard.setValue("description", "Key metrics for service desk operations")

// Layout
dashboard.setValue("layout", "3") // 1, 2, 3, or 4 columns

// Access
dashboard.setValue("view_as", "desktop")
dashboard.setValue("roles", "itil")

var dashboardSysId = dashboard.insert()

Adding Widgets to Dashboard (ES5)

// Add report widget
function addReportToDashboard(dashboardId, reportId, row, column, width, height) {
  var widget = new GlideRecord("sys_dashboard_widget")
  widget.initialize()
  widget.setValue("dashboard", dashboardId)
  widget.setValue("report", reportId)
  widget.setValue("row", row)
  widget.setValue("column", column)
  widget.setValue("width", width || 1) // columns wide
  widget.setValue("height", height || 1) // rows tall
  return widget.insert()
}

// Layout example (3-column dashboard)
// Row 0: Three single-score cards
addReportToDashboard(dashboardSysId, openIncidentsReport, 0, 0, 1, 1)
addReportToDashboard(dashboardSysId, avgResolutionReport, 0, 1, 1, 1)
addReportToDashboard(dashboardSysId, slaComplianceReport, 0, 2, 1, 1)

// Row 1: Full-width trend chart
addReportToDashboard(dashboardSysId, trendReport, 1, 0, 3, 2)

// Row 2: Two charts side by side
addReportToDashboard(dashboardSysId, priorityPieChart, 3, 0, 1, 2)
addReportToDashboard(dashboardSysId, categoryBarChart, 3, 1, 2, 2)

Scheduled Reports

Create Scheduled Report (ES5)

// Schedule report for email delivery
var schedule = new GlideRecord("sys_report_schedule")
schedule.initialize()

schedule.setValue("report", reportSysId)
schedule.setValue("name", "Weekly Incident Summary")

// Recipients
schedule.setValue("recipients", "it-managers@company.com")
schedule.setValue("recipient_users", managersSysIds) // comma-separated
schedule.setValue("recipient_groups", itManagersGroup)

// Schedule (cron)
schedule.setValue("run", "weekly")
schedule.setValue("day", "monday")
schedule.setValue("time", "08:00:00")

// Format
schedule.setValue("format", "pdf") // pdf, xlsx, csv

// Email settings
schedule.setValue("subject", "Weekly IT Incident Summary")
schedule.setValue("message", "Please find attached the weekly incident summary report.")

schedule.setValue("active", true)

schedule.insert()

Advanced Reporting

Report with Formula Field (ES5)

// Report with calculated field
var report = new GlideRecord("sys_report")
report.initialize()

report.setValue("title", "SLA Breach Analysis")
report.setValue("table", "task_sla")
report.setValue("type", "bar")

// Custom formula aggregation
report.setValue("aggregate", "SUM")
report.setValue("field", "has_breached") // Boolean to count

// Percentage calculation
report.setValue("formula", "CASE WHEN {has_breached} = 1 THEN 1 ELSE 0 END")

report.setValue("group", "sla.name")

report.insert()

Drill-Down Report (ES5)

// Create report with drill-down capability
var summaryReport = new GlideRecord("sys_report")
summaryReport.initialize()

summaryReport.setValue("title", "Incidents by Assignment Group")
summaryReport.setValue("table", "incident")
summaryReport.setValue("type", "bar")
summaryReport.setValue("aggregate", "COUNT")
summaryReport.setValue("group", "assignment_group")

// Enable drill-down
summaryReport.setValue("is_drillable", true)
summaryReport.setValue("drill_down_report", detailReportSysId)

summaryReport.insert()

Export & Integration

Export Report Data (ES5)

// Export report to CSV
function exportReportToCSV(reportSysId) {
  var report = new GlideRecord("sys_report")
  if (!report.get(reportSysId)) return null

  var ga = new GlideAggregate(report.getValue("table"))

  // Apply filter
  var filter = report.getValue("filter")
  if (filter) {
    ga.addEncodedQuery(filter)
  }

  // Apply grouping
  var groupField = report.getValue("group")
  if (groupField) {
    ga.addAggregate("COUNT")
    ga.groupBy(groupField)
  }

  ga.query()

  var results = []
  while (ga.next()) {
    results.push({
      group: ga.getValue(groupField),
      count: ga.getAggregate("COUNT"),
    })
  }

  return results
}

REST API for Reports

// Get report data via REST
// GET /api/now/stats/{table}?sysparm_query={filter}&sysparm_count=true&sysparm_group_by={field}

// Example: Incidents by priority
// GET /api/now/stats/incident?sysparm_query=active=true&sysparm_count=true&sysparm_group_by=priority

MCP Tool Integration

Available Reporting Tools

ToolPurpose
snow_create_reportCreate report
snow_create_dashboardCreate dashboard
snow_create_scheduled_reportSchedule delivery
snow_discover_reporting_tablesFind available tables
snow_discover_report_fieldsGet field options
snow_export_report_dataExport data
snow_create_data_visualizationCreate chart

Example Workflow

// 1. Discover available tables
var tables = await snow_discover_reporting_tables({
  category: "itsm",
})

// 2. Get fields for table
var fields = await snow_discover_report_fields({
  table: "incident",
})

// 3. Create report
var reportId = await snow_create_report({
  title: "Incident Overview",
  table: "incident",
  type: "bar",
  group: "priority",
  aggregate: "COUNT",
  filter: "active=true",
})

// 4. Create dashboard
var dashboardId = await snow_create_dashboard({
  name: "Service Desk Overview",
  layout: "3-column",
})

// 5. Add report to dashboard
await snow_add_dashboard_widget({
  dashboard: dashboardId,
  report: reportId,
  row: 0,
  column: 0,
})

// 6. Schedule report
await snow_create_scheduled_report({
  report: reportId,
  frequency: "weekly",
  recipients: "managers@company.com",
  format: "pdf",
})

Best Practices

  1. Clear Titles - Descriptive, action-oriented names
  2. Appropriate Type - Match chart type to data
  3. Filter Wisely - Default to relevant subset
  4. Color Meaning - Consistent color conventions
  5. Mobile Friendly - Test on smaller screens
  6. Performance - Limit rows, use aggregations
  7. Access Control - Role-based visibility
  8. Regular Refresh - Keep data current

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

29.59%
按下载量换算178

Antigravity

22.08%
按下载量换算133

Gemini CLI

15.32%
按下载量换算92

windsurf

11.41%
按下载量换算69

Codex

7.95%
按下载量换算48

OpenCode

3.38%
按下载量换算20

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills