Skip to content
This repository was archived by the owner on Jul 23, 2026. It is now read-only.

Commit aebdc3c

Browse files
Replace developing-with-streamlit with meta-skill for discovering bundled skills
Skills and templates now ship inside the Streamlit pip package (1.57+). This meta-skill teaches agents to detect the Python interpreter, locate the installed Streamlit package, and load bundled skills from <streamlit_path>/.agents/skills/. Falls back to docs.streamlit.io for older versions. Blocked: do not merge until Streamlit 1.57.0 ships.
1 parent 42fb68f commit aebdc3c

91 files changed

Lines changed: 82 additions & 12537 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AGENTS.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@ This file provides guidance to AI coding agents (Claude Code, Cursor, Copilot, e
44

55
## Repository overview
66

7-
This is a collection of Agent Skills for building Streamlit applications. Skills are instruction sets that enhance AI coding assistants' capabilities for specific tasks.
7+
This repository contains a **meta-skill** that teaches AI agents how to discover Streamlit development skills bundled inside the Streamlit pip package (1.57+).
8+
9+
The actual skill content (dashboards, themes, layouts, session state, custom components, etc.) now ships with Streamlit itself. This repo provides the entry point that bootstraps that discovery.
810

911
**Key files:**
10-
- `skills/` - Contains all available skills, each in its own directory
12+
- `developing-with-streamlit/SKILL.md` - Meta-skill that locates and loads bundled Streamlit skills
1113
- `template/` - Template for creating new skills
1214
- `README.md` - Human-readable documentation
1315

@@ -119,4 +121,4 @@ When adding or modifying skills:
119121
3. Include practical code examples
120122
4. Verify against the latest [Streamlit documentation](https://docs.streamlit.io/llms-full.txt)
121123
5. Review against the [best practices for skill writing](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices.md)
122-
6. **Update documentation when adding or renaming skills** - Reflect changes in `README.md` (Available skills table) and `developing-with-streamlit/SKILL.md` (Skill map table)
124+
6. **Update documentation when adding or renaming skills** - Reflect changes in `README.md` and `developing-with-streamlit/SKILL.md`

README.md

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,60 +6,62 @@ A collection of [Agent Skills](https://agentskills.io) for building Streamlit ap
66

77
Agent Skills are specialized instruction sets that enhance AI coding assistants' capabilities for specific tasks. Each skill contains instructions, scripts, and resources that the AI loads dynamically to improve performance on Streamlit development workflows.
88

9-
## Available skills
9+
## How it works
1010

11-
The main skill is [`developing-with-streamlit`](developing-with-streamlit/SKILL.md), which routes to specialized sub-skills:
11+
Starting with Streamlit 1.57, the full set of Streamlit development skills ships **inside the Streamlit pip package** itself. This repository provides a lightweight **meta-skill** that teaches agents how to discover and load those bundled skills.
12+
13+
The meta-skill ([`developing-with-streamlit/SKILL.md`](developing-with-streamlit/SKILL.md)):
14+
15+
1. Detects the active Python interpreter (virtualenv, conda, uv, or system)
16+
2. Locates the installed Streamlit package path
17+
3. Points the agent to the bundled skills at `<streamlit_path>/.agents/skills/`
18+
4. Falls back to the [online docs](https://docs.streamlit.io/llms-full.txt) for older Streamlit versions
19+
20+
## Available skills (bundled with Streamlit 1.57+)
21+
22+
Once discovered via the meta-skill, the bundled `developing-with-streamlit` routing skill provides access to these sub-skills:
1223

1324
| Skill | Description |
1425
|-------|-------------|
15-
| [building-streamlit-chat-ui](developing-with-streamlit/skills/building-streamlit-chat-ui/) | Chat interfaces, chatbots, AI assistants |
16-
| [building-streamlit-dashboards](developing-with-streamlit/skills/building-streamlit-dashboards/) | KPI cards, metrics, dashboard layouts |
17-
| [building-streamlit-multipage-apps](developing-with-streamlit/skills/building-streamlit-multipage-apps/) | Multi-page app structure and navigation |
18-
| [building-streamlit-custom-components-v2](developing-with-streamlit/skills/building-streamlit-custom-components-v2/) | Streamlit Custom Components v2 (inline and template-based packaged), bidirectional state/trigger callbacks, bundling, theme CSS variables |
19-
| [choosing-streamlit-selection-widgets](developing-with-streamlit/skills/choosing-streamlit-selection-widgets/) | Choosing the right selection widget |
20-
| [connecting-streamlit-to-snowflake](developing-with-streamlit/skills/connecting-streamlit-to-snowflake/) | Connecting to Snowflake with st.connection |
21-
| [creating-streamlit-themes](developing-with-streamlit/skills/creating-streamlit-themes/) | Theme configuration, colors, fonts, light/dark modes, professional brand alignment, CSS avoidance |
22-
| [displaying-streamlit-data](developing-with-streamlit/skills/displaying-streamlit-data/) | Dataframes, column config, charts |
23-
| [improving-streamlit-design](developing-with-streamlit/skills/improving-streamlit-design/) | Icons, badges, spacing, text styling |
24-
| [optimizing-streamlit-performance](developing-with-streamlit/skills/optimizing-streamlit-performance/) | Caching, fragments, forms, static vs dynamic widgets |
25-
| [organizing-streamlit-code](developing-with-streamlit/skills/organizing-streamlit-code/) | Separating UI from business logic, modules |
26-
| [setting-up-streamlit-environment](developing-with-streamlit/skills/setting-up-streamlit-environment/) | Python environment setup |
27-
| [using-streamlit-cli](developing-with-streamlit/skills/using-streamlit-cli/) | CLI commands, running apps |
28-
| [using-streamlit-custom-components](developing-with-streamlit/skills/using-streamlit-custom-components/) | Third-party components from the community |
29-
| [using-streamlit-layouts](developing-with-streamlit/skills/using-streamlit-layouts/) | Sidebar, columns, containers, dialogs |
30-
| [using-streamlit-markdown](developing-with-streamlit/skills/using-streamlit-markdown/) | Colored text, badges, icons, LaTeX, markdown features |
31-
| [using-streamlit-session-state](developing-with-streamlit/skills/using-streamlit-session-state/) | Session state, widget keys, callbacks, state persistence |
32-
33-
## Templates
34-
35-
The skill includes ready-to-use templates in `developing-with-streamlit/templates/`:
36-
37-
- **`templates/apps/`** — 9 dashboard app templates (6 local + 3 Snowflake variants) with synthetic data, caching patterns, and layout best practices
38-
- **`templates/themes/`** — 8 theme templates (snowflake, dracula, nord, stripe, solarized-light, spotify, github, minimal) using Google Fonts
39-
40-
See each template directory's README for setup instructions.
26+
| building-streamlit-chat-ui | Chat interfaces, chatbots, AI assistants |
27+
| building-streamlit-dashboards | KPI cards, metrics, dashboard layouts |
28+
| building-streamlit-multipage-apps | Multi-page app structure and navigation |
29+
| building-streamlit-custom-components-v2 | Custom Components v2, bidirectional state, bundling |
30+
| choosing-streamlit-selection-widgets | Choosing the right selection widget |
31+
| connecting-streamlit-to-snowflake | Connecting to Snowflake with st.connection |
32+
| creating-streamlit-themes | Theme configuration, colors, fonts, light/dark modes |
33+
| displaying-streamlit-data | Dataframes, column config, charts |
34+
| improving-streamlit-design | Icons, badges, spacing, text styling |
35+
| optimizing-streamlit-performance | Caching, fragments, forms, static vs dynamic widgets |
36+
| organizing-streamlit-code | Separating UI from business logic, modules |
37+
| setting-up-streamlit-environment | Python environment setup |
38+
| using-streamlit-cli | CLI commands, running apps |
39+
| using-streamlit-custom-components | Third-party components from the community |
40+
| using-streamlit-layouts | Sidebar, columns, containers, dialogs |
41+
| using-streamlit-markdown | Colored text, badges, icons, LaTeX, markdown features |
42+
| using-streamlit-session-state | Session state, widget keys, callbacks, state persistence |
4143

4244
## Installation
4345

4446
### Claude Code
4547

46-
Copy the parent skill folder to your Claude Code skills directory:
48+
Copy the meta-skill folder to your Claude Code skills directory:
4749

4850
```bash
4951
cp -r developing-with-streamlit ~/.claude/skills/
5052
```
5153

52-
Or reference skills directly in your project by adding them to your `.claude/skills/` directory.
54+
Or reference it directly in your project by adding it to your `.claude/skills/` directory.
5355

5456
### Cursor
5557

56-
Copy the parent skill folder to your [Cursor skills directory](https://cursor.com/docs/context/skills):
58+
Copy the meta-skill folder to your [Cursor skills directory](https://cursor.com/docs/context/skills):
5759

5860
```bash
5961
cp -r developing-with-streamlit ~/.cursor/skills/
6062
```
6163

62-
Or add skills directly to your project's `.cursor/skills/` directory.
64+
Or add it directly to your project's `.cursor/skills/` directory.
6365

6466
### Snowflake Cortex Code
6567

0 commit comments

Comments
 (0)