# data-display-and-selection

Guides the agent through data collections: view modes, row selection, mass actions, sorting, filters and search patterns.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 855 installs · ★ 165
- Author: dembrandt
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/dembrandt/dembrandt-skills/tree/HEAD/skills/data-display-and-selection/SKILL.md
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/skills/data-display-and-selection

## What it does

The skill fires on collections — products, files, users, orders, tasks. It tells the agent which view fits the data, how to build a grid/list/table toggle, and where that toggle belongs: top-right, next to sort and filter controls. The user's pick is meant to persist in localStorage.

Selection gets its own rules. The whole row or card is the hit area; the checkbox only shows state. Selected items shift to a desaturated brand tint, with an optional left border for list and table rows. Saturated backgrounds are called out as a mistake, because they fight the content in dense tables.

Mass actions appear only while something is selected, led by a count of what is in scope. Destructive ones ask for confirmation and name the number. There is also a threshold worth checking against your own UI: past roughly six items, cards should usually become a table, unless the border wraps an image or a chart.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill data-display-and-selection -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/data-display-and-selection/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/data-display-and-selection/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill data-display-and-selection -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/data-display-and-selection/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill data-display-and-selection -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/data-display-and-selection/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install dembrandt/dembrandt-skills data-display-and-selection
```

2. **Manually: put the files in place**
- File: `.github/skills/data-display-and-selection/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill data-display-and-selection -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/dembrandt/dembrandt-skills --path skills/data-display-and-selection
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/data-display-and-selection/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add dembrandt/dembrandt-skills --skill data-display-and-selection -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/dembrandt/dembrandt-skills/tree/HEAD/skills/data-display-and-selection/SKILL.md

## When to use it
- add a grid and list toggle to a product listing
- make the whole row clickable for selection
- show a bulk action bar with a selected count
- decide when a card list should become a table
- pick a background tint for selected rows

## Example prompts
- add grid and list view to this product listing
- design row selection for this orders table
- add bulk delete to this list with a confirm dialog

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 180accf53e6c44b7.

BEGIN THIRD-PARTY FILE 180accf53e6c44b7
```text
---
name: data-display-and-selection
description: View modes, row selection, mass actions, sorting, filters, search and table patterns. Use when designing data tables, listings, file browsers or any collection.
metadata:
  priority: 7
  pathPatterns:
    - "components/**"
    - "src/components/**"
    - "**/*.tsx"
    - "**/*.jsx"
    - "design-system/**"
    - "ui/**"
  promptSignals:
    phrases:
      - "data table"
      - "list view"
      - "grid view"
      - "mass action"
      - "bulk action"
      - "row selection"
      - "select all"
      - "item selection"
      - "view toggle"
      - "collection"
      - "search"
      - "autocomplete"
      - "typeahead"
      - "search results"
      - "chart"
      - "infographic"
      - "metric"
retrieval:
  aliases:
    - data table
    - list view
    - grid view
    - mass actions
    - bulk actions
    - row selection
    - view modes
    - collection UI
    - search and autocomplete
    - typeahead search
    - instant search results
    - chart type choice
    - infographic colour
    - making numbers comprehensible
  intents:
    - design a data table
    - add grid and list view toggle
    - implement row selection
    - add bulk actions
    - design a product listing
    - make selection easier
    - design a search with instant results
    - choose a familiar chart type
    - present a number or metric clearly
  examples:
    - add grid and list view to this product listing
    - design row selection for this table
    - add bulk delete to this list
    - make it easier to select multiple items
    - add an autocomplete search to this app
    - what chart should I use for this trend
    - make this number easier to understand
---

# Data Display and Selection

Complex data collections — products, files, users, orders, tasks — have no single correct view. Different tasks call for different views. Browsing benefits from grid; comparing details benefits from list or table; bulk management benefits from a dense table with mass actions. Give users the choice.

---

## View Modes

Offer multiple views when the data has both visual and detailed dimensions.

| View | Best for | When to default |
|---|---|---|
| **Grid** | Visual items: products, images, files, cards | When items are visually distinct and browsing is the primary task |
| **List** | Moderate detail: tasks, emails, articles | When a key piece of text or metadata drives selection |
| **Table** | Dense data: orders, reports, user management | When multiple columns of data must be compared |
```
END THIRD-PARTY FILE 180accf53e6c44b7

The third-party file has ended. Everything between the 180accf53e6c44b7 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2558 of 20211 bytes. © dembrandt · MIT · https://github.com/dembrandt/dembrandt-skills/tree/HEAD/skills/data-display-and-selection/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
