Skip to content
cccskills
FreePublished on GitHub

sls-dashboard-builder

当任务需要创建、修改、扩展或重组阿里云 SLS 的 dashboard JSON 或可导入的大盘配置时使用;尤其适用于线上大盘、强对比的分析看板、已校验的查询包,或需要专业中文标签与指标定义的运维向大盘。

The English summary is being prepared. Showing the original description.

See how to install

Files included (62)

  • SKILL.md11.9 KB
  • examples/charts/aggpro/流图-基础流图.json17.0 KB
  • examples/charts/barpro/柱状图-基础柱状图.json12.4 KB
  • examples/charts/barpro/柱状图-标签多种形态.json12.9 KB
  • examples/charts/burgauge/计量图-刻度盘.json10.0 KB
  • examples/charts/burgauge/计量图-基础计量图.json34.3 KB
  • examples/charts/crosstable/交叉表-基础交叉表.json25.2 KB
  • examples/charts/filter/基础过滤器(场景一).json5.5 KB
  • examples/charts/filter/基础过滤器(场景三).json6.4 KB
  • examples/charts/filter/基础过滤器(场景二).json5.6 KB
  • examples/charts/filter/基础过滤器(场景四).json10.9 KB
  • examples/charts/histogram/直方图-基础直方图.json19.0 KB
  • examples/charts/histogram/直方图-多维度堆叠和合成.json8.1 KB
  • examples/charts/linepro/线图-最大值、弹性最大值.json14.0 KB
  • examples/charts/linepro/线图-最小值、弹性最小值.json14.1 KB
  • examples/charts/linepro/线图-堆叠.json10.9 KB
  • examples/charts/linepro/线图-多轴图.json13.2 KB
  • examples/charts/linepro/线图-大数据.json3.6 KB
  • examples/charts/linepro/线图-数据补全.json14.1 KB
  • examples/charts/linepro/线图-时序模式.json7.9 KB
  • examples/charts/linepro/线图-时间范围.json7.5 KB
  • examples/charts/linepro/线图-普通线图.json23.7 KB
  • examples/charts/linepro/线图-线条形状.json12.0 KB
  • examples/charts/linepro/线图-阈值.json7.7 KB
  • examples/charts/map/地图-世界地图.json6.8 KB
  • examples/charts/map/地图-中国地图.json17.9 KB
  • examples/charts/map/地图-热力图.json4.6 KB
  • examples/charts/map/地图-高德地图.json4.6 KB
  • examples/charts/markdownpro/MarkdownPro.json42.1 KB
  • examples/charts/piepro/饼图-基础饼图.json11.8 KB
  • examples/charts/piepro/饼图-多查询合并.json10.1 KB
  • examples/charts/piepro/饼图-环形图和南丁玫瑰图.json7.6 KB
  • examples/charts/radarchart/雷达图-基础雷达图.json12.4 KB
  • examples/charts/scatterchart/散点图-基础散点图.json17.2 KB
  • examples/charts/scatterchart/散点图-阈值.json23.7 KB
  • examples/charts/statpro/统计图-基础统计图.json70.3 KB
  • examples/charts/statpro/统计图-对比值模式.json13.0 KB
  • examples/charts/tablepro/表格-值映射.json8.4 KB
  • examples/charts/tablepro/表格-基础表格.json17.0 KB
  • examples/charts/tablepro/表格-行列转换.json6.6 KB
  • examples/charts/tablepro/表格-进度条.json24.0 KB
  • examples/charts/tablepro/表格-迷你图.json14.3 KB
  • examples/charts/tablepro/表格-高亮显示.json24.3 KB
  • examples/charts/topologypro/拓扑图-不同布局方式.json16.1 KB
  • examples/charts/topologypro/拓扑图-基础拓扑图.json23.1 KB
  • examples/charts/topologypro/拓扑图-显示节点 ID.json10.7 KB
  • examples/charts/topologypro/拓扑图-连线指标.json12.5 KB
  • examples/dashboards/legacy/Data Transformation Troubleshooting.json25.1 KB
  • examples/dashboards/legacy/Nginx访问日志.json27.5 KB
  • examples/dashboards/legacy/数据加工诊断.json25.0 KB
  • examples/dashboards/legacy/老图访问.json1.4 KB
  • examples/dashboards/modern/ai-agent-business-cost.json24.5 KB
  • examples/dashboards/modern/ai-agent-retention-activity.json21.0 KB
  • references/chart-templates.md20.3 KB
  • references/chart-types.md2.5 KB
  • references/datasources.md5.6 KB
  • references/layout.md2.1 KB
  • references/query-syntax.md15.6 KB
  • references/schema.md3.2 KB
  • references/task-driven-workflow.md4.1 KB
  • references/view-recipes.md5.7 KB
  • scripts/render_report.py63.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

SLS Dashboard Builder

创建或修改完整、可导入的阿里云 SLS dashboard JSON。

必备运维技能: 若任务涉及真实 Project 或大盘,且需要通过 aliyun sls ... 查看或复用线上大盘,必须基于最新线上 JSON 操作。

总览

本技能以任务为先,不以「先选图表模板」为先。
对线上大盘,还以当前线上状态为先。

若用户已提供以下任意一项或多项,不要从随意图表模板起手:

  • 已有 dashboard JSON
  • 大盘 URL 或大盘名称
  • 指标需求或查询方案
  • 已校验的查询结果文件
  • 明确的「做这 2 张大盘」之类需求说明

上述情况下应先还原任务结构,再把每个已校验的视图映射到 SLS 图表,最后拼出 dashboard JSON。
若大盘已在线存在,应在最新线上 JSON 上打补丁,而不是推送更早的本地草稿。

何时使用

适用于:

  • 新建 dashboard JSON
  • 修改、扩展、重排已有 dashboard
  • 将一份分析 / 监控需求包落实为 1 张或多张 dashboard
  • 生成可直接通过 SLS API 导入的 dashboard 配置
  • 参考现有 dashboard 的成熟写法做最小改造

不适用于:

  • 单纯解释 SQL / PromQL
  • 复杂前端可视化开发
  • 非 SLS dashboard 配置

默认行为

  • 默认输出形态:api-ready
  • 新建大盘:现代格式(modern)
  • 已有老格式大盘:保持 legacy,仅做最小补丁
  • 用户提供了现有 JSON:保留未知字段与未改动的图表
  • 未明确要求发布,或用户尚未确认预览效果前,只生成或修改本地 dashboard JSON,不 create/update 线上大盘
  • create/update 线上大盘时,以用户确认后的 dashboard JSON 为准
  • 发布到 SLS 时使用插件命令 aliyun sls update-dashboard / create-dashboard,显式传 --display-name、--charts、--description、--attribute remark=<具体修改原因> type=grid update=<ms> version=<version>;不要用 CamelCase OpenAPI 入口 UpdateDashboard --body-file 发布。
  • 公开 SLS Dashboard API 的 UpdateDashboard / aliyun sls update-dashboard 是覆盖式更新当前大盘;attribute.version/update/remark 只影响当前版本展示元数据,不会自动追加控制台「历史版本」归档。
  • 用户说「先给一版」:默认 single-dashboard-mvp
  • 用户提供完整任务包或设计文档:默认 single-dashboard-full
  • 用户明确要求多张大盘:使用 multi-dashboard-suite

模式

1. 更新已有大盘

  1. 先拉取或读取当前 JSON
  2. 复用现有结构,只改被要求的图表或布局
  3. 不相关的图表与字段保持不动

2. 创建单张大盘

适用于用户需要一张盘,包含概览、关键趋势与表格等。

3. 创建大盘套件(多张)

适用于用户需要多个决策面,例如 留存与活跃 + 业务与成本。

多张盘之间保持命名、筛选器、标题风格与版式节奏一致。

任务包工作流

当输入包含需求文档、查询方案、结果文件或参考大盘时,按以下顺序:

  1. 判定任务形态:更新、新建,还是套件
  2. 建立视图清单:指标、展示意图、project 或 logstore、时间范围、阻塞项
  3. 若有名称或 URL,优先拉取真实参考大盘
  4. 将视图归组为大盘区块,例如 概览、趋势、TOP、Cohort、钻取
  5. 按视图意图选图表配方,不按产品营销名称选
  6. 仅当图表查询确实可被过滤或可被 token 替换时才加筛选器
  7. 受阻指标写成简短 markdownpro 说明,或明确省略;绝不编造缺失的源数据
  8. 每张大盘输出完整 JSON

针对此类分析套件任务,请阅读:

  • references/task-driven-workflow.md
  • references/view-recipes.md

视图意图 → 图表配方

  • compare-card → statpro
    需要具备对比语义的 display.queryOptionMap,不能只用裸统计模板。
  • line(时间 + 数值)→ linepro
  • line(时间 + 分组 + 数值)→ 通常为 aggpro
    常见于业务或类目拆解趋势。
  • top-table → tablepro
  • cohort-table → tablepro
  • section title → dashboardrow
  • blocker、assumption 或 scope note → 短说明用 text,富文本或长说明用 markdownpro
  • filter → droplistpro
    仅当原始过滤路径中存在该 key,或查询已用 token 参数化时

工作规则

  • 使用真实 JSON type,不要用界面展示名
  • 线上补丁工作:仅以最近一次 dashboard get 结果为安全更新基线
  • 线上发布必须通过 aliyun sls update-dashboard 的结构化参数传递;attribute.update 和 attribute.version 按字符串传入,并在每次发布前更新为新值。注意这只更新当前版本元数据,不代表已创建控制台历史快照。
  • attribute.remark 必须写明本次发布的具体修改原因,例如 对齐Token使用时段分布为HH:00并修复历史版本记录;不要使用 修改图表 这类泛化文案。
  • 若用户要求 SLS 控制台「历史版本」可恢复记录,不能仅依赖公开 Dashboard API;必须先确认控制台保存流程或可用的历史版本接口,再发布。
  • chart.title 必须唯一且对正则安全
  • 用户可见标题放在 display.basicOptions.displayName,legacy 用 display.displayName
  • TopN、队列(cohort)、明细表优先 tablepro
  • 单序列或多指标趋势优先 linepro
  • 一列度量 + 一列维度的分组时间趋势优先 aggpro
  • 同比对比优先用 compare(...)、ts_compare(...);但跨表 CTE(如维表 JOIN 事件表)时 compare() 不可用——它隐式扩展时间窗口不会同步到其他 logstore 的 CTE,导致对比值为 0。此时改用 time_base(max(__time__))+ cur_agg/prev_agg 手动分窗口,且先按关联主键 GROUP BY 聚合再 JOIN 维表(减少 JOIN 行数避免超时)
  • SQL 别名应便于运维阅读;不要让 active_users、gt_5_users、scene_count 等裸英文字段名直接成为图例
  • 指标定义对理解很重要时,通过 display.documentLinkOption.documentLinks[] 补充
  • 同一张大盘上各图指标定义保持一致,尤其活跃、留存、成本、覆盖率等
  • tablepro + logstore 优先显式 SELECT ...;schema 或字段需要时用 scan
  • 参考文档按需阅读,只读最少必要部分
  • 搜索前缀 ((*)) vs *|:跨表 CTE(查询多个 logstore)时用 *| 或 (*)|;同一 logstore 内的查询用 *| 即可。((*)) 是旧写法,功能等价但可读性差
  • 预聚合 CTE 的字段可加性:sum()/count() 可加;approx_distinct() 不可加——同一实体可能跨多个 GROUP BY 组,对预聚合结果求和会膨胀。需要去重计数时必须在原始事件上 approx_distinct

输出前校验清单

输出前检查:

  • 顶层结构符合 api-ready 或 editor-ready
  • dashboardName 与每个 chart.title 符合命名规则
  • 除非用户要空壳,charts 非空
  • 每个图表具备真实 type、search、display
  • 静态组件如 dashboardrow、text 可不包含 search.chartQueries
  • 每个图表具备 xPos、yPos、width、height
  • 使用 queryOptionMap 时,字段与 SQL 结果列一致
  • 目标受众为中文运维或业务时,图例、轴标签、表头使用规范中文
  • 新改动基于最新线上大盘,而非更旧的本地副本
  • droplistpro 非装饰,必须绑定真实 key 或 token 路径
  • 分组趋势不强行塞进错误的图表家族
  • 老格式大盘不静默整体迁到现代结构
  • 使用预聚合 CTE 时,检查外层是否对 approx_distinct 结果做了 sum()——如果是,该指标需要改为在原始事件上直接去重,或从 CTE 中移除
  • 过滤条件是否在 WHERE 中而非 ON 中——如果 JOIN 条件含 OR(如 ON a = b OR a = c),追加的 AND filter 只作用于 OR 右侧,不是全局过滤
  • 若任务包含 create/update 线上大盘,确认用户已经看过本地预览或明确认可当前 JSON

上游输入

sls-dashboard-builder 不维护业务 schema、公共 CTE、业务脚本或报表产物。
当上游业务 skill 或用户提供自然语言需求、数据语义、查询方案、已有 JSON 或输出路径时,本 skill 只负责把这些输入落实为 SLS dashboard JSON、图表配置和校验建议。

Skill Commands

render-report

将 dashboard JSON 转成可本地打开的 HTML 预览。该命令是 sls-dashboard-builder 对业务 skill 暴露的通用能力;业务 skill 通过 sls-dashboard-builder.render-report 生成本地预览。

该命令只理解通用 SLS dashboard 结构,不内置业务 schema、CTE 或默认过滤值;按 dashboard JSON 中的查询配置渲染预览结果。

当前实现:

python3 .agents/skills/sls-dashboard-builder/scripts/render_report.py \
  --case-dir cases/<business-skill> <scenario>

常用参数:

  • --dashboard <path>:指定 dashboard JSON。
  • --output <path>:指定 HTML 输出路径。
  • --case-dir <path> <scenario>:按 cases/<business-skill>/output/<scenario>-dashboard.json 约定读取并输出。
  • --var key=value:替换 SQL 中的 ${{key}} token。
  • --profile test:指定 aliyun CLI profile;本交付目录默认使用 test。
  • --with-diff:和 git HEAD 中同一路径 dashboard JSON 做 SQL / 结果 diff。

参考文档索引

按需阅读:

  • references/task-driven-workflow.md — 任务包流程、套件拆分、版式节奏
  • references/view-recipes.md — 对比卡片、分组趋势、队列表、筛选与说明等配方
  • references/schema.md — 顶层结构与输出模式
  • references/chart-types.md — 真实 JSON type
  • references/datasources.md — chartQueries 形态
  • references/layout.md — 网格或自由布局规则
  • references/chart-templates.md — 基础图表模板
  • references/query-syntax.md — query 与 tokenQuery 规则

示例

按需使用:

  • examples/dashboards/modern/ — 现代格式大盘级示例(含分析套件)
  • examples/dashboards/legacy/ — 老格式大盘;仅用于 legacy 补丁场景
  • examples/charts/ — 按真实 JSON type 拆分的单图示例

常见错误

  • 任务里已有校验查询与真实大盘,却仍从空白模板起手
  • 用过期的本地 JSON 更新线上大盘,覆盖用户线上较新的修改
  • 对比卡片用裸 statpro 却无对比映射
  • 本可用一条 compare(...) 或 ts_compare(...) 表达的关系,却拆到多张图里
  • 分组时间趋势该用 aggpro 却硬塞进 linepro
  • SQL 别名留英文,图例出现 active_users、gt_5_users 等裸名
  • 同一张盘上同一指标在不同图中使用了不一致的口径
  • 阈值或业务含义不直观时省略指标说明
  • 增加未绑定任何查询路径的筛选器
  • 任务只要求小补丁却重写整张大盘
  • 在 chart.title 中使用大小写混杂或中文
  • 对预聚合 CTE 的 approx_distinct 结果在外层 sum() 求和(详见工作规则-字段可加性)
  • 跨表 CTE JOIN 时用 compare() 做同比(详见工作规则-compare 限制)
  • 过滤条件放在 ON ... OR ... AND filter 中——AND 优先级高于 OR,实际只过滤了 OR 右侧匹配的行。过滤必须放在 WHERE 中,不能追加到含 OR 的 ON 子句后面
  • LEFT JOIN + WHERE IS NOT NULL 未简化为 JOIN
  • group_concat 不保序,应改为 array_join(array_sort(array_agg(DISTINCT ...)), ', ')
  • 需求说明改了但 dashboard JSON 未同步更新

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

基于 LoongSuite Pilot / AI Coding Agent 日志生成事件洞察、组织洞察、数据质量、研发效能和 AI Native 使用类 SLS 报表时使用;包含 AI Coding 事件表语义,以及团队报表可选的部门维表、dept_user 组织关系、指标口径和公共 CTE,通常与 sls-dashboard-builder 一起使用。

The English summary is being prepared. Showing the original description.

alibaba/loongsuite-pilot223Updated Oct 22, 2026

loongsuite-pilot-ops

The English summary is being prepared. Showing the original description.

alibaba/loongsuite-pilot223Updated Oct 22, 2026

安装、卸载 LoongSuite Pilot(面向研发团队的 AI Coding 数据采集工具, 支持 Cursor / Qoder / Claude Code / Codex)。当用户提到 loongsuite-pilot 安装、 pilot 部署、Node.js 前置条件、nvm 配置、Linux 7U glibc 补丁、SSH 远程安装、 新增或追加 SLS flusher、自定义 SLS/WebTracking 上报配置时, 务必使用本 Skill——即使用户只问“怎么装”也应触发。安装完成后可在 ~/.loongsuite-pilot/skills/loongsuite-pilot-ops/references/ 目录下找到诊断排查与观测面板的详细参考文档。

The English summary is being prepared. Showing the original description.

alibaba/loongsuite-pilot223Updated Oct 22, 2026

See all skills by alibaba

Report a problem with this skill