# Developing With Streamlit

> Build production-grade Streamlit apps. Used when creating, editing, debugging, or deploying Streamlit applications. Routes to specialized sub-skills for performance, layouts, design, data display, and more.

- Skill: `majiayu000/developing-with-streamlit` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/developing-with-streamlit`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/developing-with-streamlit/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/developing-with-streamlit

---


# Developing with Streamlit

A collection of skills for building production-grade Streamlit apps. Each skill focuses on a specific aspect of Streamlit development.

## When to activate

Activate these skills when:
- Creating new Streamlit apps from scratch
- Adding features to existing apps
- Debugging performance issues
- Improving app design and UX
- Setting up project structure and environments
- Connecting to data sources like Snowflake

## Quick routing

**Performance issues or slow apps?** → `optimizing-streamlit-performance`

**Building a new UI?** → `choosing-streamlit-selection-widgets` + `using-streamlit-layouts`

**Building a dashboard?** → `building-streamlit-dashboards` + `displaying-streamlit-data`

**Making it look good?** → `improving-streamlit-design`

**Formatting text with markdown?** → `using-streamlit-markdown`

**Multi-page architecture?** → `building-streamlit-multipage-apps`

**Customizing appearance or creating a custom theme?** → `creating-streamlit-themes`

**Setting up a project?** → `setting-up-streamlit-environment`

**App getting complex?** → `organizing-streamlit-code`

**Connecting to Snowflake?** → `connecting-streamlit-to-snowflake`

**Building a chatbot or AI assistant?** → `building-streamlit-chat-ui`

**Building your own custom component?** → `building-streamlit-custom-components-v2`

**Need features not in core Streamlit?** → `using-streamlit-custom-components`

**Using the Streamlit CLI?** → `using-streamlit-cli`

**State management and session state?** → `using-streamlit-session-state`

## Skill map

| Skill | Covers |
|-------|--------|
| [building-streamlit-chat-ui](skills/building-streamlit-chat-ui/SKILL.md) | Chat interfaces, streaming responses, message history |
| [building-streamlit-dashboards](skills/building-streamlit-dashboards/SKILL.md) | KPI cards, metrics, dashboard layouts |
| [building-streamlit-multipage-apps](skills/building-streamlit-multipage-apps/SKILL.md) | Page structure, navigation, shared state |
| [building-streamlit-custom-components-v2](skills/building-streamlit-custom-components-v2/SKILL.md) | Streamlit Custom Components v2 (inline and template-based packaged), bidirectional state/trigger callbacks, bundling, theme CSS variables |
| [choosing-streamlit-selection-widgets](skills/choosing-streamlit-selection-widgets/SKILL.md) | Selectbox vs radio vs segmented control vs pills vs multiselect |
| [connecting-streamlit-to-snowflake](skills/connecting-streamlit-to-snowflake/SKILL.md) | st.connection, query caching, credentials |
| [creating-streamlit-themes](skills/creating-streamlit-themes/SKILL.md) | Theme configuration, colors, fonts, light/dark modes, professional brand alignment, CSS avoidance |
| [displaying-streamlit-data](skills/displaying-streamlit-data/SKILL.md) | Dataframes, column config, charts |
| [improving-streamlit-design](skills/improving-streamlit-design/SKILL.md) | Icons, badges, colored text, visual polish |
| [optimizing-streamlit-performance](skills/optimizing-streamlit-performance/SKILL.md) | Caching, fragments, forms, static vs dynamic widgets |
| [organizing-streamlit-code](skills/organizing-streamlit-code/SKILL.md) | When to split into modules, separating UI from logic |
| [setting-up-streamlit-environment](skills/setting-up-streamlit-environment/SKILL.md) | Python environment, dependency management |
| [using-streamlit-custom-components](skills/using-streamlit-custom-components/SKILL.md) | Third-party components from the community |
| [using-streamlit-cli](skills/using-streamlit-cli/SKILL.md) | CLI commands, running apps |
| [using-streamlit-layouts](skills/using-streamlit-layouts/SKILL.md) | Sidebar, columns, containers, tabs, expanders, dialogs, alignment, spacing |
| [using-streamlit-markdown](skills/using-streamlit-markdown/SKILL.md) | Colored text, badges, icons, LaTeX, and all markdown features |
| [using-streamlit-session-state](skills/using-streamlit-session-state/SKILL.md) | Session state, widget keys, callbacks, state persistence |

## Resources

- [Streamlit documentation](https://docs.streamlit.io/develop/api-reference)

