agentsclimarketplace

Chatbi mvp

Skill yugef3h/leo-skills/skills/chatbi-mvp

Use when building a ChatBI (conversational BI) MVP from scratch, need to understand the 5 core capabilities (NL2SQL, multi-turn dialogue, RAG knowledge base, data visualization, intelligent attribution), or want to reference SuperSonic's architecture to guide implementationFrom its SKILL.md

Install
npx -y skills add yugef3h/leo-skills --skill chatbi-mvp

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 11 stars11 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.9 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

ChatBI MVP Architecture

Overview

Build a ChatBI system: user asks questions in natural language → system generates SQL → executes → displays interactive charts with AI insights.

Architecture: NL → S2SQL (semantic SQL / MQL) → Physical SQL. LLM generates S2SQL using business terms (bizName), a deterministic Translator converts to physical SQL. LLM never touches physical table/column names.

Tech stack assumed: React (frontend) + Python/FastAPI (backend). Architecture is language-agnostic.

Five Core Layers

User: "最近7天各分区播放量怎么样"
         │
         ▼
┌─ Layer 3: RAG ────────────────┐  Trie + Embedding recall
│  "播放量" → views (metric)     │  Identify schema elements
│  "分区"   → category (dim)     │  in user query
│  "最近7天" → DateConf{-7d}     │
└───────────────┬───────────────┘
                │
                ▼
┌─ Layer 1: NL → S2SQL → SQL ──┐  5-stage pipeline
│  MAPPING → PARSING →          │  LLM generates S2SQL (bizName)
│  CORRECTING → TRANSLATING     │  Translator → physical SQL
│  → EXECUTE                    │
└───────────────┬───────────────┘
                │
        ┌───────┴───────┐
        ▼               ▼
┌─ Layer 2 ───┐  ┌─ Layer 5 ──────────┐
│ Multi-turn   │  │ Attribution         │
│ Context save │  │ LLM summary + YoY   │
│ + LLM rewrite│  │ + drill-down recs   │
└──────────────┘  └─────────────────────┘
        │               │
        └───────┬───────┘
                ▼
┌─ Layer 4: Visualization ──────┐
│  Auto chart type → ECharts    │
│  User can toggle chart/table  │
│  Drill-down → re-query        │
└───────────────────────────────┘

File Index

This skill is split into focused files. Read in order, or jump to what you need.

Core Architecture (read first)

FileContentsWhen to read
data-models.mdAll shared POJOs: SemanticSchema, SchemaMapInfo, SemanticParseInfo, QueryResultAlways start here — these connect every layer
nl2sql-pipeline.mdLayer 1 in detail: 5-stage pipeline, prompt template, self-consistency, corrector chain, S2SQL→physical translatorCore of the system
wiring.mdHow all layers connect: full request flow, plugin registration, DB tablesWhen you need to see the big picture

Supporting Layers

FileContentsWhen to read
layers-2-3-5.mdMulti-turn dialogue (Layer 2), RAG knowledge base (Layer 3), Attribution analysis (Layer 5)After understanding Layer 1
visualization.mdChart auto-classification, ECharts configs, chart type toggle, interaction patterns (Layer 4)Frontend implementation

Implementation Guides

FileContentsWhen to read
data-generation.mdHow to generate demo data with Faker + Pandas + SQLite, semantic model YAML, few-shot exemplarsBefore you start coding
frontend-interaction.mdComplete frontend state machine, component tree, API calls, drill-down/metric-switch/date-filter flowsFrontend implementation
bilibili-example.mdFull end-to-end: B站 creator analytics, from data generation to chart display, trace one queryWhen you want a concrete example
ui-design-system.mdCSS variables, color palette, typography, component recipes, shadows, ECharts themeWhen building UI

Planning

FileContentsWhen to read
mvp-plan.md4-week MVP scope, SuperSonic source code reference, common pitfalls, Python+React tech stack recommendationsProject planning

Getting Started

First time: Read files in this order:

  1. data-models.md — understand the data structures
  2. nl2sql-pipeline.md — understand the core engine
  3. bilibili-example.md — see a concrete example end-to-end
  4. wiring.md — see how everything connects

Starting to code: 5. data-generation.md — generate your demo data 6. mvp-plan.md — follow the 4-week plan 7. ui-design-system.md — copy CSS variables into your project

Implementing specific layers:

  • layers-2-3-5.md — for multi-turn, RAG, or attribution
  • visualization.md — for charts
  • frontend-interaction.md — for frontend state machine and components

Core Principles

  1. Semantic layer isolation: LLM generates S2SQL (bizName), NEVER physical SQL. The Translator is deterministic.
  2. Plugin chain architecture: Each layer is a chain of plugins registered in config, executed sequentially. Add/remove plugins without touching core code.
  3. Dual strategy everywhere: Rule-based (fast, deterministic) first → LLM-based (flexible) fallback. Applies to parsing, correction, and mapping.
  4. Full context persistence: Save the entire SemanticParseInfo (not just query text) after each turn. Include history SQL in multi-turn rewrite prompt.
  5. User can always override: Chart type auto-selected but user can toggle. Filters auto-detected but user can adjust.

Reference Implementation

SuperSonic is the reference architecture. See mvp-plan.md for a source code file map to key classes.

What ships with it: 11 files

110.2 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.