building-streamlit-multipage-apps

Organize Streamlit projects into modular multi-page apps with st.navigation.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/n-elia/barbarapp --skill building-streamlit-multipage-apps
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: building-streamlit-multipage-apps
Source: https://github.com/n-elia/barbarapp/tree/main/.skills/developing-with-streamlit/skills/building-streamlit-multipage-apps
Command: npx skills add https://github.com/n-elia/barbarapp --skill building-streamlit-multipage-apps

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers organize Streamlit projects into modular, multi-page applications with coherent navigation and shared state.

Core Features & Use Cases

  • Structured navigation: Use top or sidebar navigation to manage multiple pages in a Streamlit app.
  • Global state sharing: Centralized initialization of shared state across pages for consistency.
  • Modular pages: Place page definitions under app_pages/ and wire them with a main runner (streamlit_app.py).

Quick Start

Set up a basic multi-page app by organizing pages under app_pages/ and creating a main module (streamlit_app.py) that initializes state and defines navigation. Then run the app with the command: streamlit run streamlit_app.py.

Frequently Asked Questions about building-streamlit-multipage-apps

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

FAQPage Schema
How do I build a multi-page Streamlit app with structured navigation?▼

To build a multi-page Streamlit app, organize page definitions under a dedicated app_pages/ directory and create a main entry script that initializes shared state and defines navigation using st.navigation. Run the app with streamlit run streamlit_app.py.

What is the best way to share global state across multiple pages in Streamlit?▼

The best way to share global state across Streamlit pages is to centralize state initialization in your main runner script. This ensures all modular pages under app_pages/ access consistent shared data through the established st.navigation flow.

Does Streamlit support sidebar and top menu navigation for multi-page apps?▼

Yes, Streamlit supports both sidebar and top menu navigation for multi-page apps. This Skill structures your project to use st.navigation, allowing you to manage multiple modular pages through either a top or sidebar menu layout.

How do I structure a Streamlit project for modular app_pages?▼

Structure a Streamlit project for modular app_pages by creating a dedicated app_pages/ directory for individual page modules and a main streamlit_app.py script. The main script wires the pages together using a page registry and st.navigation.

When should I use st.navigation instead of basic Streamlit page routing?▼

You should use st.navigation instead of basic routing when your Streamlit app requires structured navigation, a centralized page registry, or shared global state initialization across multiple modular pages to maintain consistency.