Borrowing it
Nothing to install: this file belongs to iusztinpaul/designing-real-world-ai-agents-workshop. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/iusztinpaul/designing-real-world-ai-agents-workshop/main/.agents/skills/developing-with-streamlit/skills/using-streamlit-custom-components/SKILL.mdgit clone --depth 1 https://github.com/iusztinpaul/designing-real-world-ai-agents-workshopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/iusztinpaul/designing-real-world-ai-agents-workshop/using-streamlit-custom-components)<a href="https://agentmods.dev/skills/iusztinpaul/designing-real-world-ai-agents-workshop/using-streamlit-custom-components"><img src="https://agentmods.dev/badge/skills/iusztinpaul/designing-real-world-ai-agents-workshop/using-streamlit-custom-components/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/iusztinpaul/designing-real-world-ai-agents-workshop/using-streamlit-custom-components"><img src="https://agentmods.dev/badge/skills/iusztinpaul/designing-real-world-ai-agents-workshop/using-streamlit-custom-components.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00036 | $0.01098 |
| Opus 5.5 | $0.00014 | $0.00439 |
| Sonnet 5.5 | $0.00007 | $0.00220 |
| Haiku 4.5 | $0.00004 | $0.00110 |
Grade A, and why
using-streamlit-custom-components scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 171 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Streamlit custom components
Extend Streamlit with third-party custom components from the community.
What are custom components?
Custom components are standalone Python libraries that add features not in Streamlit's core API. They're built by the community and can be installed like any Python package.
Installation
Install using the PyPI package name (not the repo name—they can differ):
uv add <pypi-package-name>
Then import according to the component's documentation. The import name often differs from the package name too.
Use with caution
Components are not maintained by Streamlit. Before adopting:
- Check maintenance - Is it actively maintained? Recent commits?
- Check compatibility - Does it work with your Streamlit version?
- Check popularity - GitHub stars, downloads, community usage
- Consider alternatives - Can you achieve this with core Streamlit?
Custom components can break when Streamlit updates, so prefer core features when possible.
Popular custom components
streamlit-keyup
Text input that fires on every keystroke instead of waiting for enter/blur. Useful for live search.
uv add streamlit-keyup
from st_keyup import st_keyup
query = st_keyup("Search", debounce=300) # 300ms debounce
filtered = df[df["name"].str.contains(query, case=False)]
st.dataframe(filtered)
streamlit-bokeh
Official replacement for st.bokeh_chart (removed from Streamlit API). Maintained by Streamlit.
uv add streamlit-bokeh
from bokeh.plotting import figure
from streamlit_bokeh import streamlit_bokeh
p = figure(title="Simple Line", x_axis_label="x", y_axis_label="y")
p.line([1, 2, 3, 4, 5], [6, 7, 2, 4, 5], line_width=2)
streamlit_bokeh(p)
streamlit-aggrid
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 171 lines · 36 tokens per session scan A 8828566fb927
using-streamlit-custom-components is a skill published in the GitHub repository iusztinpaul/designing-real-world-ai-agents-workshop (517 stars, last pushed 4mo ago), licensed MIT. It adds 36 tokens to every session and 1,098 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
report-helper
A Chinese-language research workflow that searches the internet and produces a formatted PDF report about a specified topic.
happiness-skill
A Chinese-language guide to happiness based on reducing unmet wants, focusing on the present, and treating happiness as a trainable skill.
deck-course-module
A course or workshop slide template with persistent learning goals, teaching pages, multiple-choice self-tests, and a wrap-up.
asc-subscription-localization
Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources. Use when filling or updating subscription/IAP names and descriptions without App Store Connect UI work.
remotion-best-practices
Best practices and domain knowledge for building videos programmatically with Remotion (videos in React/TypeScript, rendered to MP4). Use whenever writing or editing Remotion code — scaffolding a video project, animating with interpolate/spring over useCurrentFrame(), sequencing scenes and transitions…
codex
Run benchmark-selected GPT-5.6 work through the Codex CLI.