creating-streamlit-themes

Create and customize Streamlit themes via .streamlit/config.toml.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/fangshine01/AI_agent --skill creating-streamlit-themes-fangshine01
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: creating-streamlit-themes
Source: https://github.com/fangshine01/AI_agent/tree/main/.github/skills/creating-streamlit-themes
Command: npx skills add https://github.com/fangshine01/AI_agent --skill creating-streamlit-themes-fangshine01

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Streamlit apps often look inconsistent or unbranded and require manual, fragile CSS hacks; this skill provides a maintainable, config-driven approach to control colors, typography, radii, and widget styling for cohesive, accessible apps.

Core Features & Use Cases

  • Config-driven theming: Use the app configuration to set primary colors, backgrounds, text, borders, and component radii without custom CSS.
  • Typography and fonts: Configure built-in, Google-hosted, or self-hosted fonts using fontFaces served from the app static path.
  • Mode and component tuning: Define separate light/dark variants, chart palettes, dataframe styling, and sidebar appearance for consistent UX across environments.
  • Accessibility and design guidance: Recommendations for contrast ratios, semantic color roles, and testing workflows to ensure readability and brand fidelity.

Quick Start

Update your app's .streamlit/config.toml with a [theme] section, set primaryColor, backgroundColor, and font or fontFaces, then restart the Streamlit server to preview the theme.

Frequently Asked Questions about creating-streamlit-themes

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

FAQPage Schema
How do I customize Streamlit app colors and fonts without writing custom CSS?

To customize Streamlit app colors and fonts without CSS, edit the .streamlit/config.toml file to define your theme settings. This config-driven approach lets you set primaryColor, backgroundColor, text color, and typography for a cohesive app appearance.

What is the best way to apply brand colors and typography to a Streamlit app?

The best way to apply brand colors and typography to a Streamlit app is by configuring the [theme] section in .streamlit/config.toml. You can define light and dark mode variants, chart palettes, and fontFaces served from your app's static path.

Can I use self-hosted fonts in my Streamlit theme configuration?

Yes, you can use self-hosted fonts in your Streamlit theme configuration by adding fontFaces entries in config.toml. You must serve the custom font files from your app's static path to ensure they load correctly.

How do I set up light and dark mode variants for Streamlit apps?

To set up light and dark mode variants for Streamlit apps, define separate theme configurations in your .streamlit/config.toml file. This allows you to control backgrounds, text colors, and component styling for consistent UX across both modes.

Does Streamlit config.toml theming support chart and dataframe color palettes?

Yes, Streamlit config.toml theming supports chart and dataframe color palettes. You can tune component styling and define semantic color roles within your theme configuration to maintain consistent data visualization styling.

Why should I use config.toml for Streamlit theming instead of CSS hacks?

You should use config.toml for Streamlit theming instead of CSS hacks because it provides a maintainable, config-driven approach. It prevents fragile styling, ensures contrast accessibility guidelines are met, and keeps branding consistent across updates.