Agent skill
agilab-streamlit-pages
Streamlit page authoring patterns for AGILAB (session_state safety, keys, rerun, UX).
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/agilab-streamlit-pages
Metadata
Additional technical details for this skill
- updated
- 1767916800
SKILL.md
Streamlit Pages Skill (AGILAB)
Use this skill when editing:
src/agilab/AGILAB.pysrc/agilab/pages/*.pysrc/agilab/apps-pages/*/src/*/*.py
Session State Rules (Avoid Common Crashes)
-
Never assign
st.session_state["k"] = …after a widget withkey="k"was created.- Prefer
st.session_state.setdefault("k", default)before the widget. - Or use widget return values and compute derived state separately.
- Prefer
-
If you need to “reset” a widget value:
- Use a different key (versioned key pattern), or
- Gate the reset behind a rerun and only mutate state before widget creation.
Recommended Pattern
- Initialize defaults with
setdefaultat the top of the page. - Render widgets.
- Read values from widgets, compute derived state, store under different keys.
Rerun API
- Do not use
st.experimental_rerun(); usest.rerun().
Key Hygiene
- Every widget must have a stable, unique key.
- Prefer namespaced keys:
f\"{page_id}:df_files\", not"df_files".
Didn't find tool you were looking for?