Agent skill

Developing With Streamlit

by iusztinpaul in iusztinpaul/designing-real-world-ai-agents-workshop

[REQUIRED] Use for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit applications.

MITAuto-check passedFrontend & Design

Install Developing With Streamlit

skills CLI
$ npx skills add iusztinpaul/designing-real-world-ai-agents-workshop --skill developing-with-streamlit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install iusztinpaul/designing-real-world-ai-agents-workshop developing-with-streamlit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/iusztinpaul/designing-real-world-ai-agents-workshop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/developing-with-streamlit .claude/skills/developing-with-streamlit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
developing-with-streamlit
GitHub stars
513
Token cost
~3k tokens
SKILL.md length
1,023 words
Files
97
Skills in repo
23
Repo updated
First seen
Licence
MIT

At a glance

[REQUIRED] Use for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit applications.

  • Works in 4 steps: Locate the Streamlit Source Code (if… → Identify Task Type and Route to Sub-Skill → Apply Guidance to Edit Code → …
  • ALL Streamlit tasks: creating
  • SKILL.md covers When to Use, Workflow, Stopping Points and Skill map, plus 1 more section
  • Runs Python scripts from its folder; calls streamlit

What it does

Developing With Streamlit is an agent skill from iusztinpaul/designing-real-world-ai-agents-workshop. [REQUIRED] Use for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit applications. Also required for building custom components (inline or packaged), using st.components.v2, or any HTML/JS/CSS component work. Triggers: streamlit, st., dashboard, app.py, beautify, style, CSS, color, background, theme, button, widget styling, custom component, st.components, packaged component, pyproject.toml, assetdir, CCv2, HTML/JS component.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 102 other files (for example `templates/apps/README.md`, `templates/apps/dashboard-companies/streamlit_app.py` and `templates/apps/dashboard-compute-snowflake/snowflake.yml`).

It sits in Frontend & Design, covering Theming and dark mode. It works with Streamlit. The repository describes itself as: Hands-on workshop: Build a multi-agent AI system from scratch — Deep Research Agent + Writing Workflow served as MCP servers. Includes code, slides, and video. The licence is MIT.

When your agent uses it

  • ALL Streamlit tasks: creating
  • Deploying Streamlit applications

Example prompts

  • “/developing-with-streamlit”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Locate the Streamlit Source Code (if needed)
  2. Identify Task Type and Route to Sub-Skill
  3. Apply Guidance to Edit Code
  4. Check Running Apps and Offer to Run

What it can do on your machine

Read from SKILL.md and the folder at commit ea4f6e9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • streamlit

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.streamlit.io
    • streamlit.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Developing With Streamlit loads about 3k tokens when it runs. Until then it costs about 132 tokens; SKILL.md has 1,023 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~132
When it runs · the whole SKILL.md, loaded when a task matches
~3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from iusztinpaul/designing-real-world-ai-agents-workshop at commit ea4f6e9, republished under its MIT licence (© iusztinpaul). 1,023 words, ~3,046 tokens.

Download SKILL.mdSave it as .claude/skills/developing-with-streamlit/SKILL.md (or your agent's skills folder). This skill also uses 96 other files; get the full folder from GitHub.
name
developing-with-streamlit
description
**[REQUIRED]** Use for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit applications. Also required for building custom components (inline or packaged), using st.components.v2, or any HTML/JS/CSS component work. Triggers: streamlit, st., dashboard, app.py, beautify, style, CSS, color, background, theme, button, widget styling, custom component, st.components, packaged component, pyproject.toml, asset_dir, CCv2, HTML/JS component.

Developing with Streamlit

This is a routing skill that directs you to specialized sub-skills for Streamlit development.

When to Use

Invoke this skill when the user's request involves:

  • Creating a new Streamlit app
  • Editing or modifying an existing Streamlit app
  • Debugging Streamlit issues (errors, session state bugs, performance problems)
  • Beautifying or improving the visual design of a Streamlit app
  • Optimizing Streamlit performance (caching, fragments, reruns)
  • Deploying Streamlit apps (locally or to Snowflake)
  • Styling widgets (button colors, backgrounds, CSS customization)
  • Any question about Streamlit widgets, layouts, or components

Trigger phrases: "streamlit", "st.", "dashboard", "app.py", "beautify app", "make it look better", "style", "CSS", "color", "background", "theme", "button", "slow rerun", "session state", "performance", "faster", "cache", "deploy"

Workflow

Step 1: Locate the Streamlit source code
    ↓
Step 2: Identify task type and load appropriate sub-skill(s)
    ↓
Step 3: Apply guidance from sub-skill to edit code
    ↓
Step 4: Check if app is running and offer to run it
Step 1: Locate the Streamlit Source Code (if needed)

Goal: Identify the app file(s) to edit. Skip this step if already clear from context.

When to skip:

  • User mentioned a specific file path (e.g., "edit src/app.py")
  • User has file(s) already in conversation context
  • Working directory has an obvious single entry point (app.py, streamlit_app.py)

When to search:

  • User says "my streamlit app" without specifying which file
  • Multiple Python files exist and it's unclear which is the entry point

If searching is needed:

  1. Quick scan for Streamlit files:

    bash
    find . -name "*.py" -type f | xargs grep -l "import streamlit\|from streamlit" 2>/dev/null | head -10
  2. Apply entry point heuristics (in priority order):

    • streamlit_app.py at root → this is the entry point (canonical name)
    • app.py at root → likely entry point
    • File using st.navigation → entry point for multi-page apps
    • Single .py file at root with streamlit import → entry point
    • Files in pages/ or app_pages/ subdirectory → NOT entry points (these are sub-pages)
  3. If entry point is obvious → use it, no confirmation needed

    Example: Found streamlit_app.py and pages/metrics.py → use streamlit_app.py

  4. Only ask if genuinely ambiguous (e.g., multiple root-level candidates, none named streamlit_app.py):

    Found multiple potential entry points:
    - dashboard.py
    - main.py
    
    Which is your main app?

Output: Path to the main Streamlit source file(s)

Step 2: Identify Task Type and Route to Sub-Skill

Goal: Determine what the user needs and load the appropriate guidance.

Use this routing table to select sub-skill(s). Always read the sub-skill file before making changes:

User NeedSub-skill to Read
Performance issues, slow apps, cachingread skills/optimizing-streamlit-performance/SKILL.md
Building a dashboard with KPIs/metricsread skills/building-streamlit-dashboards/SKILL.md
Improving visual design, icons, polishread skills/improving-streamlit-design/SKILL.md
Choosing widgets (selectbox vs radio vs pills)read skills/choosing-streamlit-selection-widgets/SKILL.md
Styling widgets (button colors, backgrounds, CSS)read skills/creating-streamlit-themes/SKILL.md
Layouts (columns, tabs, sidebar, containers)read skills/using-streamlit-layouts/SKILL.md
Displaying data (dataframes, charts)read skills/displaying-streamlit-data/SKILL.md
Multi-page app architectureread skills/building-streamlit-multipage-apps/SKILL.md
Session state and callbacksread skills/using-streamlit-session-state/SKILL.md
Markdown, colored text, badgesread skills/using-streamlit-markdown/SKILL.md
Custom themes and colorsread skills/creating-streamlit-themes/SKILL.md
Comprehensive theme design and brand alignmentread skills/creating-streamlit-themes/SKILL.md
Chat interfaces and AI assistantsread skills/building-streamlit-chat-ui/SKILL.md
Connecting to Snowflakeread skills/connecting-streamlit-to-snowflake/SKILL.md
Building or packaging a custom component, triggering events back to Python from JS/HTML, custom HTML/JS with event handling (CCv2), OR any UI element that doesn't exist as a native Streamlit widget (e.g., drag-and-drop, custom interactive visualization, canvas drawing)read skills/building-streamlit-custom-components-v2/SKILL.md — IMPORTANT: st.components.v1 is deprecated. Never use v1 for new components; always use st.components.v2.component().
Third-party componentsread skills/using-streamlit-custom-components/SKILL.md
Code organizationread skills/organizing-streamlit-code/SKILL.md
Environment setupread skills/setting-up-streamlit-environment/SKILL.md
CLI commandsread skills/using-streamlit-cli/SKILL.md

Fallback — "this widget doesn't exist in Streamlit":

If the user asks for a UI element or interaction that has never been part of Streamlit's API and cannot be built with any combination of native widgets (e.g., drag-and-drop, canvas drawing, custom interactive visualizations), route to the CCv2 sub-skill (skills/building-streamlit-custom-components-v2/SKILL.md). Do not route to CCv2 for features that exist in newer Streamlit versions (e.g., st.connection, st.segmented_control) — suggest upgrading instead.

Common combinations:

For beautifying/improving an app, read in order:

  1. skills/improving-streamlit-design/SKILL.md
  2. skills/using-streamlit-layouts/SKILL.md
  3. skills/choosing-streamlit-selection-widgets/SKILL.md

For building a dashboard, read:

  1. skills/building-streamlit-dashboards/SKILL.md
  2. skills/displaying-streamlit-data/SKILL.md

IMPORTANT - Use templates:

When creating a new dashboard app, prefer starting from a template in templates/apps/:

  • If a template closely matches the request, copy it and adapt:
    • dashboard-metrics / dashboard-metrics-snowflake — KPI cards with time-series charts
    • dashboard-companies — company/entity comparison
    • dashboard-compute / dashboard-compute-snowflake — resource/credit monitoring
    • dashboard-feature-usage — feature adoption tracking
    • dashboard-seattle-weather — public dataset exploration (local only)
    • dashboard-stock-peers / dashboard-stock-peers-snowflake — financial peer analysis
  • If no template is a close match, start from scratch but borrow relevant patterns from the templates (e.g., caching with @st.cache_data, filter_by_time_range(), st.set_page_config(), chart utilities, layout structure)
  • See templates/apps/README.md for template descriptions

When editing an existing app, use templates as reference for best practices:

  • Check templates/apps/ for caching patterns, layout structure, and Snowflake integration
  • Apply consistent patterns from templates to improve the existing code

When applying a custom theme, use a template from templates/themes/:

  • Copy a theme directory (snowflake, dracula, nord, stripe, solarized-light, spotify, github, minimal)
  • Themes use Google Fonts for easy setup
  • See templates/themes/README.md for theme previews

For performance optimization, read:

  1. skills/optimizing-streamlit-performance/SKILL.md
Show full SKILL.md (349 more words)Show less
Step 3: Apply Guidance to Edit Code

Goal: Make changes to the Streamlit app following sub-skill best practices.

Actions:

  1. Apply the patterns and recommendations from the loaded sub-skill(s)
  2. Make edits to the source file(s) identified in Step 1
  3. Preserve existing functionality while adding improvements
Step 4: Check Running Apps and Offer to Run

Goal: Help the user see their changes by checking if their app is running.

Actions:

  1. Check for running Streamlit apps on ports 850*:

    bash
    lsof -nP -iTCP -sTCP:LISTEN 2>/dev/null | grep -i python | awk '{print $2, $9}' | grep ':85' || echo "No Streamlit apps detected on ports 850*"
  2. Present findings to user:

    If app is running:

    Found Streamlit app running:
    - PID: [pid] at http://localhost:[port]
    
    Your changes should be visible after a page refresh (Streamlit hot-reloads on file save).

    If no app is running:

    No Streamlit app detected on ports 850*.
    
    Would you like me to run the app? I can start it with:
      streamlit run [app_file.py]
  3. If user wants to run the app, start it:

    bash
    streamlit run [path/to/app.py] --server.port 8501

Stopping Points

  • Step 2: If multiple sub-skills seem relevant, ask user which aspect to focus on first
  • Step 4: Ask before starting the Streamlit app

Skill map

SkillCovers
building-streamlit-chat-uiChat interfaces, streaming responses, message history
building-streamlit-dashboardsKPI cards, metrics, dashboard layouts
building-streamlit-multipage-appsPage structure, navigation, shared state
building-streamlit-custom-components-v2Streamlit Custom Components v2 (inline and template-based packaged), bidirectional state/trigger callbacks, bundling, theme CSS variables
choosing-streamlit-selection-widgetsSelectbox vs radio vs segmented control vs pills vs multiselect
connecting-streamlit-to-snowflakest.connection, query caching, credentials
creating-streamlit-themesTheme configuration, colors, fonts, light/dark modes, professional brand alignment, CSS avoidance
displaying-streamlit-dataDataframes, column config, charts
improving-streamlit-designIcons, badges, colored text, visual polish
optimizing-streamlit-performanceCaching, fragments, forms, static vs dynamic widgets
organizing-streamlit-codeWhen to split into modules, separating UI from logic
setting-up-streamlit-environmentPython environment, dependency management
using-streamlit-custom-componentsThird-party components from the community
using-streamlit-cliCLI commands, running apps
using-streamlit-layoutsSidebar, columns, containers, tabs, expanders, dialogs, alignment, spacing
using-streamlit-markdownColored text, badges, icons, LaTeX, and all markdown features
using-streamlit-session-stateSession state, widget keys, callbacks, state persistence

Resources

© iusztinpaul, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 96 other files in .agents/skills/developing-with-streamlit of iusztinpaul/designing-real-world-ai-agents-workshop.

  • SKILL.md
  • skills
  • templates/.gitattributes
  • templates/apps/.gitignore
  • templates/apps/README.md
  • templates/apps/dashboard-companies/pyproject.toml
  • templates/apps/dashboard-companies/streamlit_app.py
  • templates/apps/dashboard-compute-snowflake/.gitignore
  • templates/apps/dashboard-compute-snowflake/.streamlit/secrets.toml.example
  • templates/apps/dashboard-compute-snowflake/pyproject.toml
  • templates/apps/dashboard-compute-snowflake/snowflake.yml
  • templates/apps/dashboard-compute-snowflake/streamlit_app.py
  • templates/apps/dashboard-compute/pyproject.toml
  • templates/apps/dashboard-compute/streamlit_app.py
  • templates/apps/dashboard-feature-usage
  • … and 82 more

Open the folder on GitHubat commit ea4f6e9

Compare with similar skills

Developing With Streamlit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Developing With Streamlit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Developing With Streamlit this skilliusztinpaul/designing-real-world-ai-agents-workshop513—~3kAutomated safety check: PassMIT
Developing With Streamlitstreamlit/agent-skills223—~412Automated safety check: PassApache-2.0
Refactoring UIs0xDk/refactoring-ui-skill586—~3.5kAutomated safety check: PassMIT
Vuetify Skilldlogue/vite-vuetify-ts-starter1811 repos~1.9kAutomated safety check: PassMIT
macOS Designceorkm/macos-design-skill1381 repos~779Automated safety check: PassNone
Ant Designkqcoxn/MaaPipelineEditor4081 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Developing With Streamlit

    streamlit/agent-skills

    A skill your agent uses for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit apps.

    223 GitHub stars~412 tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Refactoring UI

    s0xDk/refactoring-ui-skill

    Design and improve user interfaces using the concrete rules from Refactoring UI (Wathan & Schoger) — constrained spacing/type/color/shadow scales, visual hierarchy through weight and color rather…

    586 GitHub stars~3.5k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed
  • Vuetify Skilld

    logue/vite-vuetify-ts-starter

    Vue Material Component Framework. An agent skill from logue/vite-vuetify-ts-starter.

    181 GitHub starsUsed in 1 repo~1.9k tokens
    Frontend & DesignAuto-check passed
  • macOS Design

    ceorkm/macos-design-skill

    Design and build native-feeling macOS application UIs. An agent skill from ceorkm/macos-design-skill.

    138 GitHub starsUsed in 1 repo~779 tokens
    Frontend & DesignAuto-check passed
  • Ant Design

    kqcoxn/MaaPipelineEditor

    Decision guide for antd 6.x, Ant Design Pro 5/ProComponents, Ant Design X v2, and the offline @ant-design/cli.

    408 GitHub starsUsed in 1 repo~1.1k tokens
    Frontend & DesignAuto-check passed
  • Worklog Design

    regisx001/Worklog

    Design and UI skill for the Worklog desktop project manager.

    261 GitHub stars~3.3k tokensUpdated 1 mo ago
    Frontend & DesignAuto-check passed

More from iusztinpaul/designing-real-world-ai-agents-workshop

All 23 skills in this repo
  • Building Streamlit Custom Components V2

    iusztinpaul/designing-real-world-ai-agents-workshop

    Builds bidirectional Streamlit Custom Components v2 (CCv2) using st.components.v2.component.

    513 GitHub stars~2.8k tokensUpdated 4 mo ago
    Auto-check passed
  • Building Streamlit Chat UI

    iusztinpaul/designing-real-world-ai-agents-workshop

    Building chat interfaces in Streamlit. An agent skill from iusztinpaul/designing-real-world-ai-agents-workshop.

    513 GitHub stars~1.4k tokensUpdated 4 mo ago
    Auto-check passed
  • Building Streamlit Dashboards

    iusztinpaul/designing-real-world-ai-agents-workshop

    Building dashboards in Streamlit. An agent skill from iusztinpaul/designing-real-world-ai-agents-workshop.

    513 GitHub stars~1.1k tokensUpdated 4 mo ago
    Auto-check passed
  • Building Streamlit Multipage Apps

    iusztinpaul/designing-real-world-ai-agents-workshop

    Building multi-page Streamlit apps. An agent skill from iusztinpaul/designing-real-world-ai-agents-workshop.

    513 GitHub stars~1.6k tokensUpdated 4 mo ago
    Auto-check passed
  • Choosing Streamlit Selection Widgets

    iusztinpaul/designing-real-world-ai-agents-workshop

    Choosing the right Streamlit selection widget. An agent skill from iusztinpaul/designing-real-world-ai-agents-workshop.

    513 GitHub stars~1.1k tokensUpdated 4 mo ago
    Auto-check passed
  • Connecting Streamlit To Snowflake

    iusztinpaul/designing-real-world-ai-agents-workshop

    Connecting Streamlit apps to Snowflake. An agent skill from iusztinpaul/designing-real-world-ai-agents-workshop.

    513 GitHub stars~1.3k tokensUpdated 4 mo ago
    Auto-check passed

Works with

Questions about Developing With Streamlit

What does Developing With Streamlit do?

[REQUIRED] Use for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit applications. Developing With Streamlit is an agent skill from iusztinpaul/designing-real-world-ai-agents-workshop. [REQUIRED] Use for ALL Streamlit tasks: creating, editing, debugging, beautifying, styling, theming, optimizing, or deploying Streamlit applications.

When should I use Developing With Streamlit?

Developing With Streamlit fits situations like: ALL Streamlit tasks: creating; deploying Streamlit applications.

How do I install Developing With Streamlit in Claude Code?

Run `npx skills add iusztinpaul/designing-real-world-ai-agents-workshop --skill developing-with-streamlit -a claude-code`. Or copy the skill folder (.agents/skills/developing-with-streamlit in iusztinpaul/designing-real-world-ai-agents-workshop) into .claude/skills/developing-with-streamlit in your project. Claude Code loads it when a task matches its description.

How do I install Developing With Streamlit in Codex?

Run `npx skills add iusztinpaul/designing-real-world-ai-agents-workshop --skill developing-with-streamlit -a codex`. Or copy the skill folder (.agents/skills/developing-with-streamlit in iusztinpaul/designing-real-world-ai-agents-workshop) into .agents/skills/developing-with-streamlit in your project. Codex loads it when a task matches its description.

Can I use Developing With Streamlit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iusztinpaul/designing-real-world-ai-agents-workshop --skill developing-with-streamlit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/developing-with-streamlit, .gemini/skills/developing-with-streamlit, .github/skills/developing-with-streamlit and .opencode/skills/developing-with-streamlit in your project.

What does Developing With Streamlit need to run?

Going by SKILL.md and its folder, Developing With Streamlit needs Python for the scripts in its folder and the command-line tools its instructions call (streamlit). Our summary lists: Python 3.

Does Developing With Streamlit access the network?

SKILL.md names 2 domains. As links in the text: docs.streamlit.io and streamlit.io. This is read from the text; nothing was executed.

Is Developing With Streamlit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Developing With Streamlit use?

Developing With Streamlit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Developing With Streamlit use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Developing With Streamlit?

Skills that share tags, products or a category with Developing With Streamlit: Developing With Streamlit (streamlit/agent-skills, 223 stars), Refactoring UI (s0xDk/refactoring-ui-skill, 586 stars), Vuetify Skilld (logue/vite-vuetify-ts-starter, 181 stars) and macOS Design (ceorkm/macos-design-skill, 138 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Developing With Streamlit?

iusztinpaul (a GitHub user) maintains it in iusztinpaul/designing-real-world-ai-agents-workshop, which has 513 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on June 3, 2026.

Source: iusztinpaul/designing-real-world-ai-agents-workshop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.