
Claude Skills by deeleeramone
github.com/deeleeramoneWhen to reach for PyWry MCP tools (native webview rendering, Plotly, TradingView, AgGrid, chat) instead of writing Flask/Streamlit/Dash/Electron code. Use at the start of any task involving interactive UI, dashboards, charts, or chat widgets driven from Python.
> Add OAuth2 authentication to PyWry apps — Google, GitHub, Microsoft, or any OIDC provider.
Autonomous PyWry application building using LLM sampling, elicitation, and progress reporting.
> **Read this before creating chat widgets.**
How an agent operates inside a PyWry chat widget — reading user messages, attachments, @-context, tool-call result cards, edit/resend, settings changes.
> **STOP. THIS IS THE AUTHORITATIVE REFERENCE FOR ALL COMPONENTS.** > **YOU MUST USE THE EXACT EVENT SIGNATURES DOCUMENTED HERE.** > **THERE ARE NO EXCEPTIONS. NO WORKAROUNDS. NO DEVIATIONS.** ---
> Target elements for `set_content` and `set_style` updates using CSS selectors or component IDs.
> Best practices for creating charts, tables, and live data displays.
> **CRITICAL**: This mode is for **production servers** serving multiple concurrent users. > Widgets are stateless. State lives externally. Scale horizontally.
The PyWry event system — namespaced events, request/response round-trips, widget IDs, component IDs, and how tool results flow back to the agent.
> Building interactive forms with validation and collecting user input.
> **CRITICAL**: This mode is for widgets **embedded as iframes in external web pages**. > This is **NOT** a native window. This is **NOT** Jupyter. The widget is sandboxed.
> **STOP. READ THIS ENTIRE FILE BEFORE CREATING ANY WIDGET.**
This skill covers building PyWry widgets for Jupyter notebooks via MCP tools. There are **two approaches** for displaying widgets in Jupyter: | Approach | Best For | Requires | |----------|----------|----------| | **AnyWidget** (recommended) | Native Jupyter integration, bidirectional comms | `pip install 'pywry[notebook]'` | | **IFrame** (fallback) | When anywidget unavailable | MCP server in headless mode | ---
> **STOP. READ THIS ENTIRE FILE BEFORE CREATING MODALS.**
> **CRITICAL**: This is a **native desktop application** using PyWry/WRY (Rust WebView). > This is **NOT** a browser. This is **NOT** Jupyter. This is **NOT** an iframe.
> Style widgets using CSS variables, theme colors, and dynamic style updates.
Drive a live TradingView Lightweight Charts widget end-to-end via PyWry MCP tools — symbol, interval, indicators, markers, price lines, layouts, state.