用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Datus-ai/Datus-agent --skill superset-dashboard命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Create or update custom Datus subagents by editing the loaded agent.yml. Use when a workflow needs persistent agentic_nodes scoped to already-built tables, metrics, or reference SQL.
Bootstrap project reference SQL and metrics from a BI dashboard through an installed plugin. Use when the user asks to initialize, import, extract, or build context, reference SQL, semantic models, or metrics from a dashboard or requests dashboard bootstrap.
Build the project's vector-indexed knowledge base from files plus database metadata — optionally scoped to specific files / tables / datasources / domains. Scan the in-scope material, classify it into business domains, explore each domain's tables and docs in parallel with explore subagents (the validated-query SQL corpus is enumerated directly, no explore needed), then (after the user confirms a generation manifest — or directly, in the same turn, when the user has waived confirmation) route every artifact to its store via storage-classify, generating semantic_models / metrics / reference_sql (and mining any extra knowledge), and refresh AGENTS.md's KB index. The lightweight /init handles the AGENTS.md inventory plus file-based knowledge/memory; this skill owns the heavy vector-store generation.
正在显示 SKILL.md
基于 SOC 职业分类
| name | superset-dashboard |
| description | Create, view, and manage Superset dashboards with charts and datasets |
| tags | ["superset","dashboard","BI","visualization"] |
| version | 2.0.0 |
| user_invocable | false |
| disable_model_invocation | false |
| allowed_agents | ["gen_dashboard"] |
Use this skill to create, update, or inspect dashboards in Apache Superset.
The data you need is already in a table inside a Superset-connected database —
gen_dashboard does not move data. Your job: register the dataset, build
charts, assemble the dashboard, validate.
Follow these steps in order. Each step depends on the output of the previous one.
list_bi_databases()
Match the orchestrator-provided bi_database_name against the returned
name, and pick the corresponding id — that's your database_id for every
create_dataset call below. If no match, bail with a structured error naming
the missing DB.
create_dataset)Register a table or SQL query as a Superset dataset.
Physical dataset (table already exists in the BI database):
create_dataset(name="target_table", database_id="<from step 1>")
Virtual dataset (aggregated/transformed view over the physical table):
create_dataset(name="view_name", database_id="<from step 1>", sql="SELECT ... FROM target_table")
dataset_id — save it for Step 3.database_id must be a Superset BI database connection ID from
list_bi_databases(). Source connector IDs and Superset BI database IDs are
separate identifiers.Before calling create_dashboard, create_chart, or
add_chart_to_dashboard, make an internal layout plan. Do not expose a long
plan to the user unless asked, but use it to decide the chart count, chart
order, and expected row grouping before any dashboard or chart write calls.
The layout plan must include:
If the user provides a row-by-row layout, normalize it against these rules before creating resources. Avoid blindly creating one row per chart when charts can share a row.
create_dashboard)create_dashboard(title="Dashboard Title", description="Optional description")
Returns dashboard_id — save it for chart creation and assembly.
create_chart)Create visualization charts referencing the dataset.
create_chart(
chart_type="bar", # bar, line, pie, table, big_number, scatter
title="Chart Title",
dataset_id="<from step 2>",
dashboard_id="<from step 4>",
metrics="revenue,COUNT(order_id)",
x_axis="date_column",
dimensions="category"
)
Metrics format:
SUM(column): "revenue" -> SUM(revenue)"AVG(price)", "MAX(amount)", "MIN(cost)", "COUNT(id)""revenue,COUNT(order_id),AVG(price)"For big_number charts:
metrics="AVG(activity_count)"x_axis or dimensions needed.Dashboard design defaults:
big_number charts for headline metrics when the request includes
totals, counts, rates, averages, or sums.line only when there is a real temporal column; otherwise use bar
for comparisons and rankings.pie only for fewer than 7 categories and exactly one metric.add_chart_to_dashboard)add_chart_to_dashboard(chart_id="<from step 5>", dashboard_id="<from step 4>")
Repeat for each chart.
After assembling the dashboard, finish the run and return the created IDs.
bi-validation is a validator skill invoked automatically by
ValidationHook.on_end; do not call load_skill("bi-validation") or try to
run validator checks manually.
Publish is complete when the creation calls succeed and the dashboard / chart /
dataset identifiers are known. The framework validates reachability and wiring
after the agent run ends. Return the dashboard_id,
dataset_id, and chart_ids. Treat follow-up layout or chart rewiring as a
separate update request.
| Action | Tool | Notes |
|---|---|---|
| List dashboards | list_dashboards(search="keyword") | Filter by keyword |
| Get dashboard details | get_dashboard(dashboard_id="...") | Full info including charts |
| List charts in dashboard | list_charts(dashboard_id="...") | All charts with config |
| Get chart details | get_chart(chart_id="...") | Full chart definition and query details |
| Get chart data | get_chart_data(chart_id="...", limit=10) | Query result rows for numeric validation |
| List datasets | list_datasets() | All registered datasets |
| List BI databases | list_bi_databases() | Database connections in Superset |
update_dashboard(dashboard_id, title="New Title", description="New desc")update_chart(chart_id, title="...", chart_type="...", metrics="...", x_axis="...", description="...")MUST confirm with user before any deletion.
delete_dashboard(dashboard_id="...")delete_chart(chart_id="...")delete_dataset(dataset_id="...")gen_job
or scheduler before retrying dashboard creation.create_dataset — obtain it from
list_bi_databases, not from a source connector.