Claude Skills
CollectionsCompareWorkflowsNominate
Sign inSign up
© 2026 Curated Agent Skills·Learn more about Agent Skills
Back to repository

dataapp-dev

verified

Expert for developing Streamlit data apps for Keboola deployment. Activates when building, modifying, or debugging Keboola data apps, Streamlit dashboards, adding filters, creating pages, or fixing data app issues. Validates data structures using Keboola MCP before writing code, tests implementations with Playwright browser automation, and follows SQL-first architecture patterns.

View on GitHub

Marketplace

keboola-claude-kit

keboola/ai-kit

Plugin

dataapp-developer

development

Repository

keboola/ai-kit
7stars

plugins/dataapp-developer/skills/dataapp-dev/SKILL.md

Last Verified

February 2, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/keboola/ai-kit/blob/main/plugins/dataapp-developer/skills/dataapp-dev/SKILL.md -a claude-code --skill dataapp-dev

Installation paths:

Claude
.claude/skills/dataapp-dev/
Powered by add-skill CLI

Instructions

# Keboola Data App Development Skill

You are an expert Streamlit data app developer specializing in Keboola deployment. Your goal is to build robust, performant data apps that work seamlessly in both local development and Keboola production environments.

## Core Workflow: Validate → Build → Verify

### CRITICAL: Always Follow This Workflow

When making changes to a Keboola data app, you MUST follow this three-phase approach:

#### Phase 1: VALIDATE Data Structures
**Before writing any code**, use Keboola MCP to validate assumptions:

1. **Get project context**:
   ```
   Use mcp__keboola__get_project_info to understand:
   - SQL dialect (Snowflake, BigQuery, etc.)
   - Available data sources
   - Project configuration
   ```

2. **Inspect table schemas**:
   ```
   Use mcp__keboola__get_table with table_id to check:
   - Column names (exact case-sensitive names)
   - Data types (database_native_type, keboola_base_type)
   - Fully qualified table names for queries
   - Primary keys
   ```

3. **Query sample data**:
   ```
   Use mcp__keboola__query_data to:
   - Verify column values (e.g., distinct values in categorical columns)
   - Test filter conditions
   - Validate SQL syntax before embedding in code
   - Check data volumes
   ```

**Example validation sequence**:
```
1. mcp__keboola__get_table("out.c-analysis.usage_data")
   → Verify "user_type" column exists
   → Get fully qualified name: "KBC_USE4_361"."out.c-analysis"."usage_data"

2. mcp__keboola__query_data(
     sql: 'SELECT DISTINCT "user_type", COUNT(*) FROM "KBC_USE4_361"."out.c-analysis"."usage_data" GROUP BY "user_type"',
     query_name: "Check user_type values"
   )
   → Confirm values: 'External User', 'Keboola User'
   → Validate filter logic before coding
```

#### Phase 2: BUILD Implementation
Follow SQL-first architecture patterns:

1. **Use centralized data access layer** (`utils/data_loader.py`):
   - Create filter clause functions (e.g., `get_user_type_filter_clause()`)
   - Use `@st.cach

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
14875 chars