Skip to content

Add Shiny Python dashboard skill#29

Open
karangattu wants to merge 1 commit intomainfrom
add-py-shiny-dashboard-skills
Open

Add Shiny Python dashboard skill#29
karangattu wants to merge 1 commit intomainfrom
add-py-shiny-dashboard-skills

Conversation

@karangattu
Copy link

Add a comprehensive style guide and reference docs for building polished Shiny (Python) dashboards. SKILL.md contains critical rules (icon usage, layout hierarchy, value box/card conventions, number formatting), Core and Express quick-start examples, and best practices for charts and responsive grids. Six reference files (components.md, core-vs-express.md, icons-and-maps.md, layout-and-navigation.md, reactivity-and-rendering.md, styling-and-data.md) provide detailed patterns for components, imports/usage differences, icons/maps, navigation, reactivity/rendering, and styling/data-loading to ensure consistent, maintainable dashboards.

Add a comprehensive style guide and reference docs for building polished Shiny (Python) dashboards. SKILL.md contains critical rules (icon usage, layout hierarchy, value box/card conventions, number formatting), Core and Express quick-start examples, and best practices for charts and responsive grids. Six reference files (components.md, core-vs-express.md, icons-and-maps.md, layout-and-navigation.md, reactivity-and-rendering.md, styling-and-data.md) provide detailed patterns for components, imports/usage differences, icons/maps, navigation, reactivity/rendering, and styling/data-loading to ensure consistent, maintainable dashboards.
@karangattu karangattu changed the title Add Shiny Python dashboard guide and references Add Shiny Python dashboard skill Mar 3, 2026
@@ -0,0 +1,329 @@
````skill

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's going on here with this skill code chunk? I think this should be removed, but I'm not sure.

Suggested change
````skill

**Styling & data loading**: See [references/styling-and-data.md](references/styling-and-data.md)
**Icons & maps**: See [references/icons-and-maps.md](references/icons-and-maps.md)
**Core vs Express**: See [references/core-vs-express.md](references/core-vs-express.md)
````

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
````

Comment on lines +138 to +163
---

## Pandas vs Polars

Both are supported across templates. Choose based on ecosystem needs.

### Polars filtering (method chaining)

```python
tips.filter(
pl.col("total_bill").is_between(bill[0], bill[1]),
pl.col("time").is_in(input.time()),
)
```

### Pandas filtering (boolean indexing)

```python
idx = (df["GP"] >= games[0]) & (df["GP"] <= games[1])
return df[idx]
```

| Library | Used in |
|---|---|
| Polars | `dashboard-tips` |
| Pandas | `nba-dashboard`, `stock-app`, `basic-sidebar`, `basic-navigation` |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you could drop this.

Suggested change
---
## Pandas vs Polars
Both are supported across templates. Choose based on ecosystem needs.
### Polars filtering (method chaining)
```python
tips.filter(
pl.col("total_bill").is_between(bill[0], bill[1]),
pl.col("time").is_in(input.time()),
)
```
### Pandas filtering (boolean indexing)
```python
idx = (df["GP"] >= games[0]) & (df["GP"] <= games[1])
return df[idx]
```
| Library | Used in |
|---|---|
| Polars | `dashboard-tips` |
| Pandas | `nba-dashboard`, `stock-app`, `basic-sidebar`, `basic-navigation` |

Copy link

@cpsievert cpsievert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some ideas in here that I like (core vs express, express examples, etc), but it also feels too targeted at the eval we've been working on in a way that's difficult to unravel.

Based on what we've seen with Opus 4.6, it seems to already have a pretty good grasp on how Shiny works. It feels like it might do a pretty good job with the skill-creator skill and relatively little direction/context? If not, maybe we point it at the website and ask it to distill some of the general concepts + best practices from there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants