building-streamlit-multipage-apps

Scaffold multi-page Streamlit apps with structured navigation and shared state.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building scalable multi-page Streamlit apps requires structured navigation and clearly separated page modules to keep state consistent and maintainable across pages.

Core Features & Use Cases

  • Structured navigation: switch between app_pages modules via a central main module to provide a cohesive user experience.
  • State management: share global state across pages while keeping page-specific context isolated.
  • Maintainable structure: organize pages under app_pages/ with a clear naming convention to simplify collaboration and extension.

Quick Start

Create a new Streamlit app with an app_pages directory and a main streamlit_app.py to enable 3–7 pages with a top navigation bar.

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, you scaffold a main streamlit_app.py module and an app_pages directory. This structure provides a cohesive user experience with a top navigation bar across 3 to 7 pages.

How does state management work across pages in a Streamlit multipage app?

State management in a Streamlit multipage app allows you to share global state across pages while keeping page-specific context isolated. This ensures state remains consistent and maintainable throughout the app.

What is the best way to organize multiple pages in a Streamlit dashboard?

The best way to organize multiple pages in a Streamlit dashboard is using an app_pages directory with a clear naming convention. This maintainable structure simplifies collaboration and extension as your app scales.

Can I use this to add a top navigation bar to an existing Streamlit app?

Yes, you can enable a top navigation bar by creating a central main module and organizing pages under the app_pages directory. This provides structured navigation for switching between modules.

When do I need a modular app architecture for my Streamlit dashboard?

You need a modular app architecture when your Streamlit dashboard requires scalable page organization and consistent global state handling. This approach prevents state management issues as your application grows.