developing-with-streamlit

Provide patterns for building production-grade Streamlit applications with layout, state, and performance guidance.

Updated Feb 26, 2026
One-click install
npx skills add https://github.com/NickEsColR/gemini-rag-demo --skill developing-with-streamlit-nickescolr
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: developing-with-streamlit
Source: https://github.com/NickEsColR/gemini-rag-demo/tree/main/.agents/skills/developing-with-streamlit
Command: npx skills add https://github.com/NickEsColR/gemini-rag-demo --skill developing-with-streamlit-nickescolr

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Helps developers create, structure, and maintain production-ready Streamlit applications by providing patterns for UI layout, state management, performance, and component integration. It reduces trial-and-error and prevents common anti-patterns that cause slow reruns, brittle state handling, or poor UX. The guidance is organized so engineers can quickly route to focused sub-skills for specific tasks like dashboards, chat UIs, or custom components.

Core Features & Use Cases

  • Layout & Composition: Best practices for sidebars, columns, containers, tabs, dialogs, and responsive dashboards.
  • Performance & Reliability: Caching, fragments, forms, pre-computation, and strategies to avoid expensive reruns.
  • State & Navigation: Session state initialization patterns, multipage navigation, and sharing state across pages.
  • Components & Integration: When to use custom components, CCv2 patterns, theming, and third-party widgets.
  • Design & Theming: Visual polish, icons, badges, spacing, and creating brand-aligned themes.
  • Use Case Example: Build a multipage analytics dashboard with cached data, pinned KPI metrics, and a chat assistant backed by an LLM.

Quick Start

Use this skill to plan and implement a new Streamlit app that includes a sidebar for filters, a main dashboard with cached data and metric cards, and session-state managed multipage navigation.

Frequently Asked Questions about developing-with-streamlit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manage session state in a multipage Streamlit app?

To manage session state in a multipage Streamlit app, you need proper initialization patterns that prevent context loss during reruns. This skill provides structured navigation and state management patterns to handle shared data reliably across pages.

What is the best way to improve Streamlit performance and avoid slow reruns?

The best way to improve Streamlit performance is using caching, fragments, and forms to pre-compute data and avoid expensive reruns. This skill outlines specific performance tuning strategies to keep dashboards fast and reliable.

How do I structure a production-grade Streamlit application?

A production-grade Streamlit application requires a deployment-ready project structure, organized layout composition, and integrated custom components. This skill offers actionable guidance and patterns for building maintainable dashboards and chat interfaces.

Can I build a chat interface with custom components in Streamlit?

Yes, you can build chat interfaces in Streamlit using custom components and component integration patterns. This skill guides you through adding third-party widgets and creating responsive, brand-aligned themes for chat UIs.

How do I apply custom theming and layouts to Streamlit dashboards?

Custom theming and layouts in Streamlit are applied using sidebars, columns, containers, and tabs for responsive composition. This skill provides design patterns for visual polish, icons, badges, and brand-aligned themes.

Does Streamlit caching work with fragments to optimize dashboard data?

Streamlit caching works directly with fragments to optimize dashboard data by pre-computing expensive operations and preventing full reruns. This skill details how to combine these features for reliable performance tuning.