joabgonzalez/ai-agents-skills

ag-grid

Advanced data tables with AG Grid. Trigger: When implementing AG Grid tables, configuring features, or creating custom cell renderers.

First seen Feb 4, 2026

Installation

$ npx skills add joabgonzalez/ai-agents-skills --skill ag-grid

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from joabgonzalez/ai-agents-skills · top by installs.

npx skills add joabgonzalez/ai-agents-skills

Browse all from joabgonzalez/ai-agents-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 8
License Apache 2.0
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.1
LicenseApache 2.0
Allowed toolsfile-reader
More metadata
version
1.1
type
library
skills
["react"]
dependencies
{"ag-grid-community":">=29.0.0 <31.0.0","ag-grid-react":">=29.0.0 <31.0.0","react":">=17.0.0 <19.0.0","typescript":">=5.0.0 <6.0.0"}
allowed-tools
["file-reader"]

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,740 B
  • docs SUMMARY.md 149 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 124 installs

SKILL.md

AG Grid

React data tables with sorting, filtering, pagination, inline editing, and Excel-like features. TypeScript typing, accessibility, and virtualization.

Examples use ag-grid-react. Column config API (ColDef, onGridReady) is framework-agnostic — adapt cell renderers to your framework's component syntax for Angular/Vue.

When to Use

  • Data tables with sorting/filtering/pagination
  • Editable grids with inline editing
  • Complex grids with grouping/aggregation
  • High-performance with virtualization
  • Excel-like functionality

Don't use for:

  • Simple tables (use HTML/MUI Table)
  • Non-tabular viz (use charts)
  • Mobile-first (consider simpler)

Critical Patterns

✅ REQUIRED: Use TypeScript Interfaces for Type Safety

// ✅ CORRECT: Typed column definitions
import { ColDef } from "ag-grid-community";

interface RowData {
  id: number;
  name: string;
}

const columnDefs: ColDef<RowData>[] = [{ field: "id" }, { field: "name" }];

// ❌ WRONG: Untyped columns
const columnDefs = [{ field: "id" }, { field: "name" }];

✅ REQUIRED: Use defaultColDef for Common Settings

// ✅ CORRECT: DRY column configuration
const defaultColDef: ColDef = {
  sortable: true,
  filter: true,
  resizable: true,
};

<AgGridReact defaultColDef={defaultColDef} />

// ❌ WRONG: Repeating config for each column
const columnDefs = [
  { field: 'id', sortable: true, filter: true, resizable: true },
  { field: 'name', sortable: true, filter: true, resizable: true },
];

✅ REQUIRED: Enable Accessibility Features

// ✅ CORRECT: Accessibility enabled
<AgGridReact
  enableAccessibility={true}
  suppressMenuHide={false}
/>

Conventions

AG Grid Specific

  • TypeScript interfaces for columns
  • Cell renderers for custom content
  • Apply accessibility best practices: keyboard navigation, screen reader support, ARIA attributes
  • Built-in features over custom
  • Handle loading/error states

Decision Tree

Custom cells?
  → Use cellRenderer/cellRendererFramework

Editable?
  → editable: true, handle onCellValueChanged

Filtering?
  → filter: true or specify type (agTextColumnFilter, agNumberColumnFilter)

Large dataset?
  → rowModelType: 'infinite' for server pagination

Grouping?
  → rowGroup: true on columns

Export?
  → exportDataAsCsv()/exportDataAsExcel()

Performance?
  → Virtualization (default), immutableData: true for React

Example

import { ColDef } from 'ag-grid-community';
import { AgGridReact } from 'ag-grid-react';

interface RowData {
  id: number;
  name: string;
  value: number;
}

const columnDefs: ColDef<RowData>[] = [
  { field: 'id', headerName: 'ID' },
  { field: 'name', headerName: 'Name', sortable: true },
  { field: 'value', headerName: 'Value', filter: 'agNumberColumnFilter' }
];

<AgGridReact<RowData>
  rowData={data}
  columnDefs={columnDefs}
  defaultColDef={{ flex: 1, minWidth: 100 }}
/>

Edge Cases

  • Empty data → appropriate messaging
  • Loading states during fetch
  • Error boundaries for failures
  • Resize events properly
  • Test keyboard navigation

Resources