developing-with-streamlit
Routing skill for all Streamlit development tasks: app creation, editing, debugging, styling, optimization, and deployment.
- Routes to specialized sub-skills based on task type: performance optimization, dashboard building, design improvement, widget selection, theming, layouts, data display, multi-page apps, session state, chat UI, custom components, and Snowflake integration
- Includes a workflow for locating Streamlit source files, identifying entry points (
streamlit_app.py,app.py), and applying sub-skill guidance - Provides templates for common dashboard patterns (metrics, companies, compute, stock peers) and pre-built themes (Snowflake, Dracula, Nord, Stripe, Solarized, Spotify, GitHub, minimal)
- Automatically detects running Streamlit apps and offers to start or refresh them after edits
Developing with Streamlit
This is a routing skill that directs you to specialized sub-skills for Streamlit development.
When to Use
Invoke this skill when the user's request involves:
- Creating a new Streamlit app
- Editing or modifying an existing Streamlit app
- Debugging Streamlit issues (errors, session state bugs, performance problems)
- Beautifying or improving the visual design of a Streamlit app
- Optimizing Streamlit performance (caching, fragments, reruns)
- Deploying Streamlit apps (locally or to Snowflake)
- Styling widgets (button colors, backgrounds, CSS customization)
- Any question about Streamlit widgets, layouts, or components
Trigger phrases: "streamlit", "st.", "dashboard", "app.py", "beautify app", "make it look better", "style", "CSS", "color", "background", "theme", "button", "slow rerun", "session state", "performance", "faster", "cache", "deploy"
Workflow
More from streamlit/agent-skills
template-skill
Replace with description of the skill and when to use it.
106building-streamlit-chat-ui
Building chat interfaces in Streamlit. Use when creating conversational UIs, chatbots, or AI assistants. Covers st.chat_message, st.chat_input, message history, and streaming responses.
5using-streamlit-session-state
Using st.session_state to manage state across Streamlit reruns. Use when persisting data, handling widget state, implementing callbacks, or debugging state issues. Covers initialization patterns, widget-state association, and common gotchas.
3organizing-streamlit-code
Organizing Streamlit code for maintainability. Use when structuring apps with separate modules and utilities. Covers separation of concerns, keeping UI code clean, and import patterns.
3optimizing-streamlit-performance
Optimizing Streamlit app performance. Use when apps are slow, rerunning too often, or loading heavy content. Covers caching, fragments, and static vs dynamic widget choices.
3creating-streamlit-themes
Creating and customizing Streamlit themes. Use when changing app colors, fonts, or appearance, or aligning apps to brand guidelines. Covers config.toml configuration, design principles, and CSS avoidance.
3