building-streamlit-multipage-apps

Organize Streamlit projects with a multi-page app structure using st.navigation.

Updated Jan 27, 2026
One-click install
npx skills add https://github.com/erickfmm/transformer-encoder-frankestein --skill building-streamlit-multipage-apps-erickfmm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: building-streamlit-multipage-apps
Source: https://github.com/erickfmm/transformer-encoder-frankestein/tree/main/.agents/skills/developing-with-streamlit/skills/building-streamlit-multipage-apps
Command: npx skills add https://github.com/erickfmm/transformer-encoder-frankestein --skill building-streamlit-multipage-apps-erickfmm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Streamlit apps with multiple pages can become hard to organize and maintain; this skill provides a scalable pattern for structuring navigation, shared state, and page modules.

Core Features & Use Cases

  • Page-based architecture: main entrypoint (streamlit_app.py) plus modular pages under app_pages/
  • Stable navigation: using st.navigation to switch between pages with a consistent UI
  • Shared state: guidance on persisting UI state across pages and components

Quick Start

Set up a new project scaffold and run the main module to launch a multi-page Streamlit app.

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 structure a multi-page Streamlit app with clean navigation?

You can build a multi-page Streamlit app by maintaining a central streamlit_app.py entrypoint alongside modular page files under an app_pages directory, using st.navigation to manage clean page switching.

What is the best way to organize Streamlit projects with multiple pages?

The best way to organize Streamlit projects is adopting a page-based architecture with a main entrypoint and dedicated page modules, which simplifies navigation and makes maintaining large dashboards and admin panels scalable.

How do I manage shared UI state across multiple pages in Streamlit?

Manage shared UI state in Streamlit by using a structured multi-page app pattern that provides guidance on persisting data in the global state, allowing consistent access across different page modules.

Does Streamlit st.navigation work for building admin panels and dashboards?

Yes, Streamlit st.navigation works for building admin panels and dashboards by enforcing a stable, consistent UI for switching between modular pages, satisfying the functional requirements of scalable web apps.

When do I need a multi-page architecture for my Streamlit web app?

You need a multi-page architecture for your Streamlit web app when the project grows too large to maintain in a single file, requiring clean navigation across pages and shared state for complex dashboards.