Agent Skill · MotherDuck

motherduck-build-dashboard

Build a live MotherDuck dashboard as a Dive. Use when composing one shareable KPI, trend, and breakdown story over existing MotherDuck data, especially when the result should stay a saved workspace artifact rather than a full application.

Provider: MotherDuck Path in repo: plugins/motherduck-skills-claude/skills/motherduck-build-dashboard/SKILL.md

Skill body

Build an Analytics Dashboard

Use this skill when the user wants a multi-section Dive-backed dashboard with a clear analytical story, not just a single chart.

This is a use-case skill. It orchestrates motherduck-explore, motherduck-query, and motherduck-create-dive; use motherduck-duckdb-sql as supporting reference when exact syntax matters.

Start Here: Is a MotherDuck Server Active?

Always determine this before designing the dashboard.

The discovered data model should determine the dashboard story and sections.

If no server is active, ask for a table list or schema excerpt and make the assumptions visible.

Use This Skill When

For lower-level Dive mechanics, use motherduck-create-dive.

Dashboard Defaults

Workflow

  1. Confirm whether live MotherDuck discovery is available.
  2. Explore the real schema and metrics first.
  3. Pick the dashboard story.
  4. Write one query per section.
  5. Compose the dashboard in a Dive. When MotherDuck MCP is available, call get_dive_guide before save_dive or update_dive.
  6. Save only after preview iteration is approved.

When this skill produces a native DuckDB (md:) connection, watermark it with custom_user_agent=agent-skills/2.3.0(harness-<harness>;llm-<llm>). If metadata is missing, fall back to harness-unknown and llm-unknown.

Output

The output of this skill should be:

If the caller explicitly asks for structured JSON, return raw JSON only with no Markdown fences or prose before/after it. This is mainly for automated tests, regression checks, or downstream tooling that needs a stable machine-readable shape. Normal human-facing use of the skill can stay in prose unless JSON is explicitly requested.

Use this exact top-level shape when JSON is requested:

{
  "summary": {},
  "assumptions": [],
  "implementation_plan": [],
  "validation_plan": [],
  "risks": []
}

References

Runnable Artifact

Run it with:

uv run --with duckdb python skills/motherduck-build-dashboard/artifacts/dashboard_story_example.py

Run the same artifact against a temporary MotherDuck database:

MOTHERDUCK_ARTIFACT_USE_MOTHERDUCK=1 \
uv run --with duckdb python skills/motherduck-build-dashboard/artifacts/dashboard_story_example.py

Validate the TypeScript companion artifact:

uv run scripts/test_typescript_artifacts.py

Skill frontmatter

argument-hint: dashboard-goal license: MIT