Repository inventory

streamlit/agent-skills

Skills indexed from this repository, with install-style signals scoped to the repo.
9 skills131 GitHub stars0 weekly installsGitHubOwner profile

Overview

This skill teaches how to create and customize Streamlit themes using .streamlit/config.toml to produce polished, brand-aligned apps. It covers color palettes, typography, chart and dataframe styling, sidebar variants, light/dark mode, and recommended design principles. Practical examples and common mistakes help you build accessible, maintainable themes without relying on brittle CSS.

How this skill works

You author theme settings inside the [theme] section of config.toml (or define [theme.light] and [theme.dark] variants). The theme controls primary colors, background layers, semantic status colors, chart palettes, fonts, radii, and sidebar appearance. The app reads these values at runtime; font file changes require a server restart and the st.context.theme.base value lets your code adapt to the active mode.

When to use it

  • Align app appearance with brand guidelines
  • Change colors, fonts, or component radii across an app
  • Provide separate light and dark variants that users can switch between
  • Standardize chart palettes and dataframe styling consistently
  • Avoid ad-hoc CSS hacks that break with Streamlit updates

Best practices

  • Set primaryColor dark enough for white button text to remain readable
  • Ensure WCAG AA contrast for body and heading text against backgrounds
  • Prefer base inheritance: start from a built-in theme and override only what changes
  • Self-host custom fonts via static/ and declare [[theme.fontFaces]]; restart server after changes
  • Define both [theme.light] and [theme.dark] to enable user mode switching; otherwise the app is locked
  • Test buttons, forms, dataframes, charts, and sidebar in both modes before release

Example use cases

  • Create a Snowflake-like brand theme with blue accents and white content background
  • Build a developer VS Code dark theme with syntax-style chart palettes and compact radii
  • Self-host a custom corporate font family for consistent headings and body text across apps
  • Provide light/dark logo swapping in code using st.context.theme.base
  • Define chartCategoricalColors and chartSequentialColors to ensure consistent visuals in Plotly/Altair charts

FAQ

No. Font files must be served by the app (for example placed under static/) and referenced via a URL accessible to Streamlit; then declare them with [[theme.fontFaces]].

Will theme changes update immediately?

Most config.toml theme changes apply live after saving and rerunning the app. Font face changes require restarting the Streamlit server.

9 skills

creating-streamlit-themes
Design

This skill helps you craft professional, brand-aligned Streamlit themes by configuring config.toml, typography, colors, and sidebar styles.

FrontendPython
using-streamlit-custom-components

Using third-party Streamlit custom components. Use when extending Streamlit with community packages. Covers installation, popular custom components, and when to use them.

building-streamlit-multipage-apps

Building multi-page Streamlit apps. Use when creating apps with multiple pages, setting up navigation, or managing state across pages.

choosing-streamlit-selection-widgets

Choosing the right Streamlit selection widget. Use when deciding between radio buttons, selectbox, segmented control, pills, or other option selection widgets. Helps pick the right widget for the number of options and selection type.

organizing-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.

building-streamlit-dashboards

Building dashboards in Streamlit. Use when creating KPI displays, metric cards, or data-heavy layouts. Covers borders, cards, responsive layouts, and dashboard composition.

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.

connecting-streamlit-to-snowflake

Connecting Streamlit apps to Snowflake. Use when setting up database connections, managing secrets, or querying Snowflake from a Streamlit app.

building-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.

More from this maintainer
Other repositories and skills published under the same GitHub owner.
Skills library
Jump back to the full directory or explore grouped topics.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational