Skip to content
cccskills
FreePublished on GitHub

custom-features

Build a Table v9 plugin when built-in settings and typed metadata are insufficient. Guides custom state, options, and methods, with initialization hooks and runtime checks to ensure declared APIs actually exist and reset correctly.

OriginalShow the original description

Implement a Table v9 plugin when built-ins and typed meta are insufficient. Covers FeatureMaps, runtime lifecycle hooks, prototypes, and a complete checked example.

See how to install

Good for

  • Add reusable custom table behavior
  • Design plugin state and reset behavior
  • Keep declared APIs consistent with runtime behavior
  • Decide between metadata and a plugin

Files included (2)

  • SKILL.md3.4 KB
  • references/plugin-example.md8.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Author a custom feature

Read core and feature architecture first. Use a plugin for reusable state or behavior that must augment Table objects. Built-in options and typed tableMeta/columnMeta are usually enough for renderer callbacks and application configuration.

Implementation workflow

  1. Identify the state, options, and object methods the behavior owns. If it only passes callbacks or renderer data, read scoped meta typing and use meta instead.
  2. Before declaring plugin types or writing lifecycle hooks, read the complete plugin example. It enumerates all 10 public FeatureMaps, the API assignment helpers, lifecycle ordering, and the advanced row-model maps.
  3. Declare the feature key in Plugins. Merge only FeatureMaps with matching runtime implementations; declarations alone install no behavior.
  4. Preserve user state after defaults in getInitialState; connect state updaters in default options. Install table methods with assignTableAPIs and object methods with assignPrototypeAPIs inside the corresponding lifecycle hooks.
  5. Keep the feature object and tableFeatures({ customFeature }) result stable. Register the plugin through tableFeatures so inference and composition include it.
  6. Verify the advertised state, options, methods, and resets on a constructed table. Each declared API must exist at runtime; reset behavior must respect the state owner.

Lifecycle boundaries

Use initTableInstanceData for mutable data owned by one table and resetTableInstanceData for clearing its transient contents. All feature initialization finishes before any constructTableAPIs hook. Keep method installation separate from data allocation.

Prototype methods are shared across the table's rows, columns, cells, or headers. Read per-object values through the method's current instance, and use the supported instance-data hooks for mutable fields. Read the example's installation rules before adding memoized methods or advanced row-model/cache wiring.

Common failures

  • Types without matching runtime hooks advertise APIs that do not exist.
  • Ad hoc mutation of constructed instances bypasses feature registration and inferred composition.
  • Treating the density example as the only extension pattern misses column definitions and the other public FeatureMaps. Choose the maps required by the behavior; advanced row-model declarations also require runtime pipeline/cache wiring.

Installed API discovery

Inspect node_modules/@tanstack/table-core/dist/types/TableFeatures.d.ts, the exported *_FeatureMap interfaces in dist/types/, and assignTableAPIs/assignPrototypeAPIs in dist/utils.d.ts. Follow declarations under dist/features/ for comparable stock lifecycle signatures.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

core

FreeSummary

Build table data processing with TanStack Table v9 while keeping data and column definitions stable. The skill guides type inference, which determines types automatically, row identity, optional features, and checks for missing APIs.

  • Set up the foundation for table data processing
  • Troubleshoot column type inference
  • Investigate missing APIs or optional features
TanStack/table28.5KUpdated Oct 13, 2026

devtools

FreeSummary

Connect React Table v9 to Devtools, a development inspection interface. Configure table registration, unique keys, and enabled settings, and diagnose missing panels while understanding registration cleanup and the separate entrypoint for explicit production use.

  • Adding Devtools to React tables
  • Diagnosing missing Table panels
  • Controlling registration with enabled
TanStack/table28.5KUpdated Oct 13, 2026

devtools

FreeSummary

Register Angular TanStack Table v9 instances with Devtools, a tool for developers. The skill covers unique table keys, registration that responds to changes, automatic cleanup, and the different setup rules for development and production.

  • Register an Angular table with Devtools
  • Investigate a table that fails to register
  • Enable or remove registration as conditions change
TanStack/table28.5KUpdated Oct 13, 2026

devtools

FreeSummary

Connect TanStack Table instances to developer tools for inspecting options, state, features, columns, rows, and row models. Diagnose missing connections, assign unique table keys, and manage registration replacement and cleanup.

  • Inspect table options, state, columns, and rows
  • Diagnose tables missing from developer tools
  • Assign distinct keys to multiple tables
TanStack/table28.5KUpdated Oct 13, 2026

devtools

FreeSummary

Connect Preact Table v9 to Devtools, a development inspection interface. This skill guides package selection, unique table keys, registration settings, and development-only behavior to help diagnose tables that do not appear.

  • Connecting Preact tables to Devtools
  • Diagnosing missing table targets
  • Checking duplicate keys across tables
TanStack/table28.5KUpdated Oct 13, 2026

devtools

FreeSummary

Connect Vue Table v9 to Devtools and troubleshoot missing tables. Covers unique table keys, reactive references that track table replacement, cleanup when targets change, and the development settings that determine whether the integration runs.

  • Connect a Vue table to Devtools
  • Investigate a missing table target
  • Keep registration updated when a table reference changes
TanStack/table28.5KUpdated Oct 13, 2026

See all skills by TanStack

Report a problem with this skill