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.